Hi ich bräuchte für mein script nen einstellungsmenü. Habe auch schon fleißig programmiert doch es hat einen Fehler. AU3Check sagt aber es ist alles in Ordnung. Aber es will halt nicht so wie es vor der änderung wollte.
Spoiler anzeigen
#include <ButtonConstants.au3>
#include <EditConstants.au3>
#include <GUIConstantsEx.au3>
#include <StaticConstants.au3>
#include <WindowsConstants.au3>
Global $Konfig = @ScriptDir & "\Konfig.ini"
Global $Transread = IniRead($Konfig,"Transparenz","ENABLEORDISABLE","ENABLE")
Global $Waitread = IniRead($Konfig,"WaitTime","ENABLEORDISABLE","DISABLE")
Global $Messageread = IniRead($Konfig,"Message","ENABLEORDISABLE","ENABLE")
#Region ### START Koda GUI section ### Form=
$SAVE = GUICreate("Form1", 454, 322, 192, 124, $WS_POPUPWINDOW)
$Label5 = GUICtrlCreateLabel("Einstellungen", 104, 16, 195, 41)
GUICtrlSetFont(-1, 24, 400, 0, "MS Sans Serif")
$Checkbox1 = GUICtrlCreateCheckbox("Transparenz wenn Mauszeiger nicht auf Programmfenster ist?", 16, 88, 393, 41)
If $Transread = "ENABLE" Then
GUICtrlSetState(-1, $GUI_CHECKED)
Else
GUICtrlSetState(-1, $GUI_UNCHECKED)
EndIf
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Checkbox2 = GUICtrlCreateCheckbox("Eine Zeit lang warten und erst dann Transparenz", 48, 128, 313, 25)
If $Waitread = "ENABLE" Then
GUICtrlSetState(-1, $GUI_CHECKED)
Else
GUICtrlSetState(-1, $GUI_UNCHECKED)
EndIf
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Input1 = GUICtrlCreateInput("", 48, 160, 153, 24)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Label6 = GUICtrlCreateLabel("Nur Zahlen! (z.b. so:12) Keine Leerzeichen", 200, 160, 251, 20)
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Checkbox3 = GUICtrlCreateCheckbox("Startanimation anzeigen", 16, 232, 225, 41)
If $Messageread = "ENABLE" Then
GUICtrlSetState(-1, $GUI_CHECKED)
Else
GUICtrlSetState(-1, $GUI_UNCHECKED)
EndIf
GUICtrlSetFont(-1, 10, 400, 0, "MS Sans Serif")
$Button1 = GUICtrlCreateButton("Speichern", 104, 272, 217, 41, $WS_GROUP)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
Global $Chek1read = GUICtrlRead($Checkbox1)
Global $Chek2read = GUICtrlRead($Checkbox2)
Global $Chek3read = GUICtrlRead($Checkbox3)
While Sleep(50)
If $Chek1read = $GUI_CHECKED Then
GUICtrlSetState($Checkbox2,$GUI_ENABLE)
Else
GUICtrlSetState($Checkbox2,$GUI_DISABLE)
GUICtrlSetState($Input1,$GUI_DISABLE)
GUICtrlSetState($Label6,$GUI_DISABLE)
EndIf
If $Chek2read = $GUI_CHECKED Then
GUICtrlSetState($Input1,$GUI_ENABLE)
GUICtrlSetState($Label6,$GUI_ENABLE)
Else
GUICtrlSetState($Input1,$GUI_DISABLE)
GUICtrlSetState($Label6,$GUI_DISABLE)
EndIf
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Button1
_Save()
EndSwitch
WEnd
Func _Save()
If $Chek1read = $GUI_UNCHECKED Then
IniDelete($Konfig,"Transparenz","ENABLEORDISABLE")
IniWrite($Konfig,"Transparenz","ENABLEORDISABLE","DISABLE")
IniDelete($Konfig,"WaitTime","ENABLEORDISABLE")
IniWrite($Konfig,"WaitTime","ENABLEORDISABLE","DISABLE")
EndIf
If $Chek1read = $GUI_CHECKED Then
IniDelete($Konfig,"Transparenz","ENABLEORDISABLE")
IniWrite($Konfig,"Transparenz","ENABLEORDISABLE","ENABLE")
If $Chek2read = $GUI_CHECKED Then
IniDelete($Konfig,"WaitTime","ENABLEORDISABLE")
IniWrite($Konfig,"WaitTime","ENABLEORDISABLE","ENABLE")
Else
IniDelete($Konfig,"WaitTime","ENABLEORDISABLE")
IniWrite($Konfig,"WaitTime","ENABLEORDISABLE","DISABLE")
EndIf
EndIf
If $Chek3read = $GUI_CHECKED Then
IniDelete($Konfig,"Message","ENABLEORDISABLE")
IniWrite($Konfig,"Message","ENABLEORDISABLE","ENABLE")
Else
IniDelete($Konfig,"Message","ENABLEORDISABLE")
IniWrite($Konfig,"Message","ENABLEORDISABLE","DISABLE")
EndIf
GUIDelete($SAVE)
EndFunc
Wenn $checkbox1 gecheckt ist soll man $checkbox2 checken können. Wenn nicht eben nicht.
Wenn $checkbox1 und 2 gecheckt sind soll man in das input schreiben können und das label soll nicht mehr Disabled sein.
Dass funktioniert aber leider nicht. Es hatte funktioniert aber nach ein paar änderungen ging es nicht mehr.
Anscheinend wird die die Funktion _Save() nicht ausgeführt. Wieso