aus switch "rausspringen"

  • Hi, habn kleines Problem

    ich möchte, dass wenn kein Wert eingegeben wird, der User hingewiesen wird und er nochmal alles eingeben kann. problem:

    ich hoffe man versteht was ich meine. der user soll rausgeworfen werden, da ansonsten die _funktion() aufgerufen wird, aber diese soll nicht ohne wert ("") ausgeführt werden..

    Einmal editiert, zuletzt von unaimed (28. September 2009 um 23:29)

  • Wieso machst dus nich einfach so:

    Spoiler anzeigen
    [autoit]

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

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

    Case $OK
    If $titel_INPUT = "" Then
    MsgBox( 0, "Angaben Fehlen!", "Es fehlt ein Titel!")
    Else
    _funktion()
    EndIf

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

    Endswitch
    wend

    [/autoit]

    MFG FireFlyer

    *Paradox ist, wenn man sich im Handumdrehen den Fuss bricht* :D

  • Der Befehl "ContinueCase" hat geholfen, danke Raupi!

    edit.
    fireflyer: weil es mehrere bedingungen sind und ich keine lust auf unübersichtliche 5 ifs ineinander habe ;D

  • Hallo unaimed,

    mach es doch einfach so:

    [autoit]

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

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

    Local $iLeft = 100
    Local $iTop = 200
    Local $iWidth = 250
    Local $iHeight = 200

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

    $hGui = GUICreate("Demo ConrolFocus", $iWidth, $iHeight, $iLeft, $iTop, BitOR($WS_MINIMIZEBOX, $WS_MAXIMIZEBOX, $WS_SIZEBOX))
    $titel_INPUT = GUICtrlCreateInput("", 5, 30, $iWidth - 10, 25)
    $ok = GUICtrlCreateButton('&OK', $iWidth / 2 - 35, 75, 70, 25, $BS_DEFPUSHBUTTON)
    GUISetState()

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

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

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

    Case $ok
    If GuiCtrlRead($titel_INPUT) = "" Then
    MsgBox(0, "Angaben Fehlen!", "Es fehlt ein Titel!")
    ControlFocus($hGui, '', $titel_INPUT);
    Else
    ;_funktion() z.B. Speichern
    exit ;als Demo dass etwas passiert
    EndIf

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

    EndSwitch
    WEnd

    [/autoit]

    Du hattest GuiCtrlRead vergessen, dadurch musste die Prüfung auf "" immer falsch ausfallen. Zusätzlich habe ich noch ControlFocus mit hinein genommen, damit der Anwender gleich auf dem Eingabefeld landet.

    mfg (Auto)Bert