Hab ma ne Frage zu meinem Script

  • Als mein Script funktioniert ja an sich.
    Aber jetzt hab ich es mit Koda berarbeitet.
    So das es starten soll wenn man auf den button drückt doch das tut es nicht.
    Bitte kann i ein dieses Problem lösen.

    Hoffe auf schnelle Hilfe

    mfg Elbarto37

    [autoit]


    #include <GUIConstants.au3>

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

    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\MAtze\Desktop\Icon\Klickermania.kxf
    $Klickermania = GUICreate("Klickermania", 633, 448, 187, 156, BitOR($WS_MAXIMIZEBOX,$WS_MINIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_SYSMENU,$WS_CAPTION,$WS_OVERLAPPEDWINDOW,$WS_TILEDWINDOW,$WS_MAXIMIZE,$WS_POPUP,$WS_POPUPWINDOW,$WS_GROUP,$WS_TABSTOP,$WS_BORDER,$WS_CLIPSIBLINGS,$DS_MODALFRAME,$DS_SETFOREGROUND,$DS_CONTEXTHELP), 0)
    GUISetIcon("C:\Dokumente und Einstellungen\MAtze\Desktop\Icon\Matze.ico")
    GUISetCursor (2)
    GUISetBkColor(0x000080)
    $Button1 = GUICtrlCreateButton("Beenden", 280, 256, 201, 89, 0)
    $Button2 = GUICtrlCreateButton("Start", 48, 256, 201, 89, 0)
    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]

    Case $Klickermania
    Case $Klickermania
    Case $Klickermania
    Case $Klickermania
    Case $Button1
    Case $Button2
    EndSwitch
    WEnd

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

    HotKeySet ( "{F5}" , "Start" )
    HotKeySet ( "{F6}" , "Ende" )

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

    while (1)
    sleep(990)
    wend;

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

    Func Start ()
    While (1)
    MouseClick("left", "508", "510", 1, 0)
    Sleep (990)
    Wend

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

    EndFunc
    Func Ende ()
    Exit
    EndFunc

    [/autoit]

    Einmal editiert, zuletzt von Xenobiologist (5. Oktober 2008 um 11:59)

  • Also erstmal Danke für die schnelle Antwort

    und fürs Verschieben in den richtigen Bereich^^

    Also ich bin noch ein totaler Anfänger und checke dis alles noch nicht so recht.

    Dis heißt ich muss dis i wie so machen
    Case $Button1
    ; Funktion Beenden aufrufen
    Case $Button2
    ; Funktion Starten aufrufen

    Ist das so richtig?? ?( (glaub mal das es falsch ist :( )

    Wie gesagt ich hab noch keine Ahnung wie dis geht.

    Deswegen hoffe ich auf Verständnis

    mfg Elbarto37 :rock: :rock:

  • Hi,
    meinst du so?

    Spoiler anzeigen
    [autoit]

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

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

    HotKeySet("{F5}", "Start")
    HotKeySet("{F6}", "Ende")

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

    $Klickermania = GUICreate("Klickermania", 633, 448, 187, 156, BitOR($WS_MAXIMIZEBOX, $WS_MINIMIZEBOX, $WS_SIZEBOX, $WS_THICKFRAME, $WS_SYSMENU, $WS_CAPTION, $WS_OVERLAPPEDWINDOW, $WS_TILEDWINDOW, $WS_MAXIMIZE, $WS_POPUP, $WS_POPUPWINDOW, $WS_GROUP, $WS_TABSTOP, $WS_BORDER, $WS_CLIPSIBLINGS, $DS_MODALFRAME, $DS_SETFOREGROUND, $DS_CONTEXTHELP), 0)
    GUISetIcon("C:\Dokumente und Einstellungen\MAtze\Desktop\Icon\Matze.ico")
    GUISetCursor(2)
    GUISetBkColor(0x000080)
    $ende = GUICtrlCreateButton("Beenden", 280, 256, 201, 89, 0)
    $start = GUICtrlCreateButton("Start", 48, 256, 201, 89, 0)
    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $start
    Start()
    Case $ende
    Ende()
    EndSwitch
    WEnd

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

    Func Start()
    While 1
    MouseClick("left", "508", "510", 1, 0)
    Sleep(990)
    WEnd
    EndFunc ;==>Start

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

    Func Ende()
    Exit
    EndFunc ;==>Ende

    [/autoit]
  • thx für die schnelle Antwort aber Leider funzt nur der Start Button, der Beenden Button geht immer noch nicht

  • Der funktioniert solange, bis man den Starbutton drückt. Danach bist du in einer Endloschelife, und da kann er den beenden Button nicht mehr abfragen.
    Da musst du irgendwas mit AdlibEnable basteln, ich hab jetzt aber keine Zeit mehr, probiers erst mal selber.

  • Soo hab mal jetzt ne Pausenfunktion eingebaut.
    Doch natürlich funzt mal wieder alles nicht.
    Nur das Grundscript.
    Aber sobald ich den code von Koda einfüge funktioniert es nicht wenn ich die Tasten drücke und auch nicht wenn ich auf die Buttons drücke.

    könnte mir (dem noob) mal jmd. erklären wie man dis hinkriegt ???

    --------------------------------------------------------------------------------------------------


    #include <GUIConstants.au3>

    #Region ### START Koda GUI section ### Form=C:\Dokumente und Einstellungen\MAtze\Desktop\Klickermania.kxf
    $Klickermania = GUICreate("Klickermania", 633, 448, 216, 158, BitOR($WS_MAXIMIZEBOX,$WS_MINIMIZEBOX,$WS_SIZEBOX,$WS_THICKFRAME,$WS_SYSMENU,$WS_CAPTION,$WS_OVERLAPPEDWINDOW,$WS_TILEDWINDOW,$WS_MAXIMIZE,$WS_POPUP,$WS_POPUPWINDOW,$WS_GROUP,$WS_TABSTOP,$WS_BORDER,$WS_CLIPSIBLINGS,$DS_MODALFRAME,$DS_SETFOREGROUND,$DS_CONTEXTHELP), 0)
    GUISetIcon("C:\Dokumente und Einstellungen\MAtze\Desktop\Icon\Matze.ico")
    GUISetCursor (2)
    GUISetBkColor(0x000080)
    $Button2 = GUICtrlCreateButton("Start- (F5)", 208, 24, 201, 73, 0)
    $Button1 = GUICtrlCreateButton("Zum Beenden F7 drücken", 64, 280, 497, 89, 0)
    $Button3 = GUICtrlCreateButton("Pause (F6)", 112, 144, 401, 81, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    Case $Klickermania
    Case $Klickermania
    Case $Klickermania
    Case $Klickermania
    Case $Button2
    EndSwitch
    WEnd

    HotKeySet ( "{F5}" , "Start" )
    HotKeySet ( "{F7}" , "Ende" )
    Hotkeyset( "{F6}" , "Pause" ) ; Pause

    Global $Paused

    while (1)
    sleep(500)
    wend;

    Func Start ()
    While (1)
    MouseClick("left", "508", "510", 1, 0)
    Sleep (500)
    Wend

    EndFunc
    Func Ende ()
    Exit
    EndFunc

    Func Pause()
    $Paused = Not $Paused
    While $Paused
    Sleep(50)
    WEnd
    EndFunc


    -----------------------------------------------------------------------------------------------------------------


    Hoffe auf Hilfe

    mfg Elbarto37

  • hi,

    du musst die funktionen die ausgeführt werden sollen, wenn ein button gedrückt wird, in die case anweisung schreiben... also:

    Case $Starten
    ....was dann passieren soll...
    Case $Beenden
    ....was dann passieren soll...

    vllt hilft das

  • Huhu,

    wieder ne noobige Frage aber bei mir ist doch kein Case$ Starten und bCase$beenden

    muss ich jetzt unter Case$Button2
    Starten schrieben oder wie


    sryyy für diese dummen Fragen :(

  • Also:

    [autoit]

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Klickermania
    Case $Button2
    (wenn $Button2 gedrückt wurde) -> was passieren soll also z.B. MsgBox(64,"Der Button2 wurde geklickt")
    Case $Button1
    (wenn $Button1 gedrückt wurde) -> was passieren soll also z.B. MsgBox(64,"Der Button1 wurde geklickt")
    EndSwitch
    WEnd

    [/autoit]


    Starten und Beenden waren nur Beispielname ^^


    Nochmal ein funktionierendes Beispiel:

    Spoiler anzeigen
    [autoit]

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

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

    #Region ### START Koda GUI section ### Form=
    $Form1 = GUICreate("Form1", 426, 234, 193, 125)
    $Button1 = GUICtrlCreateButton("Button1", 8, 8, 201, 97, 0)
    $Button2 = GUICtrlCreateButton("Button2", 8, 112, 201, 113, 0)
    $Button3 = GUICtrlCreateButton("Button3", 216, 8, 201, 97, 0)
    $Button4 = GUICtrlCreateButton("Button4", 216, 112, 201, 113, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    MsgBox(64,"Button1", "Button1 wurde geklickt!")
    Case $Button2
    MsgBox(64,"Button1", "Button2 wurde geklickt!")
    Case $Button3
    MsgBox(64,"Button1", "Button3 wurde geklickt!")
    Case $Button4
    MsgBox(64,"Button1", "Button4 wurde geklickt!")
    EndSwitch
    WEnd

    [/autoit]

    Einmal editiert, zuletzt von Johannes (5. Oktober 2008 um 14:25)

  • asoo nur beispiele xD^^

    Naja warte ma ich guck ob ich es gecheckt habe

    trotzdem schonma thx für die mühe^^

  • hmmm erstma danke aber Leider geht es in meinem Fall immer noch nicht


    P.S Sry for trippel posting

    Einmal editiert, zuletzt von Elbarto37 (12. Oktober 2012 um 22:25)

    • Offizieller Beitrag

    Deklarationen (Variablen, Hotkeys) am Skriptanfang!
    Endlosschleifen haben in Funktionen nichts zu suchen.

    Schau dir mal Skripte von anderen Usern an (findest eine reichliche Auswahl hier im Forum), damit du ein sauberes Konzept zusammbekommst.

    P.S. - Schon erstaunlich: Das Skript ist noch nicht mal lauffähig, aber die wichtigste Information, die eingebracht wird, ist ein Copyright!! :rofl: