Script:
Spoiler anzeigen
#Region ### START Koda GUI section ### Form=
$Form1 = GUICreate("44_45_46_47_CB_RB_RB", 362, 80, 193, 125)
$Checkbox46 = GUICtrlCreateCheckbox("Checkbox46", 5, 5, 89, 15)
$Radio60 = GUICtrlCreateRadio("Radio60", 100, 5, 60, 15)
$Radio61 = GUICtrlCreateRadio("Radio61", 100, 28, 57, 15)
$Input23 = GUICtrlCreateInput("1899", 165, 2, 33, 21)
$Date1 = GUICtrlCreateDate("2009/09/21 16:08:49", 165, 25, 186, 21)
$Button1 = GUICtrlCreateButton(" A U S G A B E ", 5, 48, 346, 25, 0)
GUISetState(@SW_SHOW)
#EndRegion ### END Koda GUI section ###
$checked = 0
GUICtrlSetState($Radio60, $GUI_DISABLE)
GUICtrlSetState($Radio61, $GUI_DISABLE)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $GUI_EVENT_CLOSE
Exit
Case $Checkbox46 ; Muss in der While bleiben !!!
_changeState($Checkbox46, $Radio60)
_changeState($Checkbox46, $Radio61)
Case $Button1
_maxage()
EndSwitch
WEnd
Func _changeState($cID, $C1)
If GUICtrlRead($cID) = $GUI_CHECKED Then
GUICtrlSetState($C1, $GUI_ENABLE)
GUICtrlSetState($C1, $GUI_UNCHECKED)
Else
GUICtrlSetState($C1, $GUI_DISABLE)
EndIf
EndFunc ;==>_changeState
Func _maxage()
If BitAND(GUICtrlRead($Checkbox46), $GUI_CHECKED) AND BitAND(GUICtrlRead($Radio60), $GUI_CHECKED) AND GUICtrlRead($Input23) <=1900 Then
if GUICtrlRead($Input23) >=1900 Then
Msgbox(0,"MELDUNG", "Wert maximal 1899")
GUICtrlSetData($Input23,"1899")
EndIf
endif
If BitAND(GUICtrlRead($Checkbox46), $GUI_CHECKED) AND BitAND(GUICtrlRead($Radio60), $GUI_CHECKED) AND GUICtrlRead($Input23) >=1899 Then
IniWrite(@ScriptDir & "\para.ini","parameter","MAXAGE", "/MAXAGE:" & GUICtrlRead($Input23))
Msgbox(0,"MELDUNG", GUICtrlRead($Input23)) ; nur zum testen
EndIf
If GUICtrlSetState($Radio61, $GUI_CHECKED) Then
Local $Date1, $DTM_SETFORMAT_, $style, $1_day ; ----------------> Anfang : ;Example_date1()
; Um ein bestimmtes Standardformat auszuwählen
$DTM_SETFORMAT_ = 0x1032
$style = "dd.MM.yyyy"; HH:mm:s"
GUICtrlSendMsg($Date1, $DTM_SETFORMAT_, 0, $style)
GUISetState()
$1_day = StringSplit(GUICtrlRead($Date1),".",1)
IniWrite(@ScriptDir & "\para.ini","parameter","MAXAGE", '/MAXAGE:' & $1_day[3]&$1_day[2]&$1_day[1])
MsgBox(0, "Zeit", $1_day[3]&$1_day[2]&$1_day[1]) ; ----------------> Ende : ;Example_date1() ; nur zum testen
EndIf
EndFunc
1.) Warum schreibt er die Werte nicht in die INI-Datei?
2.) Wie behebe ich folgende Fehlermeldung ?
F:\MAXAge_and_Cbox.au3 (72) : ==> Array variable has incorrect number of subscripts or subscript dimension range exceeded.:
IniWrite(@ScriptDir & "\para.ini","parameter","MAXAGE", '/MAXAGE:' & $1_day[3]&$1_day[2]&$1_day[1])
IniWrite(@ScriptDir & "\para.ini","parameter","MAXAGE", '/MAXAGE:' & ^ ERROR
3.) wenn ich ein neues Datum oder eine Tageszahl angebe, dann muß ich immer wieder auf den Radiobutton drücken, damit es übernommen werd. Wie kann ich das beheben? Eigentlich bleibt der Radiobutton ja ausgewählt, wenn ich eine neue Zahl eingebe oder ein anderes Datum sucht, was ja logisch ist, nur ich bekomme die Daten nicht erneuert.
Danke bereits an dieser Stelle.