Folgendes muss in eine Schleife:
[autoit]While 1
$Msg = GUIGetMsg()
If $msg = $Msg3 Then SpielStarten()
If $msg = $Msg2 Then CacheDelete()
If $msg = $Msg1 Then RealmlistAendern()
Wend
[/autoit]Folgendes muss in eine Schleife:
[autoit]While 1
$Msg = GUIGetMsg()
If $msg = $Msg3 Then SpielStarten()
If $msg = $Msg2 Then CacheDelete()
If $msg = $Msg1 Then RealmlistAendern()
Wend
[/autoit]Ich würde mir eine temporäre HTML-Seite basteln, in der ich den Embed-Code vom Youtube-Video einbaue.
Die Seite würde ich dann aufrufen und am Ende des Scripts dann nur noch die Seite wieder löschen.
Als primitive Lösung besteht immer die Möglichkeit Infos über Dateien auszutauschen, aber die Kommunikation über TCP ist natürlich edler
Auf dem Bild sehe ich keine Strickellinie in einem Editfeld.
Ich habs mal schnell ein Editfeld nachgebaut:
[autoit]#include <GUIConstantsEx.au3>
[/autoit][autoit][/autoit][autoit]GUICreate("autoit.de", 200, 100)
GUICtrlCreateInput("Eingabe", 5, 5, 100, 14, -1, 0)
GUICtrlSetBkColor(-1, 0xD4D0C8)
GUICtrlCreateLabel("..................................", 5, 10, 100, 17)
GUICtrlSetState(-1, $GUI_DISABLE)
GUICtrlSetBkColor(-1, $GUI_BKCOLOR_TRANSPARENT)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
WEnd
Setz doch an die Stellen der Linien ein Label mit "..........." als Text mit State $GUI_DISABLE.
Tja würden wir nur eine Programmiersprache kennen, mit der man leicht etwas automatisieren kann
$inhalt = GUICtrlRead($Input1)
[/autoit]Poste mal dein Script. Dann wissen wir was du eigentlich wolltest
danke das hab ich getestet
da kommt nur 1|1 raus
lg
Dann muss dein Eingabe-Array anders als beschrieben aussehen. Mach mal ein Screenshot vom ersten _ArrayDisplay deines Beispiels
Local $test2 = StringSplit($test[$i],",")
$test[$i] = $test2[1]
In $test2[1] steht auch nur der erste gesplittete Wert drin.
Um alle Werte einzeln zu übertragen, müsstest du noch folgendes in die bestehende For-Schleife einfügen:
For $j = 1 To Ubound($test2)
$test[$i+$j] = $test2[$j]
Next
Edit: Am besten sollte dein Ziel-Array ein anderes sein, da die äußere For-Schleife ja mehrfach durchlaufen werden kann und nach dem ersten Durchlauf bereits das Quell-Array modifiziert ist.
Folgende Zeile ist fehlerhaft:
[autoit]For $i = 0 To UBound($test[0])-1
[/autoit]Entweder Ubound vom Array oder das erste Element [0] verwenden. Aber Ubound von [0] wird immer 0 sein. Daher läuft deine Schleife von 0 bis 0, also 1x.
P.S. Ich glaub das ist ein sehr beliebter Fehler
Und warum geht in dem Fall StringSplit nicht?
Wenn ich das Script ausführe, werden 27 Links gefunden.
Das Array hat dann von [0] bis [26] leere Elemente und von [27] bis [53] die Links aufgelistet.
Leere Elemente, da _ArrayAdd das Array vergrößert.
Grundsätzlich findet er aber Links.
In welchem Anwendungsbereich könnte man das Script gebrauchen?
Bei Windows würde es aber kein Case 0 geben
Nutze doch einfach die Parameter für eine automatisierte Installation. Dann hast du den ganzen Ärger mit den Oberflächen nicht.
Hier die Beschreibung dazu: *klick*
Hallo zusammen,
ich sehe hier im Forum immer häufiger die Verwendung von GUICtrlSetOnEvent wie in folgendem Beispiel:
[autoit]Opt("GUIOnEventMode", 1)
[/autoit][autoit][/autoit][autoit]$parent1 = GUICreate("gui")
$ok = GUICtrlCreateButton("OK", 10, 10)
GUICtrlSetOnEvent(-1, "klick")
GUISetState(@SW_SHOW)
While 1
Sleep(10)
WEnd
Func klick()
MsgBox(0, "", "OK")
EndFunc
Ich habe bisher immer GUIGetMsg verwendet wie im folgenden Beispiel:
[autoit]$parent1 = GUICreate("gui")
$ok = GUICtrlCreateButton("OK", 10, 10)
GUISetState(@SW_SHOW)
While 1
$msg = GUIGetMsg()
Switch $msg
Case $ok
MsgBox(0, "", "OK")
EndSwitch
WEnd
In welcher Methode liegt welcher Vorteil und gibt es eine Richtline wann man was nutzen sollte?
Versuch mal bei dir in Zeile 1 folgendes zu ändern:
[autoit]FileCopy("C:\installationsdateien\lang_de_de.xml", @ProgramFilesDir & "\Foxit Reader\lang_de_de.xml" ,9)
[/autoit]Ich habe den Quellpfad geändert. "C:\installationsdateien\lang_de_de.xml" musst du natürlich durch den Pfad ersetzen, wo die Datei liegt.
Wird nämlich kein Pfad angegeben, wird @WorkingDir angenommen und ich weiß nicht, ob genau dort deine Datei liegt. Also vergiss erstmal meinen ersten Vorschlag.
Vielleicht hat AutoIt zu dem Zeitpunkt keinen Zugriff auf das Dateisystem.
Anstatt FileCopy kannst du vielleicht mal den Windowsbefehl copy nutzen:
Run(@ComSpec & " /c copy quelle ziel", "", @SW_HIDE)
[/autoit]