Wichtig !! Benutzereingaben verwerten !

  • Ich würde gerne die Eingaben vom Benutzer meines Pogrammes nutzen.

    Beispiel:

    Er Drückt die fordere Pfeiltaste (UP) und dan soll z.B ein Script weiterlaufen.
    Das Script, wartet praktisch auf die eingabe um weiter zu machen !

    MFG Chris

    Nice is working by AutoIT !
    But better ist working with AutoIT ! ^^

  • Leider hilfts nicht,

    Also mein Script wäre das, 3 bilder hintereinander abgespielt werden, und dann wartet er, bis der benutzer die: Pfeiltaste drückt.
    Erst dann werden die nächsten 3 bilder abgespielt, und immer so weiter !

    verstehste?

    MFG Chris

    Nice is working by AutoIT !
    But better ist working with AutoIT ! ^^

  • Nützt nichts, hab doch alles gesagt, da gibts nicht viel zu sehen.

    Unten zwischen den bildern soll er immer solange warten, bis der benutzer eine bestimmte taste drückt.


    Wenn er die Taste: {UP}

    drückt, dann kommen die ersten bilder, und wenn er dann wieder UP drückt, sollen wieder bilder kommen ^^
    Ich hoffe du verstehst.

    Es geht nur darum das, das pogramm wartet bis er die Taste drückt, und erst dan fortfährt^^

    MFG CHris

    Nice is working by AutoIT !
    But better ist working with AutoIT ! ^^

  • Spoiler anzeigen
    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Include <Misc.au3>

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 623, 373, 192, 120)
    $Pic1 = GUICtrlCreatePic("pic2/pic.jpg", 0, 0, 623, 373, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    EndSwitch
    If _IsPressed(26) Then TogglePause()
    WEnd

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

    Func TogglePause()
    GUICtrlSetImage($Pic1, "test/1102_164719.jpg")
    sleep(50)
    GUICtrlSetImage($Pic1, "test/1102_164720.jpg")
    sleep(50)
    GUICtrlSetImage($Pic1, "test/1102_164721.jpg")

    Do
    sleep(10)
    Until _IsPressed(26)

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

    GUICtrlSetImage($Pic1, "test/1102_164722.jpg")
    sleep(50)
    GUICtrlSetImage($Pic1, "test/1102_164723.jpg")

    EndFunc

    [/autoit]

    1. #include <Misc.au3> fehlte.
    2. Da du hotkeyset benutzt hast, hat die funktion TooglePause immer neu gestartet. Reiner Logikfehler. Ich habe den Hotkey jetzt in die While Schleife reingesetzt.

    EDIT: [ Spoiler ] vergessen

  • Das würde doch schon reichen?

    [autoit]

    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <Misc.au3>

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

    HotKeySet("{Up}", "TogglePause")

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 623, 373, 192, 120)
    $Pic1 = GUICtrlCreatePic("pic2/pic.jpg", 0, 0, 623, 373, BitOR($SS_NOTIFY, $WS_GROUP, $WS_CLIPSIBLINGS))
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit

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

    EndSwitch
    WEnd

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

    Func TogglePause()
    GUICtrlSetImage($Pic1, "test/1102_164719.jpg")
    Sleep(50)
    GUICtrlSetImage($Pic1, "test/1102_164720.jpg")
    Sleep(50)
    GUICtrlSetImage($Pic1, "test/1102_164721.jpg")
    EndFunc ;==>TogglePause

    [/autoit]

    Man drückt die Pfeiltaste oben und es erscheinen 3 neue Bilder. Warum dann noch ein Do-Until, dann werden ja nicht mehr die Eingabenn in der GUI berücksichtigt.

  • Es geht doch darum dass es nach folgendem Schema abläuft:
    Pfeil nach oben -> 3 Bilder -> Pfeil nach oben -> die nächsten 3 Bilder -> Pfeil nach oben -> die nächsten drei Bilder.

    Meine Version hat doch genau das geamcht.. warum musst du denn dann alles wieder ausseinander wursteln Understood?

    Außerdem geht das mit den Eingaben der GUI ohne Probleme wenn man da ein bisschen rumbastelt. Da aber keine Controls im Interface vorhanden sind, hielt ich es auch nicht für nötig sowas einzubauen.. da das wieder ne halbe stunde Denk- und Schreibarbeit kostet...

  • Vielen Dank !

    DU bist der beste, ich werde vllt. am ende mal zeigen was ich durch dich hinbekommen habe!

    wozu die 26 ?!

    Vielen Dank, ich kann mein lang ersehntes Projekt jetzt in angriff nehmen.

    Und nochmal: Vielen Dank!

    MFG Chris

    PS: Eine Frage, hast du zu dem Befehlstag, den du mir gesagt hast, eine erklärung?
    Ich wüsste nicht, worfür die 27 steht?
    Ist das wie bei der MSG box?
    Wenn ja, ekläre es mir bitte^^

    Nice is working by AutoIT !
    But better ist working with AutoIT ! ^^

    Einmal editiert, zuletzt von AutoITManager (3. November 2009 um 15:24)

  • die 27 steht für "Pfeiltaste oben".
    jede taste hat bei der IsPressed funktion einen wert
    die linke maustaste zum beispiel hat 01
    würdest du jetz statt der 27 die 01 schreiben ginge das ganze mit der linken maustaste

    siehe hilfe zu ispressed:
    http://www.autoit.de/dokumentation_…/_IsPressed.htm