hilfe bei if abfrage

  • hi habe da ein problem

    hab 20if abfragen in einer schleife
    jede sobald sie zutrift hat ihren then befehl und auch schleife dan von vorne starten kein problem
    mochte aber das wenn zb 120000ms kein if zutrift automatisch der hotkey zum neustart des scriptes
    gedrückt werden soll

    also meine hauptfrage
    wie heist der if befehl wenn 120000ms nix passiert send hotkey xx
    den ich noch in diese if schleife reinhaben muss

    thx schonmal im vorraus

  • thx werde das gleich mal austesten
    (zuvor in hilfe datei genaue anwendung des befehls rausfinden tuh)
    ;)

    thx für so schnelle antwort

  • also ich hab das so


    while
    $if1 = befhel
    $if2 = "
    $if3 = "
    $if4 = "
    if $if1 = xxxxx then
    die gewünschten befehle
    exitloop
    endif
    if $if2 = xxxxx then
    die befehle
    exitloop
    endif
    usw bis alle durch sind
    am ende wend

    wie muss ich das numit den timerinit genau machen was gehört in die klammer
    algemeine frage zu timern dan noch kann man mehrer verschiedene benutzen
    wie werden die angesprochen kann man die nummerrieren usw??

    bitter erklär mir das mal grob

  • z.B.

    [autoit]

    $start = TimerInit()
    $if1 = ShellExecute() ; z.B.

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

    While 1
    Sleep(500)
    If TimerDiff($start) > 120000 Then
    ;Irgendwas
    EndIf
    If $if1 = True Then
    ;Run $if1
    $start = TimerInit()
    EndIf
    WEnd

    [/autoit]

    MFG Taek

  • wenn ich das jetzt richtig interpretier
    prüft er jetzt alle 0,5sekunden ob if zutrift
    wenn das 2minuten nicht so ist macht er irgendwas
    wenn es jedoch vorher so ist fürt er if aus und setzt den timer zurück auf 0
    richtig interpretiert oder hab ich nen denkfehler?

    sry für die dumme frage
    bin halt extrem unerfahren in sowas
    naja aller anfang ist schwer

    mfg
    patrick1984

  • Prinzipiell richtig, ja.
    Bei einer While Schleife solltest du immer ein Sleep() mit einbauen, da er sonst permanent überprüft, ob irgendeine Bedingung wahr ist -> maximale Prozessorauslastung

    Oder du machst es über Switch - Case Bedingungen, lies dich doch mal in der Hilfe ein.
    Hier das Beispiel aus der deutschen Hilfe:

    [autoit]

    Switch @HOUR
    Case 6 To 11
    $msg = "Guten Morgen"
    Case 12 To 17
    $msg = "Guten Tag"
    Case 18 To 21
    $msg = "Guten Abend"
    Case Else
    $msg = "Warum bist du noch wach?"
    EndSwitch

    MsgBox(0, Standard, $msg)

    [/autoit]