GUICtrlSetState

  • Hallo,

    ich schreibe ja zur zeit an meinem NotizErsteller und will jetzt das mein button speichern ausgegraut wird wenn das inputfeld für den dateinamen leer ist. Den code habe ich schon geschrieben jedoch weiß ich nicht an welche stelle ich ihn schreiben muss. Hier der code:

    AutoIt
    if GUICtrlRead($Dateiname) = "" Then
      GUICtrlSetState($Speichern, $GUI_DISABLE)
    endif


    mein zweites Problem liegt hier:

    AutoIt
    Dim $iMsgBoxAnswer
    $iMsgBoxAnswer = MsgBox(262196,"Sicher?","Wollen Sie diese Datei wirklich löschen?")
    Select
       Case $iMsgBoxAnswer = "6" ;Yes
    	MsgBox(0, "ok", "datei wird gelöscht...")
       Case $iMsgBoxAnswer = "7"  ;No
    exit
    EndSelect

    welchen befehl nehme ich her dass wenn auf no gedrückt wird einfach die aktion abgebrochen wird und nicht das ganze skript endet?

    MFG
    xWerter

  • schreib doch einfach:

    AutoIt
    if MsgBox(262196,"Sicher?","Wollen Sie diese Datei wirklich löschen?")=7 then exit
    MsgBox(0, "ok", "datei wird gelöscht...")


    Dann wird geprüft, ob 7 gedrückt wurde, wenn nicht gehts weiter, sonst beendet.
    das disable schreibst du direkt nach erzeugung des buttons. Dann prüfst du einfach, ob dein inputfeld inhalt hat. wenn ja, wird er enabled.
    (zum testen, ob getippt wurde eignet sich guiregistermsg(...) gut)

    • Offizieller Beitrag

    welchen befehl nehme ich her dass wenn auf no gedrückt wird einfach die aktion abgebrochen wird und nicht das ganze skript endet?

    wohl eher so!

    AutoIt
    if MsgBox(262196,"Sicher?","Wollen Sie diese Datei wirklich löschen?") = 6 then
            MsgBox(0, "ok", "datei wird gelöscht...")
    endif


    Bei Ja wird die Msg ausgegeben ansonsten einfach weitergemacht

    Den code habe ich schon geschrieben jedoch weiß ich nicht an welche stelle ich ihn schreiben muss.

    Der Code kommt in die While-Schleife. Aber der Button muss auch wieder aktivert werden wenn ein Dateiname in der Zeile steht!

    Hier schematisch dargestellt!