Loop Pause/weiter

  • Einen schönen guten Morgen (liebe Sorgen...)

    ich muß meinen Loop automatisch anhalten

    [autoit]


    For $i=1 to $anzahl

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

    $Starte = IniRead($openini, "Startseite", $i, "NotFound")
    If _FFConnect() Then
    _FFOpenURL($Starte)
    _FFLoadWait()

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

    ; Hier soll das ganze STOPPEN!

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

    $i += 1
    EndIf

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

    Next

    [/autoit]

    Es soll also nicht das ganze Script pausieren.
    D.h. ich muß auf meiner Gui (die im Vordergrund ist) Buttons drücken...

    Wenn ich fertig bin, dann soll der Loop
    fortgesetzt werden. (z.B. mit Button weiter)

    Wie kann man das am besten machen?

    Grüße
    Ilse :(

    Einmal editiert, zuletzt von Ilse (6. Oktober 2010 um 11:05)

    • Offizieller Beitrag

    Das ganze kanst du durch eine weitere Schleife in deiner Hauptschleife lösen.
    In dieser fragst du die GUI Messages ab. Voraussetzung dazu ist aber ,das du auch eine Message haben mußt um diese
    Schleife wieder verlassen zu können. Es muß also irgndein Button gedrückt werden, um überhaupt ein Aussprungsbedingung
    zu erfüllen.

    Edit um eine Schleife zu verlassen wird der Befehl ExitLoop verwendet.

  • 1: Wozu soll $i += 1 dienen? Soll die Schrittweite so sein, das er jedes zweite macht?

    2. Du willst mitten in der If-Anweisung anhalten?

  • Hier:

    Spoiler anzeigen
    [autoit]

    #include <FF.au3>
    #include <WindowsConstants.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 261, 67, 192, 124)
    $weiter = GUICtrlCreateButton("weiter", 64, 24, 75, 25, $WS_GROUP)
    #a GUI section ###

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

    For $i = 1 To $anzahl
    $Starte = IniRead($openini, "Startseite", $i, "NotFound")
    If _FFConnect() Then
    _FFOpenURL($Starte)
    _FFLoadWait()
    GUISetState(@SW_SHOW)
    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $weiter
    GUISetState(@SW_HIDE)
    ExitLoop
    EndSwitch
    WEnd
    $i += 1
    EndIf
    Next

    [/autoit]

    Andy hat mir ein Schnitzel gebacken aber da war ein Raupi drauf und bevor Oscar das Bugfixen konnte kam Alina und gab mir ein AspirinJunkie.

  • chip,

    super es funktioniert!
    Bin noch am testen...Dank Dir!

    @m-obi
    hm, sollte natürlich Schrittweise hochzählen
    (noch ein Fehler $i += 1 stimmt nicht)
    das $i += 1 muß natürlich raus ?( .

    auch merci an Raupi

    Ilse ;)

    Einmal editiert, zuletzt von Ilse (6. Oktober 2010 um 11:04)