Button(s) im zweiten GUI funktioniert/funktionieren nicht

  • Hi Leute,

    der Button im zweiten GUI (Ändern-Button) soll eigentlich eine leere MessageBox anzeigen, tut er jedoch nicht. Wenn ich die Checkbox ankreuze wird jedoch das Label und das Inputfeld geöffnet, bzw. beim wegkreuzen wieder geschlossen (Disabled). Kann mir jemand sagen wieso?

    Text Ver- und Entschlüsseler (Script auch im Anhang)
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <String.au3>
    #Region ### START Koda GUI section ### Form=C:\Users\Burak\Desktop\Programme\AutoIt v3\Projekte\Text ver(ent)schlüsseler\Form1.kxf
    $Form1 = GUICreate("Text Ver- und Entschlüsseler", 834, 630, 193, 75)
    $MenuItem1 = GUICtrlCreateMenu("&Datei")
    $MenuItem5 = GUICtrlCreateMenuItem("Verstecken", $MenuItem1)
    $MenuItem4 = GUICtrlCreateMenuItem("Minimieren", $MenuItem1)
    $MenuItem2 = GUICtrlCreateMenuItem("Schließen", $MenuItem1)
    $Menu2 = GUICtrlCreateMenuItem("&Einstellungen", -1)
    GUISetFont(11, 400, 0, "Calibri")
    GUISetBkColor(0x99B4D1)
    $Label1 = GUICtrlCreateLabel("Text zum verschlüsseln:", 8, 8, 151, 22)
    $Edit1 = GUICtrlCreateEdit("", 8, 40, 817, 105, $ES_WANTRETURN)
    GUICtrlSetData(-1, "")
    GUICtrlSetCursor(-1, 5)
    $Label2 = GUICtrlCreateLabel("Passwort:", 184, 8, 64, 22)
    $Input1 = GUICtrlCreateInput("", 248, 8, 121, 26, $ES_PASSWORD)
    GUICtrlSetCursor(-1, 5)
    $Button1 = GUICtrlCreateButton("Verschlüsseln", 384, 8, 91, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Button2 = GUICtrlCreateButton("Leeren", 488, 8, 75, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Label3 = GUICtrlCreateLabel("Text zum entschlüsseln:", 8, 160, 152, 22)
    $Label4 = GUICtrlCreateLabel("Passwort:", 185, 160, 64, 22)
    $Input2 = GUICtrlCreateInput("", 249, 160, 121, 26, $ES_PASSWORD)
    GUICtrlSetCursor(-1, 5)
    $Button3 = GUICtrlCreateButton("Entschlüsseln", 385, 160, 91, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Button4 = GUICtrlCreateButton("Leeren", 489, 160, 75, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Edit2 = GUICtrlCreateEdit("", 8, 192, 817, 105, $ES_WANTRETURN)
    GUICtrlSetCursor(-1, 5)
    $Label5 = GUICtrlCreateLabel("Verschlüsselter Text:", 8, 312, 134, 22)
    $Edit3 = GUICtrlCreateEdit("", 8, 344, 817, 105, BitOR($ES_READONLY, $ES_WANTRETURN))
    GUICtrlSetCursor(-1, 5)
    $Label6 = GUICtrlCreateLabel("Entschlüsselter Text:", 8, 464, 132, 22)
    $Edit4 = GUICtrlCreateEdit("", 8, 496, 817, 105, BitOR($ES_READONLY, $ES_WANTRETURN))
    GUICtrlSetCursor(-1, 5)
    $Button5 = GUICtrlCreateButton("Leeren", 488, 312, 75, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Button6 = GUICtrlCreateButton("Kopieren", 384, 312, 91, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Button7 = GUICtrlCreateButton("Kopieren", 384, 464, 91, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Button8 = GUICtrlCreateButton("Leeren", 488, 464, 75, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Button9 = GUICtrlCreateButton("Einfügen", 576, 8, 75, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Button10 = GUICtrlCreateButton("Einfügen", 576, 160, 75, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Button11 = GUICtrlCreateButton("Alles leeren", 736, 8, 83, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    GUISetState(@SW_SHOW, $Form1)
    #EndRegion ### END Koda GUI section ###

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

    #Region ### START Koda GUI section ### Form=c:\users\burak\desktop\programme\autoit v3\projekte\text ver(ent)schlüsseler\form2.kxf
    $Form2 = GUICreate("Einstellungen", 610, 130, 192, 124)
    GUISetFont(11, 400, 0, "Calibri")
    GUISetBkColor(0x99B4D1)
    $Checkbox1 = GUICtrlCreateCheckbox("Allgemeines Passwort festlegen", 8, 8, 217, 17)
    $Label7 = GUICtrlCreateLabel("Passwort für alle Verschlüsselungen:", 24, 32, 231, 22)
    $Input3 = GUICtrlCreateInput("", 264, 24, 121, 26, $ES_PASSWORD)
    GUICtrlSetCursor(-1, 5)
    $Label8 = GUICtrlCreateLabel("HotKey für das Anzeigen (nach Verstecken) des Programms:", 8, 64, 372, 22)
    $Input4 = GUICtrlCreateInput("F7", 392, 56, 121, 26, $ES_READONLY)
    GUICtrlSetCursor(-1, 5)
    $Button12 = GUICtrlCreateButton("Ändern", 528, 56, 75, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Button13 = GUICtrlCreateButton("Speichern", 208, 96, 75, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Button14 = GUICtrlCreateButton("Nicht speichern", 296, 96, 107, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg(1)
    Switch $nMsg[1]
    Case $Form1
    Switch $nMsg[0]
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    If GUICtrlRead($Input1) = "" Then
    MsgBox(0, "Fehler", "Kein Passwort eingetragen!")
    ContinueLoop
    ElseIf GUICtrlRead($Edit1) = "" Then
    MsgBox(0, "Fehler", "Kein Text eingetragen!")
    ContinueLoop
    Else
    GUICtrlSetData($Edit3, _StringEncrypt(1, GUICtrlRead($Edit1), GUICtrlRead($Input1)))
    EndIf
    Case $Button2
    GUICtrlSetData($Input1, "")
    GUICtrlSetData($Edit1, "")
    Case $Button3
    If GUICtrlRead($Input2) = "" Then
    MsgBox(0, "Fehler", "Kein Passwort eingetragen!")
    ContinueLoop
    ElseIf GUICtrlRead($Edit2) = "" Then
    MsgBox(0, "Fehler", "Kein Text eingetragen!")
    ContinueLoop
    Else
    GUICtrlSetData($Edit4, _StringEncrypt(0, GUICtrlRead($Edit2), GUICtrlRead($Input2)))
    EndIf
    Case $Button4
    GUICtrlSetData($Input2, "")
    GUICtrlSetData($Edit2, "")
    Case $Button5
    GUICtrlSetData($Edit3, "")
    Case $Button6
    ClipPut(GUICtrlRead($Edit3))
    Case $Button7
    ClipPut(GUICtrlRead($Edit4))
    Case $Button8
    GUICtrlSetData($Edit4, "")
    Case $Button9
    GUICtrlSetData($Edit1, ClipGet())
    Case $Button10
    GUICtrlSetData($Edit2, ClipGet())
    Case $Button11
    GUICtrlSetData($Edit1, "")
    GUICtrlSetData($Edit2, "")
    GUICtrlSetData($Edit3, "")
    GUICtrlSetData($Edit4, "")
    GUICtrlSetData($Input1, "")
    GUICtrlSetData($Input2, "")
    Case $MenuItem5
    GUISetState(@SW_HIDE, $Form1)
    Case $MenuItem4
    GUISetState(@SW_MINIMIZE, $Form1)
    Case $MenuItem2
    Exit
    Case $Menu2
    GUISetState(@SW_HIDE, $Form1)
    GUISetState(@SW_SHOW, $Form2)
    EndSwitch
    Case $Form2
    Switch $nMsg[0]
    Case $GUI_EVENT_CLOSE
    Exit
    Case GUICtrlRead($Checkbox1) = $GUI_CHECKED
    GUICtrlSetState($Input3, $GUI_ENABLE)
    GUICtrlSetState($Label7, $GUI_ENABLE)
    Case GUICtrlRead($Checkbox1) = $GUI_UNCHECKED
    GUICtrlSetState($Input3, $GUI_DISABLE)
    GUICtrlSetState($Label7, $GUI_DISABLE)
    Case $Button12
    MsgBox(0,"","")
    EndSwitch
    EndSwitch
    WEnd

    [/autoit]

    Im ersten GUI funktioniert alles wunderbar wie ihr testen könnt.

    Mit freundlichen Grüßen,
    BurakSZ

  • Hallo Buraksz,

    mach es so:

    Spoiler anzeigen
    [autoit]

    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <StaticConstants.au3>
    #include <WindowsConstants.au3>
    #include <String.au3>
    #region ### START Koda GUI section ### Form=C:\Users\Burak\Desktop\Programme\AutoIt v3\Projekte\Text ver(ent)schlüsseler\Form1.kxf
    $Form1 = GUICreate("Text Ver- und Entschlüsseler", 834, 630, 193, 75)
    $MenuItem1 = GUICtrlCreateMenu("&Datei")
    $MenuItem5 = GUICtrlCreateMenuItem("Verstecken", $MenuItem1)
    $MenuItem4 = GUICtrlCreateMenuItem("Minimieren", $MenuItem1)
    $MenuItem2 = GUICtrlCreateMenuItem("Schließen", $MenuItem1)
    $Menu2 = GUICtrlCreateMenuItem("&Einstellungen", -1)
    GUISetFont(11, 400, 0, "Calibri")
    GUISetBkColor(0x99B4D1)
    $Label1 = GUICtrlCreateLabel("Text zum verschlüsseln:", 8, 8, 151, 22)
    $Edit1 = GUICtrlCreateEdit("", 8, 40, 817, 105, $ES_WANTRETURN)
    GUICtrlSetData(-1, "")
    GUICtrlSetCursor(-1, 5)
    $Label2 = GUICtrlCreateLabel("Passwort:", 184, 8, 64, 22)
    $Input1 = GUICtrlCreateInput("", 248, 8, 121, 26, $ES_PASSWORD)
    GUICtrlSetCursor(-1, 5)
    $Button1 = GUICtrlCreateButton("Verschlüsseln", 384, 8, 91, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Button2 = GUICtrlCreateButton("Leeren", 488, 8, 75, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Label3 = GUICtrlCreateLabel("Text zum entschlüsseln:", 8, 160, 152, 22)
    $Label4 = GUICtrlCreateLabel("Passwort:", 185, 160, 64, 22)
    $Input2 = GUICtrlCreateInput("", 249, 160, 121, 26, $ES_PASSWORD)
    GUICtrlSetCursor(-1, 5)
    $Button3 = GUICtrlCreateButton("Entschlüsseln", 385, 160, 91, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Button4 = GUICtrlCreateButton("Leeren", 489, 160, 75, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Edit2 = GUICtrlCreateEdit("", 8, 192, 817, 105, $ES_WANTRETURN)
    GUICtrlSetCursor(-1, 5)
    $Label5 = GUICtrlCreateLabel("Verschlüsselter Text:", 8, 312, 134, 22)
    $Edit3 = GUICtrlCreateEdit("", 8, 344, 817, 105, BitOR($ES_READONLY, $ES_WANTRETURN))
    GUICtrlSetCursor(-1, 5)
    $Label6 = GUICtrlCreateLabel("Entschlüsselter Text:", 8, 464, 132, 22)
    $Edit4 = GUICtrlCreateEdit("", 8, 496, 817, 105, BitOR($ES_READONLY, $ES_WANTRETURN))
    GUICtrlSetCursor(-1, 5)
    $Button5 = GUICtrlCreateButton("Leeren", 488, 312, 75, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Button6 = GUICtrlCreateButton("Kopieren", 384, 312, 91, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Button7 = GUICtrlCreateButton("Kopieren", 384, 464, 91, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Button8 = GUICtrlCreateButton("Leeren", 488, 464, 75, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Button9 = GUICtrlCreateButton("Einfügen", 576, 8, 75, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Button10 = GUICtrlCreateButton("Einfügen", 576, 160, 75, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Button11 = GUICtrlCreateButton("Alles leeren", 736, 8, 83, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    GUISetState(@SW_SHOW, $Form1)
    #endregion ### END Koda GUI section ###

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

    #region ### START Koda GUI section ### Form=c:\users\burak\desktop\programme\autoit v3\projekte\text ver(ent)schlüsseler\form2.kxf
    $Form2 = GUICreate("Einstellungen", 610, 130, 192, 124)
    GUISetFont(11, 400, 0, "Calibri")
    GUISetBkColor(0x99B4D1)
    $Checkbox1 = GUICtrlCreateCheckbox("Allgemeines Passwort festlegen", 8, 8, 217, 17)
    $Label7 = GUICtrlCreateLabel("Passwort für alle Verschlüsselungen:", 24, 32, 231, 22)
    $Input3 = GUICtrlCreateInput("", 264, 24, 121, 26, $ES_PASSWORD)
    GUICtrlSetCursor(-1, 5)
    $Label8 = GUICtrlCreateLabel("HotKey für das Anzeigen (nach Verstecken) des Programms:", 8, 64, 372, 22)
    $Input4 = GUICtrlCreateInput("F7", 392, 56, 121, 26, $ES_READONLY)
    GUICtrlSetCursor(-1, 5)
    $Button12 = GUICtrlCreateButton("&Ändern", 528, 56, 75, 25);, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Button13 = GUICtrlCreateButton("Speichern", 208, 96, 75, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    $Button14 = GUICtrlCreateButton("Nicht speichern", 296, 96, 107, 25, $WS_GROUP)
    GUICtrlSetBkColor(-1, 0x00FFFF)
    #endregion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg(1)
    Switch $nMsg[1]
    Case $Form1
    Switch $nMsg[0]
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Button1
    If GUICtrlRead($Input1) = "" Then
    MsgBox(0, "Fehler", "Kein Passwort eingetragen!")
    ContinueLoop
    ElseIf GUICtrlRead($Edit1) = "" Then
    MsgBox(0, "Fehler", "Kein Text eingetragen!")
    ContinueLoop
    Else
    GUICtrlSetData($Edit3, _StringEncrypt(1, GUICtrlRead($Edit1), GUICtrlRead($Input1)))
    EndIf
    Case $Button2
    GUICtrlSetData($Input1, "")
    GUICtrlSetData($Edit1, "")
    Case $Button3
    If GUICtrlRead($Input2) = "" Then
    MsgBox(0, "Fehler", "Kein Passwort eingetragen!")
    ;ContinueLoop
    ElseIf GUICtrlRead($Edit2) = "" Then
    MsgBox(0, "Fehler", "Kein Text eingetragen!")
    ;ContinueLoop
    Else
    GUICtrlSetData($Edit4, _StringEncrypt(0, GUICtrlRead($Edit2), GUICtrlRead($Input2)))
    EndIf
    Case $Button4
    GUICtrlSetData($Input2, "")
    GUICtrlSetData($Edit2, "")
    Case $Button5
    GUICtrlSetData($Edit3, "")
    Case $Button6
    ClipPut(GUICtrlRead($Edit3))
    Case $Button7
    ClipPut(GUICtrlRead($Edit4))
    Case $Button8
    GUICtrlSetData($Edit4, "")
    Case $Button9
    GUICtrlSetData($Edit1, ClipGet())
    Case $Button10
    GUICtrlSetData($Edit2, ClipGet())
    Case $Button11
    GUICtrlSetData($Edit1, "")
    GUICtrlSetData($Edit2, "")
    GUICtrlSetData($Edit3, "")
    GUICtrlSetData($Edit4, "")
    GUICtrlSetData($Input1, "")
    GUICtrlSetData($Input2, "")
    Case $MenuItem5
    GUISetState(@SW_HIDE, $Form1)
    Case $MenuItem4
    GUISetState(@SW_MINIMIZE, $Form1)
    Case $MenuItem2
    Exit
    Case $Menu2
    GUISetState(@SW_HIDE, $Form1)
    GUISetState(@SW_SHOW, $Form2)
    EndSwitch
    Case $Form2
    Switch $nMsg[0]
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Checkbox1
    If GUICtrlRead($Checkbox1) = $GUI_CHECKED Then
    GUICtrlSetState($Input3, $GUI_ENABLE)
    GUICtrlSetState($Label7, $GUI_ENABLE)
    Else
    GUICtrlSetState($Input3, $GUI_DISABLE)
    GUICtrlSetState($Label7, $GUI_DISABLE)
    EndIf
    Case $Button12
    ConsoleWrite("Button12" & @CRLF)
    MsgBox(0, "", "")
    EndSwitch
    EndSwitch
    WEnd

    [/autoit]

    und es klappt.

    Zitat von aus Hilfe zu switch...case

    Ein Ausdruck, welcher einen Wert zurückgibt. Der Wert dieses Ausdruckes wird dann mit jedem Fall (case) verglichen, bis eine Übereinstimmung gefunden wurde. Dieser Ausdruck wird für jeden Durchlauf der Switch-Struktur genau ein Mal berechnet.

    . So wie du den switch....case aufgebaut hattest, ist schon vorher ein Bedingung (checked oder unchecked) erfüllt gewesen., es wurde also gar nicht mehr auf nachfolgende Bedingungen überprüft, ansonsten (bis auf die Variablennamen, da bevorzuge ich eindeutige Namen z.B. $idbtnChange) schöner sauberer Programmierstil,

    mfg (Auto)Bert