ich bin ein ziemlicher Anfänger, - möchte aber direkt sagen, ich muss kein Profi werden. Ich habe mir für die Uni ein kleines "Lesetool" gebaut, doch leider hat es ein Problem :
Wenn ich das sleep länger als 3000 mache, kann ich das Program nicht mehr stoppen. Scheinbar hängt es dann im Sleepmodus fest. Mit sleep 100 kann ich es stoppen, aber das ist zu kurz zum lesen :-( (Später möchte ich mit iniread iniwrite noch den "sleep" über das Menü eingeben (je nach Textlänge - das ist aber dann die nächste Baustelle. Hilfe brauche ich bei dem Sleep eben...) Ich habe mal was mit einem Timer statt Sleep gelesen, doch nach 2-3 Stunden probieren, frage ich nun doch nach Hife.
1. Ich kenne mich nicht besonders mit Adlib aus aber dein 200ms Timer könnte das Problem sein. Wenn du z.B. einen Sleep mit 500ms in der Funktion einbaust, wird ja schon bereits nach 200ms die Funktion wieder aufgerufen bevor die erste beendet wurde. In der wird ja auch in der Adlibfunktion geschrieben:
Quote:
;... die Ausführung darf nicht blockiert werden. Die Verwendung der ...Wait(), MsgBox(), InputBox() Funktionen ist daher zu vermeiden.
Ich könnte mich aber auch irren, kenne mich wie gesagt damit nicht besonders aus
2. Timer sind ganz einfach. Mit $Timer1 = TimerInit() initialisierst du einen Timer. Mit $ZeitVergangen = TimerDiff($Timer1) findest du heraus wie viele Millisekunden in der Zeit vom initialisieren vergangen sind. Beispiel:
Mit $Timer1 = TimerInit() kannst du den Timer wieder auf Null setzen, sodass er wieder neu anfängt zu zählen. Mit Timern kann man so ein Zeitproblem gut und einfach lösen, nur verstehe ich nicht ganz was du mit deinem "Lesetool" meinst und was er genau macht. Hoffe ich hab dir etwas weitergeholfen
Vielen Dank für deine Antwort. Leider blockiert er mit dem Timer auch den Abbruch via Buttom
Ich habe einen anderen Weg probiert, jedoch habe ich da keine Ahnung wie ich die Iniwrite einbinde :/ Jetzt geht das mit dem Timer bzw dem langen Sleep aber eben nicht der iniwrite.. grübel
Case $speichern
IniWrite("Config.ini", "Benutzerdaten", "von", GUICtrlRead($von))
IniWrite("Config.ini", "Benutzerdaten", "bis", GUICtrlRead($bis))
Case $GUI_EVENT_CLOSE
Exit
EndSwitch
Dieser Code funktioniert nicht, da ein Switch keine Schleife ist. Das heißt der Code wird nur 1x durchgelaufen, also reagiert dein Script nicht auf Buttons. Der Switch muss in einer Endlosschleife sein, wie z.B. in deiner While Sleep(10) Schleife.
Nun wenn ich es in die Schlaufe mache, dann lässt es sich nicht stoppen bzw er schreibt es n die Ini, ich kann danach aber die andere Funktion nicht mehr starten. Scheinabar macht er mit dem Buttom dann eine Endlosschlaufe mit dem Eintrag. Wie stelle ich es ein, dass er es nur einmal machen soll?
Habe wieder einige Stunden versucht aber ohne Erfolg... huihuihui
Nun wenn ich es in die Schlaufe mache, dann lässt es sich nicht stoppen bzw er schreibt es n die Ini, ich kann danach aber die andere Funktion nicht mehr starten. Scheinabar macht er mit dem Buttom dann eine Endlosschlaufe mit dem Eintrag. Wie stelle ich es ein, dass er es nur einmal machen soll?
Habe
wieder einige Stunden versucht aber ohne Erfolg... huihuihui
Das war das Problem. Wenn du den Modus aktivierst, musst du den anscheinend auch einbehalten. Das heißt, du kannst Funktionen per Buttonklick nur noch so ausführen:
Quest-> Schleife in einer Schleife? 04/15/2013 - Metin2 Private Server - 3 Replies Hallo Community,
ist es möglich in einer bestehenden Schleife eine weitere einzufügen die unabhängig von der 1. schleife agiert?
Hilfe bei einer Schleife 04/21/2011 - AutoIt - 10 Replies brauche Bitte etwas hilfe bei meiner Schleife,
und zwar geht sie bis hier her einwandfrei:
If $Goldold < $Gold Then
$Output2 = 100
_GUICtrlEdit_AppendText($EDIT1, " " & "Jippi ey jaeh Du hast gewonnen" & @CRLF)
Sleep(100)
EndIf
If $Goldold = $Gold Then
For-Schleife einer GUI untebrechen und mit Schließen einer andern GUI wiederaufnehmen 10/13/2010 - AutoIt - 7 Replies Hi,
ich hab folgendes AutoIT Problemchen und komm einfach nicht weiter.
Zur Veranschauung des Problems hab ich mein eigentliches Programm mal auf einen Minimalcode reduziert.
Das Programm macht so natürlich grad keinen großen Sinn, aber ich kann euch zeigen, wo's Hakt.
Es geht darum: Ich hab ein Haupt-GUI von dem aus ich eine FOR-Schleife starte.
Nun soll pro abgearbeiteten STEP der For-Schleife die Unter-GUI gestartet und aus der For-Schleife der Wert übergeben werden.
Die...