Tasteneingabe während einer Func() abfangen und per If-Anweisung entsprechent reagieren ohne jeweils eigene Func() schreiben zu müssen

  • Hi @ All.

    Ich habe folgendes zu lösendes Problem.

    Was ich vorhabe:
    Eine Function aufrufen, danach soll diese Function auf eine Tastatureingabe warten z.B. "1", "2" oder "3" nach dem die Funtion diese in einer temp. Variable (oder so) gespeichert hat, soll sie nach drücken einer Art Bestätigungstaste z.B. "F1" dann per If-Anweisung die Variable vergleichen und entsprechend reagieren.

    Bsp:

    Starte Script......Script wartet/pausiert

    Drücke "2", warte kurz, drücke "F1" (zum bestätigen das 2 die richtige Eingabe ist), script läuft weiter
    und geht in den If-Zweig der einem Vergleich mit "2" entspricht, gebe ich "1" gefolgt von "F1" ein -> If-Zweig für "1".

    Ich möchte also eine Function und nicht zu jeder Eingabe eine eigene erstellen, da sehr unübersichtlich wie ich finde.

    Vielen Dankl für eure Hilfe bzw. Tipps ^^

  • Ich glaube das würdest du mit _IsPressed hinbekommen.
    In der Hilfe ist auch noch eine Liste mit Keys.
    Mit Hotkey (1) zum Starten und F1 zum bestätigen:

    [autoit]


    #include <Misc.au3>
    HotKeySet("{1}", "starten")

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

    While 1
    Sleep(100)
    WEnd
    Func starten()
    If _IsPressed("70") Then ;Wenn 70 (F1) gedrueckt wird dann ...
    ;Hier kommt rein was dann passieren soll
    EndIf
    EndFunc ;==>starten

    [/autoit]


    So dann hier mit MsgBox:

    [autoit]


    #include <Misc.au3>

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

    HotKeySet ("{1}", "starten")

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

    Dim $Check

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

    While 1
    Sleep (100)
    WEnd

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

    Func starten()
    MsgBox(1, "Titel", "Text")
    If $Check = 1 Then ;Wenn die Variable $Check 1 = ist dann mach das und das
    ;Das was du machen willst
    Endif
    EndFunc

    [/autoit]

    ich garantiere für nichts da ich selbst erst mit AutoIt angefangen habe. :P

    10 Mal editiert, zuletzt von Hydralisk (14. August 2008 um 20:30)