Button Befehl zuweisen ?

  • Hallo,

    ich habe nun mein Script eigentlich fertig nur er ist noch in 2 Hälften aufgeteilt ... und ich bekomme es mit dem Case Befehl einfach nicht hin.

    GUI Skript :

    Spoiler anzeigen

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=c:\users\Peter\pictures\form fuer tool.kxf
    $Form1_1 = GUICreate("Form1", 551, 441, 218, 17)
    $Event1 = GUICtrlCreateButton("v1", 8, 128, 137, 25, $WS_GROUP)
    $Event2 = GUICtrlCreateButton("v4", 8, 304, 137, 25, $WS_GROUP)
    $Event3 = GUICtrlCreateButton("v3", 8, 248, 137, 25, $WS_GROUP)
    $Event4 = GUICtrlCreateButton("v5", 8, 368, 137, 25, $WS_GROUP)
    $Event = GUICtrlCreateButton("v2", 8, 184, 137, 25, $WS_GROUP)
    $Pic1 = GUICtrlCreatePic("C:\Users\Peter\Pictures\fuer tool Aussehen5.jpg", 0, 0, 550, 440, BitOR($SS_NOTIFY,$WS_GROUP,$WS_CLIPSIBLINGS))
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    EndSwitch
    WEnd

    Skript, der auf den Button v2 vom Skript oben zugewiesen werden soll :

    Spoiler anzeigen

    Hotkeyset("{F7}","_Start")
    Hotkeyset("{F8}","_Exit")

    sleep (10000)
    send ("{ENTER}")
    sleep (300)
    send ("Guten Tag")
    sleep (300)
    send ("{ENTER}")

    Func _Start()

    EndFunc

    Func _Exit()

    EndFunc

    Kann mir da bitte jemand einmal helfen?

    Danke im voraus.

    Mit freundlichen Grüßen,

    White

  • Was soll es denn machen?
    Wofür brauchste denn das HotKeySet?

    Du willst, dass wenn der Button gedrückt wird das hier passiert:

    [autoit]

    sleep (10000)
    send ("{ENTER}")
    sleep (300)
    send ("Guten Tag")
    sleep (300)
    send ("{ENTER}")

    [/autoit]

    Dann musst du das so schreiben:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #Region ### START Koda GUI section ### Form=c:\users\Peter\pictures\form fuer tool.kxf
    $Form1_1 = GUICreate("Form1", 551, 441, 218, 17)
    $Event1 = GUICtrlCreateButton("v1", 8, 128, 137, 25, $WS_GROUP)
    $Event2 = GUICtrlCreateButton("v4", 8, 304, 137, 25, $WS_GROUP)
    $Event3 = GUICtrlCreateButton("v3", 8, 248, 137, 25, $WS_GROUP)
    $Event4 = GUICtrlCreateButton("v5", 8, 368, 137, 25, $WS_GROUP)
    $Event = GUICtrlCreateButton("v2", 8, 184, 137, 25, $WS_GROUP)
    $Pic1 = GUICtrlCreatePic("C:\Users\Peter\Pictures\fuer tool Aussehen5.jpg", 0, 0, 550, 440, 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
    Case $Event
    sleep (10000)
    send ("{ENTER}")
    sleep (300)
    send ("Guten Tag")
    sleep (300)
    send ("{ENTER}")

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

    EndSwitch
    WEnd

    [/autoit]

    PS: Wenn du dein fertiges Programm an andere schicken willst, musst du das Bild im selben Ordner wie die exe Datei haben und den entsprechenden Pfad angeben. Ach und du musst den kompletten Ordner dann schicken und nicht nur die exe Datei. Ansonsten wird das Bild nicht angeziegt.

  • Viele Dank für deine Hilfe. Aber dort ist doch nun eine While Schleife und er wiederholt es immer oder?

    Ich möchte, dass er es nur 1x macht. ;)

    Außerdem funktioniert mein Hotkeyset nicht und er ignoriert das Hotkeyset einfach ..

    könntest du mir bitte da nochmal helfen?

  • Nein, das Zeug wird nur einmal gesendet, die While Schleife prüft nur ständig, ob ein Button gedrückt wurde.


    So sieht es mit Funcs und Hotkeys aus:

    [autoit]

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

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

    Hotkeyset("{F7}","_Start")
    Hotkeyset("{F8}","_Exit")

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

    #Region ### START Koda GUI section ### Form=c:\users\Peter\pictures\form fuer tool.kxf
    $Form1_1 = GUICreate("Form1", 551, 441, 218, 17)
    $Event1 = GUICtrlCreateButton("v1", 8, 128, 137, 25, $WS_GROUP)
    $Event2 = GUICtrlCreateButton("v4", 8, 304, 137, 25, $WS_GROUP)
    $Event3 = GUICtrlCreateButton("v3", 8, 248, 137, 25, $WS_GROUP)
    $Event4 = GUICtrlCreateButton("v5", 8, 368, 137, 25, $WS_GROUP)
    $Event = GUICtrlCreateButton("v2", 8, 184, 137, 25, $WS_GROUP)
    $Pic1 = GUICtrlCreatePic("C:\Users\Peter\Pictures\fuer tool Aussehen5.jpg", 0, 0, 550, 440, 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
    Case $Event
    sleep (10000)
    send ("{ENTER}")
    sleep (300)
    send ("Guten Tag")
    sleep (300)
    send ("{ENTER}")

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

    EndSwitch
    WEnd

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

    Func _Start()
    ; noch irgendwas
    EndFunc

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

    Func _Exit()
    ; noch irgendwas
    EndFunc

    [/autoit]
  • Spoiler anzeigen
    [autoit]

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

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

    Hotkeyset("{F7}","_Start")
    Hotkeyset("{F8}","_Exit")

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

    #Region ### START Koda GUI section ### Form=c:\users\Peter\pictures\form fuer tool.kxf
    $Form1_1 = GUICreate("Form1", 551, 441, 218, 17)
    $Event1 = GUICtrlCreateButton("v1", 8, 128, 137, 25, $WS_GROUP)
    $Event2 = GUICtrlCreateButton("v4", 8, 304, 137, 25, $WS_GROUP)
    $Event3 = GUICtrlCreateButton("v3", 8, 248, 137, 25, $WS_GROUP)
    $Event4 = GUICtrlCreateButton("v5", 8, 368, 137, 25, $WS_GROUP)
    $Event = GUICtrlCreateButton("v2", 8, 184, 137, 25, $WS_GROUP)
    $Pic1 = GUICtrlCreatePic("C:\Users\Peter\Pictures\fuer tool Aussehen5.jpg", 0, 0, 550, 440, 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
    Case $Event
    sleep (10000)
    send ("{ENTER}")
    sleep (300)
    send ("Guten Tag")
    sleep (300)
    send ("{ENTER}")

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

    EndSwitch
    WEnd

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

    Func _Start()
    sleep (10000)
    send ("{ENTER}")
    sleep (300)
    send ("Guten Tag")
    sleep (300)
    send ("{ENTER}")
    EndFunc

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

    Func _Exit()
    Exit
    EndFunc

    [/autoit]


    Bittesehr

  • Vielen Dank.

    Funktioniert wunderbar.

    Jap und wie gesagt, damit das Bild angezeigt wird bei anderen, muss du dein fertiges Script in einen Odner packen und das Bild dort auch rein. Dann gibts du beim script den Ordner an, wo das Bild ist und schickst den Ordner an andere. So sehen sie das Bild auch, ansonsten bleibt es weiß.

  • Hi, besser so:

    Spoiler anzeigen
    [autoit]


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

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

    ;~ $SS_NOTIFY —> StaticConstants.au3
    ;~ $WS_CLIPSIBLINGS —> WindowsConstants.au3

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

    HotKeySet("{F7}", "_Start")
    HotKeySet("{F8}", "_Exit")

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

    #region ### START Koda GUI section ###
    GUICreate("Form1", 551, 441, 218, 17)
    $Event1 = GUICtrlCreateButton("v1", 8, 128, 137, 25)
    $Event2 = GUICtrlCreateButton("v4", 8, 304, 137, 25)
    $Event3 = GUICtrlCreateButton("v3", 8, 248, 137, 25)
    $Event4 = GUICtrlCreateButton("v5", 8, 368, 137, 25)
    $Event = GUICtrlCreateButton("v2", 8, 184, 137, 25)
    $Pic1 = GUICtrlCreatePic("C:\Users\Peter\Pictures\fuer tool Aussehen5.jpg", 0, 0, 550, 440, BitOR($SS_NOTIFY, $WS_CLIPSIBLINGS))
    GUISetState(@SW_SHOW)
    #endregion ### END Koda GUI section ###

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

    While 1
    Switch GUIGetMsg()
    Case -3
    _Exit() ;i Die Funktion starten
    Case $Event
    _Start() ;i Die Funktion starten
    EndSwitch
    WEnd

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

    Func _Start() ;i Die Funktion
    Sleep(10000)
    Send("{ENTER}")
    Sleep(300)
    Send("Guten Tag")
    Sleep(300)
    Send("{ENTER}")
    EndFunc ;==>_Start

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

    Func _Exit() ;i Die Funktion selbst
    Exit
    EndFunc ;==>_Exit
    ; Ende

    [/autoit]
  • -3 ist der Wert von $GUI_EVENT_CLOSE.
    Um Funktionen aufzurufen, wenn z.B. ein Button gedrückt wurde könnte man auch sehr gut den GUIOnEventMode benutzen, der bei größeren Scripts auch übersichtlicher ist.

    Edit: Zuspät :pinch: Mit der IPod Touch Tastatur kann man echt nicht schnell schreiben :(

  • Noch viel besser, denn verwendest Du die Variable, dann scheibt Dir der Obfuscator diese wieder zurück ! ;)

    [autoit]


    Global Const $GUI_EVENT_CLOSE = -3 ;i Hier Deine -3 <<<<<<<<<<<<<<<
    Global Const $SS_NOTIFY = 0x0100
    Global Const $WS_MINIMIZEBOX = 0x00020000
    Global Const $WS_SYSMENU = 0x00080000
    Global Const $WS_CAPTION = 0x00C00000
    Global Const $WS_CLIPSIBLINGS = 0x04000000
    Global Const $WS_POPUP = 0x80000000
    Global Const $GUI_SS_DEFAULT_GUI = BitOR($WS_MINIMIZEBOX, $WS_CAPTION, $WS_POPUP, $WS_SYSMENU)
    HotKeySet("{F7}", "_Start")
    HotKeySet("{F8}", "_Exit")
    GUICreate("Form1", 551, 441, 218, 17)
    $Event1 = GUICtrlCreateButton("v1", 8, 128, 137, 25)
    $Event2 = GUICtrlCreateButton("v4", 8, 304, 137, 25)
    $Event3 = GUICtrlCreateButton("v3", 8, 248, 137, 25)
    $Event4 = GUICtrlCreateButton("v5", 8, 368, 137, 25)
    $Event = GUICtrlCreateButton("v2", 8, 184, 137, 25)
    $Pic1 = GUICtrlCreatePic("C:\Users\Peter\Pictures\fuer tool Aussehen5.jpg", 0, 0, 550, 440, BitOR($SS_NOTIFY, $WS_CLIPSIBLINGS))
    GUISetState(@SW_SHOW)
    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    _Exit()
    Case $Event
    _Start()
    EndSwitch
    WEnd
    Func _Start()
    Sleep(10000)
    Send("{ENTER}")
    Sleep(300)
    Send("Guten Tag")
    Sleep(300)
    Send("{ENTER}")
    EndFunc
    Func _Exit()
    Exit
    EndFunc

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