Zwei While 1 Schleifen aber nur eine beenden?

  • Hey,

    hab folgendes Problem nicht in der SuFu und hier im Forum gefunden, aber wahrscheilnlich stell ich mit nur zu blöd an...

    Unzwar hab ich wie im folgenden Code 2 While Schleifen. Eine für die GUI und eine weitere. Wenn ich jetzt die andere Schließen will Geht die GUI Schleife mit zu...
    Hab auch schon überlegt die Schleife in eine Function zu packen und dann mit Refurn zu beenden funzt aber nich..

    Hier mal der Beispiel Code damit ihr versteht wie ich es meine:

    So werden beide Schleifen beendet ich will aber nur das die 2. beendet wird :/

  • Poste bitte ein Script das wenigstens ansatzweise Sinn ergibt und dein Problem veranschaulicht.

    Dein aktuelles Beispiel lässt nur eine Aussage zu:
    Die zweite Schleife ist total unnötig, da es reicht einmalig bei Programmstart den Hotkey zu definieren. In einer Schleife hat dieser Befehl jedenfalls nichts verloren.


    PS: Vorsorglich schonmal der Link zu den Forenregeln, da diese Art von Script eigentlich immer aus der selben Ecke kommt... https://autoit.de/index.php?page=Forumrules

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

    ExitLoop [level]

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

    willst du also nur eine Schleife beenden musst du einfach ExitLoop 1 eingeben...


    Da das allerdings über einen Funktionsaufruf läuft funktioniert diese Methode nicht. Daher musst du eine Variable definieren, welche den wert true hat. Drückst du dein hotkey wird deine funktion aufgerufen und setzt den wert der variable auf false, sodass die Schleife abbricht... Probiers mal aus!

    [autoit]

    HotKeySet("key","ende")
    $var=true

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

    while $var
    sleep(1000)
    WEnd

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

    Func ende()
    $var=false
    EndFunc

    [/autoit]