wie kann ich eine schleife beenden?

  • ich versteh es einfach nicht =(
    ich war gestern noch die ganze nacht am rumprobieren

    wie kann ich eine laufende schleife unterbrechen?
    mit
    if $id_button_abbrechen = $msg Then
    ExitLoop
    EndIf
    wird die schleife einmal betreten und gleich beim if wieder verlassen


    Spoiler anzeigen
    [autoit]

    if ($radio_uhrzeit) Then
    if ($stunden = "") Then
    $stunden = 0
    GUICtrlSetData($id_input_stunden, "00")
    EndIf
    if ($minuten = "") Then
    $minuten = 0
    GUICtrlSetData($id_input_minuten, "00")
    EndIf
    if ($sekunden = "") Then
    $sekunden = 0
    GUICtrlSetData($id_input_sekunden, "00")
    EndIf

    $ShowMessage = $stunden&":"&$minuten&":"&$sekunden ;HH:MM:SS
    $ShowMessage = StringSplit($ShowMessage, ":")
    $ShowMessage = _TimeToTicks($ShowMessage[1], $ShowMessage[2], $ShowMessage[3])
    While 1
    $msg = GUIGetMsg()
    Sleep(1000)
    If Number($ShowMessage) <= Number(_TimeToTicks()) Then ExitLoop
    if $id_button_abbrechen = $msg Then
    ExitLoop
    EndIf
    WEnd
    Global $Hour, $Min, $Sec
    _TicksToTime($ShowMessage,$Hour,$Min,$Sec)
    MsgBox(0, "", "Es ist jetzt " & $Hour&":"&$Min&":"&$Sec & " oder später!")
    ElseIf $radio_zeit Then

    EndIf

    [/autoit]

    Einmal editiert, zuletzt von achim89 (21. März 2009 um 11:15)

  • [autoit]

    while 1
    if $id_button_abbrechen = $msg then exitloop
    wend

    [/autoit]


    MfG. tobi_girst

    P.S.: Benutze für Autoit-Code [ autoit] am Anfang und [/ autoit] am Ende (Ohne Leerzeichen!)!

    MfG. tobi_girst

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »tobi_girst« (Morgen, 25:63)

  • so hab ichs ja gemacht =O
    es funktioniert nur nicht =(
    ich glaub das hängt mit dem sleep zusammen, dass wenn sleep gerade läuft
    das programm keine steuerungen zulässt

    zu dem autoid-code, ich benutze den autoit-code button 8|

  • [autoit]

    if ($radio_uhrzeit) Then
    if ($stunden = "") Then
    $stunden = 0
    GUICtrlSetData($id_input_stunden, "00")
    EndIf
    if ($minuten = "") Then
    $minuten = 0
    GUICtrlSetData($id_input_minuten, "00")
    EndIf
    if ($sekunden = "") Then
    $sekunden = 0
    GUICtrlSetData($id_input_sekunden, "00")
    EndIf

    $ShowMessage = $stunden&":"&$minuten&":"&$sekunden ;HH:MM:SS
    $ShowMessage = StringSplit($ShowMessage, ":")
    $ShowMessage = _TimeToTicks($ShowMessage[1], $ShowMessage[2], $ShowMessage[3])
    While $msg <> $id_button_abbrechen
    $msg = GUIGetMsg()
    Sleep(100)
    WEnd
    Global $Hour, $Min, $Sec
    _TicksToTime($ShowMessage,$Hour,$Min,$Sec)
    MsgBox(0, "", "Es ist jetzt " & $Hour&":"&$Min&":"&$Sec & " oder später!")
    ElseIf $radio_zeit Then

    EndIf

    [/autoit]

    Canyon

    PS: Kompletter Code würde die Hilfestellung einfacher machen ;)