1. Dashboard
  2. Mitglieder
    1. Letzte Aktivitäten
    2. Benutzer online
    3. Team
    4. Mitgliedersuche
  3. Forenregeln
  4. Forum
    1. Unerledigte Themen
  • Anmelden
  • Registrieren
  • Suche
Alles
  • Alles
  • Artikel
  • Seiten
  • Forum
  • Erweiterte Suche
  1. AutoIt.de - Das deutschsprachige Forum.
  2. Mitglieder
  3. BugFix

Beiträge von BugFix

  • SciTE - Option "MustDeclareVars" mittels Property automatisch setzen

    • BugFix
    • 3. Januar 2019 um 22:38
    Zitat von Bitnugger

    Kannst du nicht überprüfen, ob die zu speichernde Datei noch nicht exisitiert (dann wäre es ein selbst erstelltes Scripts), und nur dann die Zeile einfügen, wenn Opt.MustDeclareVars.au3=1 ist?

    Ja, tatsächlich - das geht. :party: --- Werde ich noch einfügen. Füge dann als Option eine Property zum Überprüfen aller Skripte ein.

    Aber kannst du mal testen, ob TimeStamp bei dir noch funktioniert, wenn du dieses Skript aktivierst?

    Eigentlich ist das egal, wenn ich in verschiedenen Skripten dieselbe interne Funktion (OnBeforeSave) mehrfach aufrufe. Intern landet sowieso jedes Skript beim Laden in einem Globalen Array. Die Aufrufe der Event-Funktionen landen dann auf einem Stack und werden nacheinander abgearbeitet.

    Bei mir ist jetzt folgender Effekt:

    In SciTEStartup.lua:

    - Aufruf TimeStamp.lua und danach Aufruf MustDeclare.lua: Nur das Skript für MustDeclare wird ausgeführt

    - Aufrufreihenfolge umgekehrt: Nur TimeStamp wird ausgeführt

    Also immer das zuletzt geladene Skript wird verwendet.

    Das habe ich noch nie erlebt. Ich verwende die Event-Funktionen dutzendfach (z.B. in meiner OHK.lua und den zugehörigen Funktionen) ohne jede Kollision. Im Moment habe ich dafür keine Erklärung. Mal drüber schlafen.

  • SciTE - Option "MustDeclareVars" mittels Property automatisch setzen

    • BugFix
    • 3. Januar 2019 um 16:08
    Zitat von Moombas

    Ich habe in deiner Au3OptMustDeclareVars.lua den Eintrag local mustdeclare = tonumber(props["Opt.MustDeclareVars.au3"]) or 0 geändert in local mustdeclare = tonumber(props["Opt.MustDeclareVars.au3"]) or 1. Jetzt gehts!

    Sehr seltsam. Properties sind immer Text, deshalb wandele ich den gelesenen Wert in eine Zahl und weise den Wert 0 zu, falls die Property nicht existiert. Dann gibt tonumber() nämlich "nil" zurück. val = x or y bewirkt, dass x übernommen wird, aber wenn x = nil, wird y übernommen.

    Dein Eintrag bewirkt jetzt, dass ohne Property immer die Option gesetzt wird.

  • SciTE - Option "MustDeclareVars" mittels Property automatisch setzen

    • BugFix
    • 3. Januar 2019 um 15:49
    Zitat von Musashi

    Aktiviert man die LUA Skripte, dann wird beim Speichern eines .au3-Skriptes die Zeile Opt("MustDeclareVars", 1)


    eingetragen, oder ? Das betrifft dann aber auch Fremdskripte (z.B. aus dem Forum), die ohne die Option MustDeclareVars=1 erstellt wurden.

    Folge : Speichert man solche Skripte, bekommt man später haufenweise Syntaxerrors.

    Genau, das gilt für alle Skripte - aber nur, wenn du diese speicherst. Das Öffnen und Ansehen ändert nichts am Skript und somit sehe ich da auch kein Problem.

    Ich habe aber bereits vor Jahren ein Skript veröffentlicht, das alle Variablen eines Skriptes nachträglich deklariert.

  • SciTE - Option "MustDeclareVars" mittels Property automatisch setzen

    • BugFix
    • 3. Januar 2019 um 15:05

    Wo der Eintrag in der SciTEUser.properties steht ist schnurz. Das "am Anfang" bezog sich auf die Ergänzung des Startup-Luaskripts um die Nutzung eines eigenen Lua-Ordners.

    Deine Einträge sind soweit OK.

    Aber (hatte ich vergessen explizit zu erwähnen) - hast du SciTE auch neu gestartet? :whistling:

  • SciTE - Option "MustDeclareVars" mittels Property automatisch setzen

    • BugFix
    • 3. Januar 2019 um 13:50

    In der Shoutbox tauchte die Frage auf, ob es eine Einstellung gibt, dass AutoIt-Skripte immer die Option "MustDeclareVars" enthalten.

    Das ist nicht vorgesehen. Eine Lösung wären Abbrevs (muss man also zumindest einmal in jedem Skript ausführen). Die andere Variante stelle ich hier mit einem Lua-Skript bereit:

    Das Ereignis OnBeforeSave wird dazu ausgewertet in Abhängigkeit von einer Property, die wir in der SciTEUser.properties hinterlegen.

    Das Skript wird aktiv, sowie ein au3-Skript gespeichert wird.

    EDIT: Per Property lässt sich jetzt einstellen, ob die Optionsprüfung nur bei neuen Skripts (1) oder bei jedem Skript(2), das in SciTE geöffnet, und dann gespeichert wird Anwendung findet.

    EDIT_2: Zusätzlich kann gewählt werden, ob bei neuen Skripten die Option in Zeile 1 oder (wenn vorhanden) hinter dem TimeStamp eingefügt wird. Dazu muss in der SciTEStartup.lua in der Reihenfolge zuerst das TimeStamp-Skript aufgerufen werden. -- Aktuelle Version: v 0.2

    - Opt.MustDeclareVars.au3=0 (oder Eintrag nicht vorhanden)

    Option ist im Text mit Flag "0" - keine Aktion / mit Flag 1 - Flag wird auf "0" gesetzt

    Option ist nicht im Text - keine Aktion

    - Opt.MustDeclareVars.au3=1

    Neue Datei wird gespeichert - Option wird an Position 0 (erste Zeile) eingefügt

    - Opt.MustDeclareVars.au3=2

    Bei allen au3-Skripten wird die Optionsprüfung durchgeführt

    Die erste sichtbare Zeile im Editor und ebenso die Cursorposition bleiben unverändert.

    Code: SciTEUser.properties
    #~ au3-Skripte ohne/mit(nur neue Datei)/mit(jede Datei) Option "MustDeclareVars" (0/1/2) speichern
    Opt.MustDeclareVars.au3=1
    #~ Nur bei Neuskripten UND wenn zuerst TimeStamp gesetzt wird (Aufrufreihenfolge in SciTEStartup.lua)
    #~ Option einfügen in Zeile hinter TimeStamp (und Leerzeile): "1", sonst erste Zeile: "0" (oder Property nicht besetzt/vorhanden)
    Opt.MustDeclareVars.TimeStamp.First=1

    Das Lua-Skript Au3OptMustDeclareVars.lua speichert ihr in eurem Skriptordner mit den Lua-Dateien.

    Die Datei muss nun noch im Startupskript (SciTEStartup.lua) hinterlegt werden.


    Habt ihr einen eigenen Ordner für Lua-Skripte (empfohlen), dann muss dieser über eine Property in der SciTEUser.properties benannt werden und beim Startup geladen werden (Eintrag AM ANFANG):

    EDIT: Der Teil mit "LUA_USER_PATH" ist jetzt ZWINGEND erforderlich.

    Code: SciTEStartup.lua
    local sUserLua = props["Lua.User.Scripts.Path"]
    
    LUA_USER_PATH = sUserLua .. "\\?.dll;" .. sUserLua .. "\\?\\?.dll;"
    package.cpath = LUA_USER_PATH .. package.cpath
    
    LUA_USER_LUA = sUserLua .. "\\?.lua;" .. sUserLua .. "\\?\\?.lua;"
    package.path = LUA_USER_LUA .. package.path

    Um nicht immer den kpl. Pfad beim Laden angeben zu müssen empfiehlt es sich eine Funktion zum Laden der Userskripte AM ENDE des Startup-Skriptes einzufügen:

    Code: SciTEStartup.lua
    --------------------------------------------------------------------------------
    --  Calls LoadLuaFile() with directory from Lua-User-Script property
    --------------------------------------------------------------------------------
    function LoadUserLuaFile(file)
        LoadLuaFile(file, props["Lua.User.Scripts.Path"] .. "\\")
    end    -- LoadUserLuaFile()
    --------------------------------------------------------------------------------
    
    LoadUserLuaFile("Au3OptMustDeclareVars.lua")

    EDIT: Es wird jetzt die Shell.dll für SciTE-Lua verwendet. Das Einbinden externer Bibliotheken habe ich hier im Detail beschrieben. Den Ordner shell in den Ordner mit den Lua-Skripten kopieren. Und dann, wie im verlinkten Thread beschrieben, die dll registrieren. Die angehängte ZIP entpacken und den Ordner umbenennen zu shell. (Ordnername und Dll-Name müssen identisch sein.


    Falls ihr das Lua-Skript in den Lua-Ordner in SciTE speichert, muss AM ENDE der Startdatei eingefügt werden: LoadLuaFile("Au3OptMustDeclareVars.lua")

    EDIT: Hatte ich vergessen zu erwähnen - SciTE muss neu gestartet werden!

    Dateien

    shellDLL.zip 38,39 kB – 565 Downloads Au3OptMustDeclareVars[0.2].lua 2,69 kB – 614 Downloads
  • Alter neuer PC gesucht

    • BugFix
    • 31. Dezember 2018 um 10:11

    Ich denke mal, Andy meinte kein Systemimage, sondern ein Installationsimage. In dieses Image lassen sich vorab zusätzliche Treiber einbinden. Im Installationsvorgang erschien da früher die Meldung "Für zusätzliche Treiber drücken Sie Fx" - diese mussten dann per Diskette bereitgestellt werden.

  • Adlibregister() vs. Timer

    • BugFix
    • 30. Dezember 2018 um 15:03

    Ich handhabe das so:

    - Adlibintervall ist abgelaufen

    - Adlibfunktion wird gestartet

    - erster Befehl in der Funktion ist das UnRegister der Adlibfunktion (kann sich somit nicht selbst überschneiden)

    - dann die anderen Befehle

    - als letztes wieder Register der Adlibfunktion

  • MouseClick() ist nicht gleich Mausklick?

    • BugFix
    • 28. Dezember 2018 um 14:54

    Sagte ich doch - es ist völlig schnuppe, was du mit den Mausfunktionen anstellst - diese Info landet nicht in der Nachrichtenkette, auf die CursorInfo zugreift.

  • Logging und Debugging verbinden

    • BugFix
    • 28. Dezember 2018 um 14:49
    Zitat von aSeCa

    Hey Moombas, so habe ich mir das auch vorgestellt. Hatte nur die Hoffnung, dass man das vereinfachen kann... Ich schreibe doch recht kurze Funktionen zwecks Wiederverwendbarkeit und das verdoppelt ja fast die Zeilen des Codes (nicht ganz, aber du weißt schon).

    Wenn sich da keiner mit einer Erleuchtung in Richtung Automatik meldet, werde ich das wohl mal genauso starten, wie du es vorgeschlagen hast.

    Du musst doch nur die Funktionsaufrufe in einer Funktion covern, die dann die Werte aus dem Aufruf in das Log schreibt und die Funktion startet.

    Hier mal auf die Schnelle (ungetestet) für Funktionen bis 5 Parameter (kannst du beliebig erweitern, das Muster sollte klar sein).

    C
    ; Bsp. Aufruf von z.B. "_Draw($hWnd, $x, $y)":    _Call_and_Log('_Draw', _Draw, $hWnd, $x, $y)
    ; LogFile liegt als Global vor ($ghLog) und ist (sinnvollerweise) als Handle zum Schreiben (Anhängen) geöffnet
    
    Func _Call_and_Log($_sFunc, $_pFunc, $_p1=Null, $_p2=Null, $_p3=Null, $_p4=Null, $_p5=Null)
        Local $sCall
        If $_p1 = Null Then
            $sCall = $_sFunc & '( )'
            FileWrite($ghLog, $sCall & @CRLF)
            $_pFunc()
        ElseIf $_p2 = Null Then
            $sCall = $_sFunc & '( ' & $_p1 & ' )'
            FileWrite($ghLog, $sCall & @CRLF)
            $_pFunc($_p1)
        ElseIf $_p3 = Null Then
            $sCall = $_sFunc & '( ' & $_p1 & ', ' & $_p2 & ' )'
            FileWrite($ghLog, $sCall & @CRLF)
            $_pFunc($_p1, $_p2)
        ElseIf $_p4 = Null Then
            $sCall = $_sFunc & '( ' & $_p1 & ', ' & $_p2 & ', ' & $_p3 & ' )'
            FileWrite($ghLog, $sCall & @CRLF)
            $_pFunc($_p1, $_p2, $_p3)
        ElseIf $_p5 = Null Then
            $sCall = $_sFunc & '( ' & $_p1 & ', ' & $_p2 & ', ' & $_p3  & ', ' & $_p4 & ' )'
            FileWrite($ghLog, $sCall & @CRLF)
            $_pFunc($_p1, $_p2, $_p3, $_p4)
        Else
            $sCall = $_sFunc & '( ' & $_p1 & ', ' & $_p2 & ', ' & $_p3  & ', ' & $_p4   & ', ' & $_p5 & ' )'
            FileWrite($ghLog, $sCall & @CRLF)
            $_pFunc($_p1, $_p2, $_p3, $_p4, $_p5)
        EndIf
    EndFunc
    Alles anzeigen
  • MouseClick() ist nicht gleich Mausklick?

    • BugFix
    • 28. Dezember 2018 um 14:25

    Eine per ControlClick oder MouseClick ausgelöste Mausaktion ist nicht identisch mit einem physischen Mausklick. Die Informationen landen nicht in der GuiCursor-Abfrage aus der du die Ctrl-ID abfragst. Da musst du eine eigene Funktuin registrieren, die die Aktivitäten im Treeview prüft und entsprechend reagiert.

    EDIT: Moombas war schneller.

  • Wie auf Struct zugreifen?

    • BugFix
    • 26. Dezember 2018 um 08:08

    Schau mal in meine Signatur, dafür habe ich ein Tut erstellt.

  • Imagesearch crashed nach Hotkey Autoit

    • BugFix
    • 24. Dezember 2018 um 18:37

    Asatru

    Du wärst der erste, der zum Erlernen einer Programmiersprache mal eben so sich an _ImageSearch versucht. Ohne spezielles Interesse kommt niemand in die Versuchung, diese Funktion zu verwenden.

    Die Schilderung deines Problems klingt so, als wäre dieses aufgrund unserer Nachfrage im Nachhinein konstruiert worden.

    In den letzten 10 Jahren habe ich hier im Forum keine "sinnvolle" Verwendung dieser Funktion in Erinnerung.

    Sollten wir uns irren - überzeuge uns. Aber irren wir uns denn? :whistling:

  • Alter neuer PC gesucht

    • BugFix
    • 22. Dezember 2018 um 22:02

    Das Thema Sicherheitspatches ist eine reine Scheindiskussion. Einziges Ziel: Den Kauf neuer Produkte fördern.

    Überlegt mal, was ständig überall zu lesen war, wie schlimm es doch den WinXP-Nutzern nach Auslaufen der Sicherheitspatches gehen würde. Sodom und Gomorra waren zu erwarten. Doch was geschah? - Genau: ABSOLUT NICHTS!

    Das Gefährdungspotenzial ist für ein XP-System nicht marginal angestiegen. Denn die größte Gefährdungsquelle sitzt immer noch 60 cm vorm Monitor.

  • WMI: Alle Property's

    • BugFix
    • 20. Dezember 2018 um 13:17

    Dann nimm doch den Weg über PS. Ist doch kein Aufwand:

    C
    ConsoleWrite(_PowerShell_Run('Get-WmiObject -Class "Win32_PnPSignedDriver" -Namespace "root\CIMV2" | Get-Member', 1) & @CRLF)
    
    Func _PowerShell_Run($_sCmd, $_iOutput=0)
        Local Const $sKey32 = "HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell"
        Local Const $sKey64 = "HKEY_LOCAL_MACHINE\SOFTWARE\Wow6432Node\Microsoft\PowerShell\1\ShellIds\Microsoft.PowerShell"
        Local Static $sKey = @CPUArch = 'X64' ? $sKey64 : $sKey32
        Local Static $sPSexe = RegRead($sKey, 'Path')
        Local $sPathTMP = StringFormat('%s\__%s%s%s%s%s%s%s.ps1', @TempDir, @YEAR, @MON, @MDAY, @HOUR, @MIN, @SEC, @MSEC)
        Local $fH = FileOpen($sPathTMP, 2+8+128)
        FileWrite($fH, $_sCmd)
        FileClose($fH)
        Local $sRun = StringFormat('%s -ExecutionPolicy UnRestricted -File %s', $sPSexe, $sPathTMP)
        Local $sOut = '', $iPID = Run($sRun, @ScriptDir, @SW_HIDE, 0x2)
        If $_iOutput = 1 Then
            Do
                $sOut &= StdoutRead($iPID)
            Until @error
            StdioClose($iPID)
        Else
            While ProcessExists($iPID)
                Sleep(350)
            WEnd
        EndIf
        FileDelete($sPathTMP)
        Return ($_iOutput = 1 ? $sOut : 1)
    EndFunc
    Alles anzeigen
  • Kopiertool

    • BugFix
    • 20. Dezember 2018 um 13:03
    Zitat von kayes

    Kann ich die Parameter nicht so setzen das der String aus dem Eingabefeld übernommen wird

    Dann solltest du aber die ID des Eingabefeldes auch speichern.

    Code
    $IDedit = GuiCtrlCreateEdit(...)
    GuiCtrlSetData($IDedit, "19")   ; wenn diese Anweisung DIREKT nach der Erstellung des Ctrl erfogt, kann statt $IDedit auch -1 übergeben werden
    Global $Projektdown = GuiCtrlRead($IDedit)  ; um den Inhalt des Ctrl zu bekommen, musst du es auslesen.
  • _GUICtrlListView_AddArray benötigt auf meinem Quad-Core 7x mehr Zeit als auf einem alten Dual-Core?!

    • BugFix
    • 20. Dezember 2018 um 12:40

    Wollte gerade Testen: Aber ich habe noch nicht die "WinAPIMem.au3" in meiner Version - entstammt wohl der aktuellen Stable? (3.3.14.2 bei mir)

  • Dt.au3 - Funktionssammlung zu Berechnung und (umfangreicher) Formatierung von Datumswerten

    • BugFix
    • 20. Dezember 2018 um 12:09

    Angefangen hatte ich hiermit schon vor langem, mit der Intention zu Testen, ob man dieses Julian-Date (auf dem die Date.au3 basiert) überhaupt benötigt. Und siehe da - es geht auch so. Alle Datumsoperationen aus der Date.au3 lassen sich auf der Basis "Tag-Im-Jahr" ebenso ausführen. Die hier verwendeten Funktionen sind somit alle auch neu entstanden und keine 'Plagiate' aus der Date.au3.

    Ich finde Kalender sind ein interessanter Gegenstand zum Skripten. Dabei bemerkt man dann aber, dass die Date.au3 einige für Kalender gängige Werte nicht liefern kann ( Datum_ist_TagNr_im_Jahr, TagNr_ist_Datum_im_Jahr, Anzahl_KW_im_Jahr, zu_welchem_Kalenderjahr_gehört_KW ) . Somit habe ich diese Funktionssammlung erstellt, die neben den vorgenannten Funktionen auch umfangreiche Möglichkeiten bietet, die Datumswerte zu formatieren. Ideal für Kalender und auch Textbausteine.

    Berechnung von Zeit, wie in der Date.au3, habe ich bewusst nicht integriert.

    EDIT: v0.2

    - Korrektur Fehlerabfrage

    Dateien

    Dt[0.2].au3 46,99 kB – 435 Downloads Dt_Bsp.au3 9,1 kB – 423 Downloads
  • Zu : Funktion _Number() von BugFix

    • BugFix
    • 17. Dezember 2018 um 22:46
    Zitat von Bitnugger

    sollten +123 und + 123 es auch sein...

    Klingt nicht unvernünftig. Ich editiere das mal noch in der Funktion.

  • Zu : Funktion _Number() von BugFix

    • BugFix
    • 16. Dezember 2018 um 10:36
    Zitat von Bitnugger

    Wenn $_Expression ein String ist, liefert Number() und auch deine Funktion _Number() im zweiten Fall (mit Leerzeichen) allerdings 0 als Ergebnis...

    Erkennung des Leerzeichens war drin - aber die getrennte Behandlung dieses Falles nicht. Man möge es meinem Alter zugute halten. :D Ist jetzt korrigiert im Startpost.

  • Kopiertool

    • BugFix
    • 15. Dezember 2018 um 11:51

    So wird es nicht funktionieren, dein If-Then-Else-Statement ist so nicht möglich.

    Es wäre hier auch besser Arrays zu verwenden.

    Ungetestet:

    C
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    
    ;~ Global $varsource1 = "F:\TESTUMGEBUNG\RECHNER1\Daten\%jjjj%\%projekt%\*"
    ;~ Global $varsource2 = "F:\TESTUMGEBUNG\RECHNER2\Daten\%jjjj%\%projekt%\*"
    ;~ Global $varsource3 = "F:\TESTUMGEBUNG\RECHNER3\Daten\%jjjj%\%projekt%\*"
    ;~ Global $varsource4 = "F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\%jjjj%\%projekt%\Berechnungen\*"
    ;~ Global $vardestin1 = "F:\TESTUMGEBUNG\RECHNER1\Daten\%jjjj%\%projekt%\"
    ;~ Global $vardestin2 = "F:\TESTUMGEBUNG\RECHNER2\Daten\%jjjj%\%projekt%\"
    ;~ Global $vardestin3 = "F:\TESTUMGEBUNG\RECHNER3\Daten\%jjjj%\%projekt%\"
    ;~ Global $vardestin4 = "F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\Aussendienst\%jjjj%\%projekt%\Berechnungen\"
    Global $aSourceDest[4][2] = [
    ["F:\TESTUMGEBUNG\RECHNER1\Daten\%jjjj%\%projekt%\*", "F:\TESTUMGEBUNG\RECHNER1\Daten\%jjjj%\%projekt%\"],
    ["F:\TESTUMGEBUNG\RECHNER2\Daten\%jjjj%\%projekt%\*", "F:\TESTUMGEBUNG\RECHNER2\Daten\%jjjj%\%projekt%\"],
    ["F:\TESTUMGEBUNG\RECHNER3\Daten\%jjjj%\%projekt%\*", "F:\TESTUMGEBUNG\RECHNER3\Daten\%jjjj%\%projekt%\"],
    ["F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\%jjjj%\%projekt%\Berechnungen\*", "F:\TESTUMGEBUNG\SERVER\Daten\Dokumente\Aussendienst\%jjjj%\%projekt%\Berechnungen\"]]
    Global $source, $destin
    
    ;~ Global $Rechner1, $Rechner2, $Rechner3
    Global $aPCselect[3]
    
    Global $Projekt1, $Projekt2
    
    $Form1_1 = GUICreate("Datenaustausch", 592, 284, 197, 145)
    Global $Projekt1 = GUICtrlCreateEdit("", 352, 88, 180, 40, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif")
    Global $Projekt2 = GUICtrlCreateEdit("", 40, 168, 180, 40, BitOR($ES_AUTOVSCROLL,$ES_AUTOHSCROLL,$ES_WANTRETURN))
    GUICtrlSetData(-1, "")
    GUICtrlSetFont(-1, 18, 400, 0, "MS Sans Serif")
    
    $aPCselect[0] = GUICtrlCreateRadio("Rechner 1", 40, 16, 140, 40)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    GUICtrlSetColor(-1, 0xFF0000)
    $aPCselect[1] = GUICtrlCreateRadio("Rechner 2", 240, 16, 140, 40)
    GUICtrlSetState(-1, $GUI_CHECKED)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    $aPCselect[2] = GUICtrlCreateRadio("Rechner 3", 432, 16, 140, 40)
    GUICtrlSetFont(-1, 14, 400, 0, "MS Sans Serif")
    $Label1 = GUICtrlCreateLabel("Tablet", 96, 96, 62, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    $Label2 = GUICtrlCreateLabel("Aussendienstordner", 355, 174, 192, 28)
    GUICtrlSetFont(-1, 14, 800, 0, "MS Sans Serif")
    $copy1 = GUICtrlCreateButton("<=", 256, 96, 28, 28)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    $copy2 = GUICtrlCreateButton("=>", 256, 176, 28, 40)
    GUICtrlSetFont(-1, 16, 800, 0, "MS Sans Serif")
    GUISetState(@SW_SHOW)
    
    
    ; Erste If Then Abfrage
    
    ;~    If GuiCtrlRead($Rechner1) = 1 Then $source = varsource1
    ;~    ElseIf GuiCtrlRead($Rechner1) = 1 Then $destin = $vardestin1
    ;~    ElseIf GuiCtrlRead($Rechner2) = 1 Then $source = $varsource2
    ;~    ElseIf GuiCtrlRead($Rechner2) = 1 Then $destin = $vardestin2
    ;~    ElseIf GuiCtrlRead($Rechner3) = 1 Then $source = $varsource3
    ;~    ElseIf GuiCtrlRead($Rechner3) = 1 Then $destin = $vardestin3
    ;~    EndIf
       
    For $i = 0 To UBound($aPCselect) -1
        If BitAND(GUICtrlRead($aPCselect[$i]), $GUI_CHECKED) Then
            $source = $aSourceDest[$i][0]
            $destin = $aSourceDest[$i][1]
            ExitLoop
        EndIf
    Next
    
    
    While 1
        $nMsg = GUIGetMsg()
        Switch $nMsg
            Case $GUI_EVENT_CLOSE
                Exit
    
        EndSwitch
    WEnd
    Alles anzeigen

Spenden

Jeder Euro hilft uns, Euch zu helfen.

Download

AutoIt Tutorial
AutoIt Buch
Onlinehilfe
AutoIt Entwickler
  1. Datenschutzerklärung
  2. Impressum
  3. Shoutbox-Archiv
Community-Software: WoltLab Suite™