Wie bekomme ich beide checkboxen gleichzeitig zum laufen

  • Ich möchte beide befehle im selben fenster abwechselnd laufe lassen


    Spoiler anzeigen

    #include <GUIConstants.au3>

    #Region ### START Koda GUI section ### Form=
    GUICreate("My GUI Fenster" ,750, 400)
    $tab=GUICtrlCreateTab (10,10,735,300)

    $tab1=GUICtrlCreateTabitem ("TestItemTab")
    $checkCN0 = GUICtrlCreateCheckbox ("3", 200, 50)
    $checkCN1 = GUICtrlCreateCheckbox ("4", 250, 50)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $checkCN0
    _Func1 ()
    Case $checkCN1
    _Func2 ()
    EndSwitch
    WEnd


    Func _Func1 ()
    Run("notepad.exe")
    WinWaitActive("Unbenannt - Editor")
    While 1
    Send("1")
    Sleep(3000)
    WEnd
    Exit
    EndFunc


    Func _Func2 ()
    Run("notepad.exe")
    WinWaitActive("Unbenannt - Editor")
    While 1
    Send("2")
    Sleep(3000)
    WEnd
    Exit
    EndFunc

    Wär echt Super wenn ihr helfen könntet hab schon kopfschmerzen ;( ;(

  • wenn Deine 1. Funktion aufgerufen wird:

    Spoiler anzeigen
    [autoit]

    Func _Func1 ()
    Run("notepad.exe")
    WinWaitActive("Unbenannt - Editor")
    While 1
    Send("1")
    Sleep(3000)
    WEnd
    Exit
    EndFunc

    [/autoit]

    läuft diese in einer Schleife, um alle 3 Sek. eine 1 zu schreiben.
    Aus dieser Art von Schleife gibt es kein zurück.
    D.h. es wird auch nicht mehr abgefragt, ob Checkbox 2 gedrückt wurde.
    Was meinst Du denn mit:

    Zitat

    beide befehle


    soll dann im Editor etwa stehen 121212121 ??????
    sowas müssen wir schon wissen :D
    PS: wenn du für Code mitposten willst, verwenden den "SP"-Button & rechts daneben den "AutoIt"-Button, dann wird der Code auch formatiert ;)

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • probier's mal so:

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    GUICreate("My GUI Fenster" ,750, 400)
    $tab=GUICtrlCreateTab (10,10,735,300)
    $tab1=GUICtrlCreateTabitem ("TestItemTab")
    $checkCN0 = GUICtrlCreateCheckbox ("3", 200, 50)
    $checkCN1 = GUICtrlCreateCheckbox ("4", 250, 50)
    GUICtrlCreateTabItem("") ; brauchst Du als "Abschluß der GuiCtrlCreateItem
    GUISetState(@SW_SHOW)
    Run("notepad.exe")
    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    If GuiCtrlRead($checkCN0) = 1 Then
    WinActivate("Unbenannt - Editor")
    Send("1")
    EndIf
    If GuiCtrlRead($checkCN1) = 1 Then
    WinActivate("Unbenannt - Editor")
    Send("2")
    EndIf
    Wend
    WinClose("Unbenannt - Editor")
    Exit

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • ich hab den Code bei mir laufen lassen und keine Probleme finden können.

    funzt net ist halt ein bisschen wenig zur Fehlersuche ;)

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • oh sry bin eben noch ein noob aber das wird schon

    bei mir schreibt er entweder die 1 oder die 2 in den editor

    aber nicht abwechseld die 1 oder die 2

    eigentlich macht er genau das selbe wie mein code ?????????????ß

    sry war mein fehler habs nochmal prob und jetzt läuft das perfect

    vielen vielen dank für deine hilfe

  • hab ein neues prob.
    Und zwar öffnet sich der editor gleich wenn ich mein GUI fenster öffner ,wieso?
    Ich möchte das sich das erst öffnet wenn ich eine checkbox aktiviert habe. ;)

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    GUICreate("My GUI Fenster" ,750, 400)
    $tab=GUICtrlCreateTab (10,10,735,300)
    $tab1=GUICtrlCreateTabitem ("TestItemTab")
    $checkCN0 = GUICtrlCreateCheckbox ("3", 200, 50)
    $checkCN1 = GUICtrlCreateCheckbox ("4", 250, 50)
    GUICtrlCreateTabItem("") ; brauchst Du als "Abschluß der GuiCtrlCreateItem
    GUISetState(@SW_SHOW)
    Run("notepad.exe")
    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop
    If GuiCtrlRead($checkCN0) = 1 Then
    WinActivate("Unbenannt - Editor")
    Send("1")
    EndIf
    If GuiCtrlRead($checkCN1) = 1 Then
    WinActivate("Unbenannt - Editor")
    Send("2")
    EndIf
    Wend
    WinClose("Unbenannt - Editor")
    Exit

    [/autoit]
  • Wenn Du Dein Script durchliest, dann sagst Du doch in Zeile 9: Run ("notepad.exe") und öffnest damit den Editor noch vor der While Schleife, in der Du die Checkboxen abfragst.
    Also müßtest Du eigentlich erst innerhalb der Checkbox-Abfragen den Editor öffnen. Da Du aber nicht jedesmal, wenn Du eine Ziffer schreibst den Editor auch wieder schließen willst, musst Du auch eine Abfrage einbauen ob der Editor schon läuft.

  • Krieg ich nicht hin **heul**
    Kannst Du mir bitte den Code posten :D

    Wär echt cool von Dir :thumbup:

  • mit **heul** wird es auch nicht besser.
    Ich denke, was den Leuten hier im Forum fehlt, ist zu sehen, dass Du daran interessiert bist etwas zu lernen.
    Dazu gehört auch mal seinen eigenen Kopf etwas anzustrengen und eine Weile rumzuprobieren.
    Wenn Du dann immer noch nicht weiter kommst, dann kannst Du Deinen Code posten.
    Und wenn die Leute hier sehen, dass Du dich bemüht hast und nicht bloß eine Zeile von einem verherigen Post reinkopiert hast,
    um Deine geistigen Anstrengungen zu zeigen, dann wird Dir sicherlich in kürzester Zeit geholfen.

    Sowas nennt man Hilfe zur Selbsthilfe... :rock:

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • OK Chef wird gemacht. :P
    Aber ich hab mir schon den Kopfzerbrochen.
    Und der Code denn ich gepostet habe ist in der Tat nicht meiner ,mein Code ist ein
    anderer ,aber wie gesagt bin ein totaler N00b und ich prob einzelne
    Sachen aus!
    Ich tüftel mal weiter an meinem Code und wenn ich nicht weiter komme
    wärs echt nett wenn ihr weiterhelfen könntet. ;)


    P.S. Schnuffel hast du ICQ? Kann ich dir meine nummer geben?

  • ich kriegs echt net hin ich möchte das auf dem button die funktion Run("notepade.exe")zusetzen
    und das ich dann mit den checkboxen die tasten anschläge dort hin sende.
    Ich hab versprochen mein bestes getan um selber drauf zukommen aber kriegs echt noch nicht alleine hin.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    GUICreate("test",700,400)
    $tab = GUICtrlCreateTab ( 10, 10, 680, 350)
    $tabitem = GUICtrlCreateTabItem ("TestTabItem")
    $button1 = GUICtrlCreateButton ("Notizen",640,370)
    $checkbox1 = GUICtrlCreateCheckbox ( "Checkbox1", 100,50)
    $checkbox2 = GUICtrlCreateCheckbox ("Checkbox2",300,50)
    GUISetState(@SW_SHOW)

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

    Run("notepad.exe")
    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop

    If GUICtrlRead($checkbox1) = 1 Then
    WinActivate("Editor")
    Send("1")
    EndIf

    If GUICtrlRead($checkbox2) = 1 Then
    WinActivate("Editor")
    Send("2")
    EndIf
    WEnd

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

    Exit

    [/autoit]

    Wenns möglich ist über den button den Editor aufrufen
    und einen 2. button um den Editor wieder zu schliessen.

    ;( ;( ;( ;( ;( ;( ;(

    Vielen Dank für eure Hilfe

  • bau mal darauf auf...

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    GUICreate("test",700,400)
    $tab = GUICtrlCreateTab ( 10, 10, 680, 350)
    $tabitem = GUICtrlCreateTabItem ("TestTabItem")
    $button1 = GUICtrlCreateButton ("Notizen",640,370)
    $checkbox1 = GUICtrlCreateCheckbox ( "Checkbox1", 100,50)
    $checkbox2 = GUICtrlCreateCheckbox ("Checkbox2",300,50)
    $btn1 = GUICtrlCreateButton ("Notepad an", 200,200,80,20)
    $btn2 = GUICtrlCreateButton ("Notepad aus", 400,200,80,20)
    GUISetState(@SW_SHOW)

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

    While 1
    $msg = GUIGetMsg()
    If $msg = $GUI_EVENT_CLOSE Then ExitLoop

    If GUICtrlRead($checkbox1) = 1 Then
    WinActivate("Unbenannt - Editor")
    Send("1")
    EndIf
    If GUICtrlRead($checkbox2) = 1 Then
    WinActivate("Unbenannt - Editor")
    Send("2")
    EndIf
    If $msg = $btn1 Then
    If WinActive("notepad.exe") Then
    WinActivate("Unbenannt - Editor")
    Else
    Run("notepad.exe")
    EndIf
    EndIf
    If $msg = $btn2 Then
    WinClose("Unbenannt - Editor")
    EndIf
    WEnd
    Exit

    [/autoit]


    aber wie gesagt, ich möchte in Zukunft Deine eigenen Denkansätze sehen..........

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    GUICreate("test",700,400)
    $tab = GUICtrlCreateTab ( 10, 10, 680, 350)
    $tabitem = GUICtrlCreateTabItem ("TestTabItem")
    $button1 = GUICtrlCreateButton ("Notizen",640,370)
    $button2 = GUICtrlCreateButton ("Editor schließen",10,370)
    $checkbox1 = GUICtrlCreateCheckbox ( "Checkbox1", 100,50)
    $checkbox2 = GUICtrlCreateCheckbox ("Checkbox2",300,50)
    GUISetState(@SW_SHOW)

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


    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $button1
    Run("notepad.exe")
    Case $button2
    ProcessClose("notepad.exe")
    EndSwitch
    If GUICtrlRead($checkbox1) = 1 Then
    If WinExists("Unbenannt - Editor") Then
    ControlSend("Unbenannt - Editor", "", 15, "1")
    sleep(100)
    EndIf
    EndIf
    If GUICtrlRead($checkbox2) = 1 Then
    If WinExists("Unbenannt - Editor") Then
    ControlSend("Unbenannt - Editor", "", 15, "2")
    sleep(100);je nachdem wie schnell du den spaß haben willst
    EndIf
    EndIf
    WEnd

    [/autoit]

    Weil mir langweilig war, habe ich mal nen kleinen Ansatz geschrieben.

    • Offizieller Beitrag

    Bitte!


    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    GUICreate("test",700,400)
    $tab = GUICtrlCreateTab ( 10, 10, 680, 350)
    $tabitem = GUICtrlCreateTabItem ("TestTabItem")
    $button1 = GUICtrlCreateButton ("Notizen",640,370)
    $checkbox1 = GUICtrlCreateCheckbox ( "Checkbox1", 100,50)
    $checkbox2 = GUICtrlCreateCheckbox ("Checkbox2",300,50)
    GUISetState(@SW_SHOW)

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

    While 1
    Switch GUIGetMsg()
    Case $GUI_EVENT_CLOSE
    ExitLoop

    Case $button1
    If ProcessExists("notepad.exe") Then
    WinClose("[CLASS:Notepad]", "")
    Else
    Run("notepad.exe")
    EndIf
    EndSwitch

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

    If BitAnd(GUICtrlRead($checkbox1),$GUI_CHECKED) = $GUI_CHECKED Then
    ;~ WinActivate("[Class:Notepad]")
    ControlSend("[Class:Notepad]", "", "Edit1", "1")
    EndIf

    If BitAnd(GUICtrlRead($checkbox2),$GUI_CHECKED) = $GUI_CHECKED Then
    ;~ WinActivate("[Class:Notepad]")
    ControlSend("[Class:Notepad]", "", "Edit1", "2")
    EndIf
    WEnd

    [/autoit] [autoit][/autoit] [autoit][/autoit]
  • Vielen dank Leute ich nerv auch nicht weiter
    probier mal selbst drauf aufzubauen.
    Ich mach grad tutorial auf WIKI
    Und nochmals danke für eure Hilfe
    ich finde autoit echt krass das macht voll Laune. :thumbup:

    Könnt Ihr mich noch bitte erzählen ob es gute Bücher für anfänger gibt
    wie gesagt bin erst seit 4 tagen dabei und hab keinerlei vorkenntnisse
    und ich find die tutorials sind noch etwas kompli aber das wird schon noch ;)

    :rock: :rock: :rock: :rock: :rock: :rock: :rock: :rock: :rock: :rock: :rock: :rock: :rock:

    :thumbup: P.S. Ihr habts echt drauf :thumbup:

  • Ich wollte gerne über einen Slider die Zeit zwischen den checkboxen bestimmen
    Und hab es echt hinbekommen
    zwischen min 1sek bis 5 sek
    bin ja ein bische stolz

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    GUICreate("test",700,400)
    $tab = GUICtrlCreateTab ( 10, 10, 680, 350)
    $tabitem = GUICtrlCreateTabItem ("TestTabItem")
    $button1 = GUICtrlCreateButton ("Notizen",640,370)
    $button2 = GUICtrlCreateButton ("Editor schließen",10,370)
    $checkbox1 = GUICtrlCreateCheckbox ( "Checkbox1", 100,50)
    $checkbox2 = GUICtrlCreateCheckbox ("Checkbox2",300,50)
    $slider1 = GUICtrlCreateSlider (100,100,200,20)
    GUICtrlSetLimit(-1,5000,1000)
    GUISetState(@SW_SHOW)
    GUICtrlSetData($slider1, 2,0)

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


    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $button1
    Run("notepad.exe")
    Case $button2
    ProcessClose("notepad.exe")
    EndSwitch
    If GUICtrlRead($checkbox1) = 1 Then
    If WinExists("Unbenannt - Editor") Then
    ControlSend("Unbenannt - Editor", "", 15, "1")
    sleep(GUICtrlRead($Slider1))
    EndIf
    EndIf
    If GUICtrlRead($checkbox2) = 1 Then
    If WinExists("Unbenannt - Editor") Then
    ControlSend("Unbenannt - Editor", "", 15, "2")
    sleep(GUICtrlRead($Slider1));je nachdem wie schnell du den spaß haben willst
    EndIf
    EndIf
    WEnd

    [/autoit]

    Ist doch ein anfang ;)

  • Hab ein bischen weiter gebastelt und probier das grad mit input boxen zu bestimmen in welchen abständen
    sie einen befehl in den editor schicken .
    Kriegs aber irgendwie nicht hin

    Es klappt soweit ganz gut aber net ganz richtig
    zb möchte ich wenn ich input1 auf 1sek gestellt ist
    und die input2 5sek einstellt das ein code im editor ankommt der so ist 111121111211112usw..
    Bei mir ist es so wenn ich nur eine inputbox anmache klappt es er gibt dann in korrekten abständen
    z.b 1 eine sek warte 1 eine sek warten 1 usw.. aber wenn ich beide mit verschiedenen zeiten anmache
    nimmt er nur die abstände der ersten inputbox und dann steht da 121212121212usw..

    hier der code

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    GUICreate("test",700,400)
    $tab = GUICtrlCreateTab ( 10, 10, 680, 350)
    $button1 = GUICtrlCreateButton ("Notizen",640,370)
    $button2 = GUICtrlCreateButton ("Editor schließen",10,370)
    $tabitem = GUICtrlCreateTabItem ("TestTabItem")
    $checkbox1 = GUICtrlCreateCheckbox ( "Checkbox1", 100,50)
    $checkbox2 = GUICtrlCreateCheckbox ("Checkbox2",300,50)
    $slider1 = GUICtrlCreateSlider (100,100,200,20)
    $tabitem2 = GUICtrlCreateTabItem("test2")
    $checkbox21 = GUICtrlCreateCheckbox ("3",120,70)
    $checkbox22 = GUICtrlCreateCheckbox ("4",200,70)
    $input1 = GUICtrlCreateInput("",150,70)
    GUICtrlSetData($input1,5000,1)
    $input2 = GUICtrlCreateInput("",230,70)
    GUICtrlSetData($input2,5000,1)
    GUICtrlSetLimit($slider1,5000,1000)
    GUISetState(@SW_SHOW)
    GUICtrlSetData($slider1, 2,0)

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


    While 1
    $msg = GUIGetMsg()
    Switch $msg
    Case $GUI_EVENT_CLOSE
    ExitLoop
    Case $button1
    Run("notepad.exe")
    Case $button2
    ProcessClose("notepad.exe")
    EndSwitch
    If GUICtrlRead($checkbox1) = 1 Then
    If WinExists("Unbenannt - Editor") Then
    ControlSend("Unbenannt - Editor", "", 15, "1")
    sleep(GUICtrlRead($Slider1))
    EndIf
    EndIf
    If GUICtrlRead($checkbox2) = 1 Then
    If WinExists("Unbenannt - Editor") Then
    ControlSend("Unbenannt - Editor", "", 15, "2")
    sleep(GUICtrlRead($Slider1))
    EndIf
    EndIf
    If GUICtrlRead($checkbox21) = 1 Then
    If WinExists("Unbenannt - Editor") Then
    ControlSend("Unbenannt - Editor","",15,"1")
    sleep(GUICtrlRead($input1))
    EndIf
    EndIf
    If GUICtrlRead($checkbox22) = 1 Then
    If WinExists("Unbenannt - Editor") Then
    ControlSend("Unbenannt - Editor","",15,"2")
    sleep(GUICtrlRead($input2))
    EndIf
    EndIf
    WEnd

    [/autoit]

    Bin dankbar für jede hilfe und hab echt schon einiges probiert um es selber hizubekommen 8|