Inputbox nach Eintrag weiter

  • Hallo,

    ich möchte einen Inputbox Code
    in diverse Scripte einbauen.

    Im Prinzip 2 oder mehrere Inputboxen.

    Meine Frage:

    Wie kann ich bei den Inputboxen einbauen,

    1. Sobal Text eingetragen wurde (nach 2 Sekunden automatisch weiter) also OK
    2. Zusätzlich kann man auch auf OK klicken!
    Kann man das in eine einzele Funktion machen die ich dann
    in andere Scripte einbauen kann?

    [spoiler]

    [autoit]


    $IPT1 = InputBox("Frage1", "Die Erste Frage")
    $IPT2 = InputBox("Frage2", "Die zweite Frage")
    $IPT3 = InputBox("Frage3", "Die dritte Frage")

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

    Msgbox(4096,"Ende","Fertig")

    [/autoit]


    [/spoiler


    Viele Grüße
    Ilse ;)

  • Hallo Bugfux,

    hm eine kleine Gui habe ich.

    Spoiler anzeigen
    [autoit]


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

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

    $Form1_1 = GUICreate("Frage", 389, 213, 527, 211)
    GUISetFont(12, 400, 0, "Verdana")
    $Input1 = GUICtrlCreateInput("", 24, 128, 353, 26)
    $lblFrage = GUICtrlCreateLabel("Frage", 24, 24, 49, 22)
    $btnOK = GUICtrlCreateButton("ok", 296, 168, 75, 25)
    $btnCancel = GUICtrlCreateButton("Cancel", 176, 168, 99, 25)

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

    GUISetState(@SW_SHOW)

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

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

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

    Case $btnOK
    Case $btnCancel
    EndSwitch
    WEnd

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

    aber wie gesagt, es soll automatisch weitergehen, sobald ein Eintrag erfolgt ist!

    Kannst du mir da ein Beispiel geben.
    Wie ich mehrere "Guis" (Inputboxen) organisieren?

    Liebe Grüße
    Ilse ;)

  • Eine GUI mit Koda zusammenzuklicken zählt nicht als Eigeninitiative.
    Versuch es erst mal selbst.
    Im Forum gibts gefühlt > 1000 Threads die dir bei sowas weiterhelfen können...

    • Offizieller Beitrag

    Ilse:
    Was hast du eigentlich die letzten 3,5 Jahre getrieben? Du bist dauernd online, stellst tausend Fragen und hast bis heute ausser der Bedienung von Koda nix gelernt! Vielleicht solltest du lieber Briefmarken sammeln oder Autoquaretett spielen. Programmierung ist definitiv für dich ungeeignet.
    Weiterer Support von meiner Seite nicht mehr.

  • Hier hast du zwei Beispiele, wie man zwischen verschiedenen GUIs hin und her wechselt.

    Zu deiner Frage bezüglich der "automatischen Weiterleitung" bei Texteingabe - hier hilft dir die Forensuche und Google weiter. Es gibt unzählige Beispiele, wie man prüft ob in einem Inputfeld ein Text eingegeben wurde. Wenn das klappt, brauchst du nur noch eine Bedingung die prüft, ob die letzte Eingbabe x Sekunden her ist und automatisch weitergeleitet werden soll.

    Das Zauberwort heisst hier, wie bereits von Schnitzel erwähnt, Eigeninitiative!

    Ansonsten ist dein Thema in diesem Unterforum besser aufgehoben - https://autoit.de/index.php?page=Board&amp;boardID=51

    Spoiler anzeigen
    [autoit]

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

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

    $gui1 = GUICreate("GUI-1", 259, 46)
    $Button1_1 = GUICtrlCreateButton("zu GUI-1", 8, 8, 75, 25, $WS_GROUP)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Button2_1 = GUICtrlCreateButton("zu GUI-2", 88, 8, 75, 25, $WS_GROUP)
    $Button3_1 = GUICtrlCreateButton("zu GUI-3", 168, 8, 75, 25, $WS_GROUP)
    GUISetState(@SW_SHOW)

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

    $gui2 = GUICreate("GUI-2", 259, 46)
    $Button1_2 = GUICtrlCreateButton("zu GUI-1", 8, 8, 75, 25, $WS_GROUP)
    $Button2_2 = GUICtrlCreateButton("zu GUI-2", 88, 8, 75, 25, $WS_GROUP)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Button3_2 = GUICtrlCreateButton("zu GUI-3", 168, 8, 75, 25, $WS_GROUP)
    GUISetState(@SW_HIDE)

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

    $gui3 = GUICreate("GUI-3", 259, 46)
    $Button1_3 = GUICtrlCreateButton("zu GUI-1", 8, 8, 75, 25, $WS_GROUP)
    $Button2_3 = GUICtrlCreateButton("zu GUI-2", 88, 8, 75, 25, $WS_GROUP)
    $Button3_3 = GUICtrlCreateButton("zu GUI-3", 168, 8, 75, 25, $WS_GROUP)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUISetState(@SW_HIDE)

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button2_1
    GUISetState(@SW_HIDE, $gui1)
    GUISetState(@SW_SHOW, $gui2)
    Case $Button3_1
    GUISetState(@SW_HIDE, $gui1)
    GUISetState(@SW_SHOW, $gui3)
    Case $Button1_2
    GUISetState(@SW_HIDE, $gui2)
    GUISetState(@SW_SHOW, $gui1)
    Case $Button3_2
    GUISetState(@SW_HIDE, $gui2)
    GUISetState(@SW_SHOW, $gui3)
    Case $Button1_3
    GUISetState(@SW_HIDE, $gui3)
    GUISetState(@SW_SHOW, $gui1)
    Case $Button2_3
    GUISetState(@SW_HIDE, $gui3)
    GUISetState(@SW_SHOW, $gui2)
    EndSwitch
    WEnd

    [/autoit]
    Spoiler anzeigen
    [autoit]

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

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

    Opt("GUIOnEventMode", 1)

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

    $gui1 = GUICreate("GUI-1", 259, 46)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
    $Button1 = GUICtrlCreateButton("zu GUI-1", 8, 8, 75, 25, $WS_GROUP)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Button2 = GUICtrlCreateButton("zu GUI-2", 88, 8, 75, 25, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "_show2")
    $Button3 = GUICtrlCreateButton("zu GUI-3", 168, 8, 75, 25, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "_show3")
    GUISetState(@SW_SHOW)

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

    $gui2 = GUICreate("GUI-2", 259, 46)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
    $Button1 = GUICtrlCreateButton("zu GUI-1", 8, 8, 75, 25, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "_show1")
    $Button2 = GUICtrlCreateButton("zu GUI-2", 88, 8, 75, 25, $WS_GROUP)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $Button3 = GUICtrlCreateButton("zu GUI-3", 168, 8, 75, 25, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "_show3")
    GUISetState(@SW_HIDE)

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

    $gui3 = GUICreate("GUI-3", 259, 46)
    GUISetOnEvent($GUI_EVENT_CLOSE, "_exit")
    $Button1 = GUICtrlCreateButton("zu GUI-1", 8, 8, 75, 25, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "_show1")
    $Button2 = GUICtrlCreateButton("zu GUI-2", 88, 8, 75, 25, $WS_GROUP)
    GUICtrlSetOnEvent(-1, "_show2")
    $Button3 = GUICtrlCreateButton("zu GUI-3", 168, 8, 75, 25, $WS_GROUP)
    GUICtrlSetState(-1, $GUI_DISABLE)
    GUISetState(@SW_HIDE)

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

    While 1
    Sleep(100)
    WEnd

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

    Func _show1()
    GUISetState(@SW_HIDE, $gui2)
    GUISetState(@SW_HIDE, $gui3)
    GUISetState(@SW_SHOW, $gui1)
    EndFunc ;==>_show1

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

    Func _show2()
    GUISetState(@SW_HIDE, $gui1)
    GUISetState(@SW_HIDE, $gui3)
    GUISetState(@SW_SHOW, $gui2)
    EndFunc ;==>_show2

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

    Func _show3()
    GUISetState(@SW_HIDE, $gui1)
    GUISetState(@SW_HIDE, $gui2)
    GUISetState(@SW_SHOW, $gui3)
    EndFunc ;==>_show3

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

    Func _exit()
    Exit
    EndFunc ;==>_exit

    [/autoit]
  • Hi,

    Zitat von BugFix

    und hast bis heute ausser der Bedienung von Koda nix gelernt!

    Um mal in diese Kerbe zu schlagen ist schon die Frage

    Zitat von ilse

    aber wie gesagt, es soll automatisch weitergehen, sobald ein Eintrag erfolgt ist!

    reichlich Überflüssig, denn wer in der Hilfe zur InputBox() nachliest, findet den Parameter "timeout" den man ohne weiteres auf 2 Sekunden einstellen kann.
    .
    Wobei jedem, der jemals eine GUI erstellt/benutzt hat unklar ist, wieso das nächste Eingabefeld nicht einfach per Enter/Tab angewählt wird....

  • Zitat


    reichlich Überflüssig, denn wer in der Hilfe zur InputBox() nachliest, findet den Parameter "timeout" den man ohne weiteres auf 2 Sekunden einstellen kann...


    1. Timeout weiss ich, das ist nicht die Lösung.

    Spoiler anzeigen


    $IPT1 = InputBox("Frage1", "Die Erste Frage","","","","","","",2)


    3. Google suche (timer...kenne ich)

    Wie kann ich diese 2 Sekunden (INPUTBOX) mit Eintrag kombinieren.

    Grüße
    Ilse ;)

    @ Bugfix
    Dein Kommentar ist wohl leicht daneben.

  • Ilse,
    ich zitiere dich mal, um es dir deutlich zu machen, worum es uns geht!

    Zitat von Threadtitel

    Inputbox nach Eintrag weiter

    Zitat von erste Zeile nach: Hallo

    ich möchte einen Inputbox Code

    Zitat von zwei Zeilen weiter

    Im Prinzip 2 oder mehrere Inputboxen.

    Zitat von noch ne Zeile weiter

    Wie kann ich bei den Inputboxen einbauen,

    -bla
    -blub


    In deinem Startpost gehts nur um eins! INPUTBOXEN!
    Nur geht´s mit Sicherheit garnicht um Inputboxen, sondern um irgendwelche Eingaben/Antworten für ein Quiz (zeitabhängig). Vermute ich mal...
    Problem erkannt?
    Völlig falscher Threadtitel mit völlig irreführendem Inhalt!
    Auch die 2 Sekunden geben nicht mal ansatzweise etwas her, denn soll diese Zeit ab Erscheinen deiner "Inputbox" ablaufen, oder soll die Eingabe nachdem 2 Sekunden lang kein weiterer Text eingegeben wurde, "Automatisch OK gedrückt" werden? ( was übrigens programmiertechnisch gesehen der größte Humbug ist, denn es wird lediglich eine Funktion beendet....auf OK drückt hier niemand!)
    Nach 3 1/2 Jahren hier im Forum sollte man nach über 1000 geschriebenen Postings in der Lage sein, ein Problem so formulieren zu können, dass die Helfer auch ohne zig Nachfragen erkennen können, um was es überhaupt geht!
    Oder man ignoriert solche Threads in Zukunft....wundert dich das?

  • i2c
    ja habe ich gelesen.
    merci. Muß ich mir noch genauer ansehen

    Andy
    du hast ja recht.
    Ich habe Probleme m. Formulierungen.
    Sorry, bin heute etwas down nach Stunden tippen...

    Kein Quiz...
    Es müssen viele Daten ausgefüllt werden.
    Sobald was geschrieben wurde ist diese Box nach 2 Sekunden beendet und es geht weiter...

    ;) Ilse

  • Dann zeig jetzt etwas Eigeninitiative oder ich reinige dieses Thema und verschiebe es nach Programmieranfragen.

    Hier ist "Hilfe & Unterstützung" und man erwartet hier bei komplexen Problemen zumindest Beispielskripte und einen Ansatz zur Lösung. Da kann ich den Unmut Einiger durchaus verstehen.

  • Hab mal eben was gemacht, was in die richtige Richtung gehen könnte:

    [autoit]

    Func _Input()
    $Form1_1 = GUICreate("Frage", 389, 213, 527, 211)
    $Input1 = GUICtrlCreateInput("", 24, 128, 353, 26)
    $lblFrage = GUICtrlCreateLabel("Frage", 24, 24, 49, 22)
    $btnOK = GUICtrlCreateButton("ok", 296, 168, 75, 25)
    $btnCancel = GUICtrlCreateButton("Cancel", 176, 168, 99, 25)
    GUISetState(@SW_SHOW)
    $a = TimerInit()
    $change = ""
    While sleep(50)
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case -3
    ExitLoop

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

    Case $btnOK
    Case $btnCancel
    EndSwitch
    If $change <> GUICtrlRead($Input1) Then
    $change = GUICtrlRead($Input1)
    $a = TimerInit()
    EndIf
    If TimerDiff($a) > 2000 Then
    ExitLoop
    EndIf
    WEnd
    Return GUICtrlRead($Input1)
    EndFunc

    [/autoit]


    Das returnt die Eingabe, wenn man 2 sec. nichts mehr eingegeben hat.

    • Offizieller Beitrag

    jjj:
    Und - fühlst du dich jetzt wohl, wenn du einem lernresistenten und lösungsunwilligen User die Arbeit abnimmst?
    Davon hat er nichts und lernt null. Das wird einfach per C&P übernommen und dann läßt er sich dafür 'nen Doktortitel verleihen.
    Ich plädiere hier für absolute Verweigerung von Support.

  • @ alle
    ich muß wieder zur Arbeit. Kann morgen erst wieder ran.

    BugFix
    jetzt ist aber gut...
    natürlich lernt man v. Beispielen
    Ist heute wohl nicht dein Tag!

    jjj
    merci für deine Hilfe

    i2c
    Eigeninitiative, morgen wieder...

    Danke

    :) Ilse

    • Offizieller Beitrag

    Ilse: Den Unmut einiger User hier kann ich gut nachvollziehen. Du stellst "1000" Fragen, aber es kommt von Dir immer nur "Ok, Thema gelöst!", nachdem Du den Scriptteil (meistens schon ein komplettes Script) bekommen hast. Nie gab es bisher ein veröffentlichtes Script von Dir, indem man sehen kann, wozu die Hilfe gut war. Solch ein Verhalten wird in einem Forum nicht gern gesehen. Du "saugst" Dir die Informationen/Lösungen und gibst dem Forum nichts zurück. Wie wäre es, wenn Du Dein Quiz (oder was immer das werden soll), hier unter "Scripte" oder "Projekte" mal veröffentlichst? Denk mal darüber nach...