Leeres Inputfeld in gui auswerten

  • Hallo Liebes Forum,

    dies ist mein erster Beitrag in dem Forum hier.
    Ich habe mich nach einer weile wieder mit Autoit beschäftigt hat soweit auch geklappt jedoch komme ich an einem Problem nicht weiter.
    ich Erzeuge eine Gui mit Inputfelder (welche mit "ID" und "WebPW" gefüllt werden) und der gleichen. Der Hinweistext "'ID' und 'WebPW' darf nicht verwendet werden" wird standardmäßig angezeigt. . Nun möchte ich wenn man auf den Button Start klickt das überprüft wird ob in den entsprechenden inputfeldern werte eingegeben worden sind, ansonsten soll ein Hinweis unten erscheinen, aufgrund der eingegebenen Daten, mit "ID eingeben"; "PW eingeben"; etc. -> Sobald ich eins hinbekomme bekomme ich die restlichen schon hin.
    Also zum Beispiel: wenn das "ID" gelöscht wird und leer ist und dann start gedrückt wird -> den Hinweis "Bitte ID eingeben" anstatt 'ID' und 'WebPW' darf nicht verwendet werden.
    Anbei mal mein Script:

    Spoiler anzeigen

    Vielen Dank schonmal für eure Hilfe :)

    Einmal editiert, zuletzt von darthrader (26. Januar 2014 um 20:18)

  • Auch ein Herzliches Wilkommen meinerseits :D

    Ansonsten geht das auch über

    [autoit]

    GuiCtrlRead()

    [/autoit]

    Dann sieht das so aus:

    [autoit]

    If GUICtrlRead($Input1) = "" Then
    MsgBox(0,"Error","Du musst deine ID eingeben")
    ElseIf GUICtrlRead($Input2) = "" Then
    MsgBox(0,"Error","Du musst dein WebPassword eingeben")
    Else
    ;Deine Funktion , was du mit den Daten machst
    EndIf

    [/autoit]


    Lg F4R

    Ein Spoiler im Spoiler im Spoiler...

    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen

    Die geheime Nachricht ist "Baum" !

  • Vielen Dank für die infos, aber manchmal steht man einfach auf dem schlauch ich hab das ganze eigt ganz einfach geändert :D
    ich habe das ganze umgebaut zu:

    Code
    GUICtrlSetData( $Label1, "Bitte 'ID' eingeben")


    Daraufhin wird dann je nach dem was meine voherigen if abfragen erbingen das Label1 (ID' und 'WebPW' darf nicht verwendet werden) entsprechend umgeschrieben. Natürlich wurden die anderen entsprechend dem obigen Code angepasst mit PW und der gleichen

    Vielen Dank trotzdem =)

    Kleine Anmerkung, das mit den Msg boxen geht natürlich auch sieht jedoch optisch nicht so toll aus ;)

  • Die MsgBox habe ich als schnelles bsp. verwendet :)

    Freut mich das wir dir helfen konnten.

    Ein Spoiler im Spoiler im Spoiler...

    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen
    Spoiler anzeigen

    Die geheime Nachricht ist "Baum" !

  • Hi, ich hatte mehr an eine "sprechende MsgBox" gedacht.
    Hier das Beispiel:

    [autoit]


    ;~ Leere Inputfelder in gui auswerten "sprechende MsgBox"
    #AutoIt3Wrapper_AU3Check_Parameters=-d -w 1 -w 2 -w 3 -w 4 -w 5 -w 6

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

    Opt('MustDeclareVars', 1)

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

    Global $msg, $sOutput, $lbl[2], $ipt[2], $sHeader[2] = ["Vorname", "Nachname"]

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

    Global $hGui = GUICreate("ControlGetText-Tut", 380, 120, 100, 100) ;i Hauptfenster erstellen
    Global $btn = GUICtrlCreateButton("Eingaben prüfen", 20, 80, 100, 25) ;i Button erstellen
    For $i = 0 To 1 ;i 2x = 0-1 > Labels und Inputs erstellen
    $lbl[$i] = GUICtrlCreateLabel($sHeader[$i], 25 + ($i) * 165, 20, 110, 20) ; Überschriften-Label erstellen
    GUICtrlSetFont(-1, 8, 400, 0, 'Verdana') ; Schriftgröße und -art der Überschriften festlegen
    $ipt[$i] = GUICtrlCreateInput("", 20 + ($i) * 165, 35, 160, 20) ; Eingabefelder erstellen
    GUICtrlSetFont(-1, 10, 600, 0, 'Verdana') ; Schriftgröße und -art der Eingabefelder festlegen
    Next
    GUISetState(@SW_SHOW)

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

    While True
    $msg = GUIGetMsg()
    Switch $msg
    Case -3
    ExitLoop
    Case $btn
    For $i = 0 To 1
    ;i Das Auslesen der Eingabefelder.
    While GUICtrlRead($ipt[$i]) = ""
    #cs
    Den Text aus den Labels lesen mit ControlGetText.
    Da in diesem Fall, die Labels im $sHeader-Array stehen
    ist auch die Abfrage über das $sHeader-Array möglich.
    #ce
    $sOutput = ''
    $sOutput &= ControlGetText($hGui, '', $lbl[$i])
    MsgBox(48, "Eingabeprüfung", $sOutput & " - Eine Eingabe ist erforderlich !" & @TAB)
    WEnd
    Next
    MsgBox(0, "Erfolg", "Alle Eingabefelder sind ausgefüllt !" & @TAB)
    EndSwitch
    WEnd
    ; Ende

    [/autoit]