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. cantax

Beiträge von cantax

  • Permanente Zustandsabfrage / Schleifen SOFORT verlassen

    • cantax
    • 15. März 2015 um 19:10

    Vielen Dank für die ganzen Antworten, letztendlich hat mir der Befehl "AdlibRegister" weitergeholfen. Ich werde mir jedoch eueren anderen Vorschläge auch noch anschauen =)

    Gruß, cantax

  • Permanente Zustandsabfrage / Schleifen SOFORT verlassen

    • cantax
    • 10. März 2015 um 00:19

    Hallo,

    mir ist jetzt schon öfters das Problem begegnet, dass ich z.B. eine Abfrage eines Zustandes permanent ausgeführt haben will, während eine andere Schleife durchlaufen wird. So wie in diesem Script:

    [autoit]

    #include <Misc.au3>
    Global $counter = 0
    Global $StartStop = False

    [/autoit][autoit][/autoit][autoit]

    While 1
    If _IsPressed ( 78 ) Then
    Sleep (50)
    If Not _IsPressed ( 78 ) Then
    $counter = $counter +1
    Call ( "RunStop" )
    EndIf
    EndIf
    WEnd

    [/autoit][autoit][/autoit][autoit]

    Func RunStop()
    If $counter = 1 Then
    $StartStop = True
    Call ( "Befehlskette" )
    EndIf
    If $counter = 2 Then
    $StartStop = False
    $counter = 0
    EndIf
    EndFunc

    [/autoit][autoit][/autoit][autoit]

    Func Befehlskette()
    Do
    ;bliebige Befehle
    Until $StartStop = False
    EndFunc

    [/autoit]

    Hier will ich eigentlich nur die 2. Schleife (mit beliebigen Befehlen) durch die Taste F9 (78) starten und auch wieder verlassen. Jedoch wird die 1. Schleife, die Taste F9 abfragt nicht mehr weiter ausgeführt, wenn die 2. Schleife aktiv ist.

    Ja, mit dem Befehl "HotKeySet" würde die Überprüfung des Tastendrucks auch während eine andere Schleife durchlaufen wird funktionieren. Leider funktioniert der Befehl "HotKeySet" in meinem speziellen Fall nicht.

    Jedoch ist es ja möglich mit dem Befehl "HotKeySet" oder z.B. wie bei jedem beliebigen Programm mit einer GUI und einem X oben rechts Zustände permanent abzufragen. Daher frage ich mich, wie wird das gemacht?
    Zwei Schleifen gleichzeitig auszuführen ist ja anscheinend mit AutoIt nicht möglich. Geht das ganze überhaupt mit AutoIt?

    Eine weitere Frage, ist es möglich eine Schleife SOFORT zu verlassen, wenn eine Bedingung erfüllt wird und nicht erst, wenn die Schleife zu Ende ist und diese Bedingung erfüllt wird? Der Befehl "ExitLoop" hilft mir in so einem Fall ja leider auch nicht weiter, so lange der Sleep-Timer läuft.

    [autoit]

    While $Bedingung = True
    MsgBox ( 0, "x", "test" )
    Sleep ( 4000 )
    WEnd

    [/autoit][autoit][/autoit][autoit]

    ;or

    [/autoit][autoit][/autoit][autoit]

    Do
    MsgBox ( 0, "x", "test" )
    Sleep ( 4000 )
    Until $Bedingung = False

    [/autoit]

    MfG, cantax

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™