Werte übergeben: MAXAGE

  • Script:

    Spoiler anzeigen
    [autoit]


    #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 ###

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

    $checked = 0
    GUICtrlSetState($Radio60, $GUI_DISABLE)
    GUICtrlSetState($Radio61, $GUI_DISABLE)

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

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

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

    Case $Checkbox46 ; Muss in der While bleiben !!!
    _changeState($Checkbox46, $Radio60)
    _changeState($Checkbox46, $Radio61)


    Case $Button1
    _maxage()
    EndSwitch
    WEnd

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

    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

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

    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

    [/autoit]

    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. ;)

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    Einmal editiert, zuletzt von Alina (24. September 2009 um 15:34)

  • Hallo Alina,
    irgendwie finde ich in deinem Script Fehler über Fehler.
    - zum testen fehlt ein include #include <GuiConstants.au3>
    - $1_day = StringSplit(GUICtrlRead($Date1),".",1) ergibt kein Array in deinem Sinne, da GUICtrlRead($Date1) 0 ergibt
    ...

    da müsste man erstmal alle Ungenauigkeiten beseitigen.

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • So geht das ja, aber ich möchte es in eine Funktion legen.

    Spoiler anzeigen
    [autoit]


    #include<File.au3>
    #include<GUIConstantsEx.au3>

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

    #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)
    $Radio1 = GUICtrlCreateRadio("Radio60", 100, 5, 60, 15)
    $Radio2 = 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 ###

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

    $checked = 0
    GUICtrlSetState($Radio1, $GUI_DISABLE)
    GUICtrlSetState($Radio2, $GUI_DISABLE)

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

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

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

    Case $Checkbox46
    _changeState($Checkbox46, $Radio1)
    _changeState($Checkbox46, $Radio2)

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


    Case $Radio1
    if GUICtrlSetState($Radio1, $GUI_CHECKED) And GUICtrlRead($Input23) >=1900 Then
    Msgbox(0,"MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($Input23,"1899")
    EndIf

    If GUICtrlSetState($Radio1, $GUI_CHECKED) AND GUICtrlRead($Input23) <=1899 Then
    _FileCreate(@ScriptDir & "\44_45_46_47.txt")
    FileOpen(@ScriptDir & "\44_45_46_47.txt",1)
    FileWrite(@ScriptDir & "\44_45_46_47.txt", GUICtrlRead($Input23))
    FileClose(@ScriptDir & "\44_45_46_47.txt")
    Msgbox(0,"MELDUNG", GUICtrlRead($Input23)) ; nur zum testen
    EndIf


    Case $Radio2
    If GUICtrlSetState($Radio2, $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)
    _FileCreate(@ScriptDir & "\44_45_46_47.txt")
    FileOpen(@ScriptDir & "\44_45_46_47.txt",1)
    FileWrite(@ScriptDir & "\44_45_46_47.txt", $1_day[3]&$1_day[2]&$1_day[1])
    FileClose(@ScriptDir & "\44_45_46_47.txt")
    MsgBox(0, "Zeit", $1_day[3]&$1_day[2]&$1_day[1]) ; ----------------> Ende : ;Example_date1() ; nur zum testen
    EndIf

    Case $Button1

    EndSwitch
    WEnd

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

    Func _changeState($cID, $C1)
    If GUICtrlRead($cID) = $GUI_CHECKED Then
    GUICtrlSetState($C1, $GUI_ENABLE)
    Else
    GUICtrlSetState($C1, $GUI_DISABLE)
    EndIf
    EndFunc ;==>_changeState

    [/autoit]

    Nur es soll direkt in die INI schreiben und nicht wie hier in eine Text-Datei. Dazu halt das es in eine Funktion rein soll.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • ich hab Dein Beispiel mal ein wenig umgeschrieben.
    mit dem Array für die jeweilige CHeckbox-Section bist Du Variabel,
    um die Funktion _changeState universell nutzen zu können

    Spoiler anzeigen
    [autoit]

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

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

    $ini = @ScriptDir & "\test.ini"
    If Not FileExists($ini) Then _FileCreate($ini)

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

    Dim $a_cb46[1][5]

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

    $Form1 = GUICreate("44_45_46_47_CB_RB_RB", 360, 180, 193, 125)
    GUICtrlCreateGroup('Checkbox46',10,10,340,100)
    $a_cb46[0][0] = GUICtrlCreateCheckbox("Checkbox46", 20, 30, 89, 15)
    $a_cb46[0][1] = GUICtrlCreateRadio("Radio60", 20, 55, 60, 15)
    $a_cb46[0][2] = GUICtrlCreateRadio("Radio61", 20, 80, 60, 15)
    $a_cb46[0][3] = GUICtrlCreateInput("1899", 100, 53, 33, 21)
    $a_cb46[0][4] = GUICtrlCreateDate("2009/09/21 16:08:49", 100, 77, 186, 21)
    _changeState($a_cb46)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    $Button1 = GUICtrlCreateButton("A U S G A B E", 5, 148, 346, 25, 0, $BS_CENTER )
    GUISetState(@SW_SHOW)

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

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

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

    Case $a_cb46[0][0]
    _changeState($a_cb46)

    Case $a_cb46[0][3], $a_cb46[0][1]
    if BitAND(GUICtrlRead($a_cb46[0][1]), $GUI_CHECKED) = $GUI_CHECKED And GUICtrlRead($a_cb46[0][3]) >=1900 Then
    Msgbox(0,"MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb46[0][3],"1899")
    EndIf

    If BitAND(GUICtrlRead($a_cb46[0][1]), $GUI_CHECKED) = $GUI_CHECKED AND GUICtrlRead($a_cb46[0][3]) <=1899 Then
    IniWriteSection($ini,"Werte","CheckBox46="&GUICtrlRead($a_cb46[0][3]))
    EndIf

    Case $a_cb46[0][2], $a_cb46[0][4]
    If BitAND(GUICtrlRead($a_cb46[0][2]), $GUI_CHECKED) = $GUI_CHECKED Then
    Local $DTM_SETFORMAT_, $style, $1_day ; ----------------> Anfang : ;Example_date1()
    ; Um ein bestimmtes Standardformat auszuwählen
    $DTM_SETFORMAT_ = 0x1032
    $style = "dd.MM.yyyy"; HH:mm:ss"
    GUICtrlSendMsg($a_cb46[0][4], $DTM_SETFORMAT_, 0, $style)
    ;GUISetState()
    $1_day = StringSplit(GUICtrlRead($a_cb46[0][4]),".",1)
    IniWriteSection($ini,"Werte","CheckBox46="&$1_day[3]&$1_day[2]&$1_day[1])
    EndIf

    Case $Button1

    EndSwitch
    WEnd

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

    Func _changeState($cID)
    Select
    Case BitAND(GUICtrlRead($cID[0][0]), $GUI_CHECKED) = $GUI_CHECKED
    For $i = 1 To $cID[0][0]
    GUICtrlSetState($cID[0][$i], $GUI_SHOW)
    Next
    Case Else
    For $i = 1 To $cID[0][0]
    GUICtrlSetState($cID[0][$i], $GUI_HIDE)
    Next
    EndSelect
    EndFunc ;==>_changeState

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Schnuffel?
    Da blicke ich gar nicht durch.

    Mhhhh, das ist jetzt aber ....

    Naja, mache ich erst einmal die ganzen anderen Scripte und schaue dann wie ich weiter komme. Danke aber dennoch für die Mühe. ;)

    Edit: 23-09-2009 ; 23:51 (/MESZ)
    Konnte die Finger nicht davon lassen und habe weiter ausprobiert. Was nämlich, wenn die Combobox wieder deaktiviert (Harken raus) wird?
    Aber das mache ich wie immer dann so, das ich den Wert in der INI-Datei auf ""NULL" setze". Halt nicht drinne. ;)

    Also so meine ich blicke ich da doch durch und kann es einarbeiten später. Erst mal alle anderen Scripte noch vorscripten ;)

    Und Danke nochmals an Schnuffel.

    Spoiler anzeigen
    [autoit]


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

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

    $ini = @ScriptDir & "\test.ini"
    If Not FileExists($ini) Then _FileCreate($ini)

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

    Dim $a_cb46[1][5]

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

    $Form1 = GUICreate("44_45_46_47_CB_RB_RB", 360, 180, 193, 125)
    GUICtrlCreateGroup('Checkbox46',10,10,340,100)
    $Combobox46 = GUICtrlCreateCheckbox("CB4646", 20, 30, 89, 15)
    $Radio60 = GUICtrlCreateRadio("Radio60", 20, 55, 60, 15)
    $Radio61 = GUICtrlCreateRadio("Radio61", 20, 80, 60, 15)
    $Input23 = GUICtrlCreateInput("1899", 100, 53, 33, 21)
    $Date1 = GUICtrlCreateDate("2009/09/21 16:08:49", 100, 77, 186, 21)

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

    $a_cb46[0][0] = $Combobox46
    $a_cb46[0][1] = $Radio60
    $a_cb46[0][2] = $Radio61
    $a_cb46[0][3] = $Input23
    $a_cb46[0][4] = $Date1

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

    _changeState($a_cb46)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    $Button1 = GUICtrlCreateButton("A U S G A B E", 5, 148, 346, 25, 0, $BS_CENTER )
    GUISetState(@SW_SHOW)

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

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

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

    Case $a_cb46[0][0]
    _changeState($a_cb46)

    Case $a_cb46[0][3], $a_cb46[0][1]
    if BitAND(GUICtrlRead($a_cb46[0][1]), $GUI_CHECKED) = $GUI_CHECKED And GUICtrlRead($a_cb46[0][3]) >=1900 Then
    Msgbox(0,"MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb46[0][3],"1899")
    EndIf

    If BitAND(GUICtrlRead($a_cb46[0][1]), $GUI_CHECKED) = $GUI_CHECKED AND GUICtrlRead($a_cb46[0][3]) <=1899 Then
    IniWriteSection($ini,"parameter","MAXAGE="&GUICtrlRead($a_cb46[0][3]))
    EndIf

    Case $a_cb46[0][2], $a_cb46[0][4]
    If BitAND(GUICtrlRead($a_cb46[0][2]), $GUI_CHECKED) = $GUI_CHECKED Then
    Local $DTM_SETFORMAT_, $style, $1_day ; ----------------> Anfang : ;Example_date1()
    ; Um ein bestimmtes Standardformat auszuwählen
    $DTM_SETFORMAT_ = 0x1032
    $style = "dd.MM.yyyy"; HH:mm:ss"
    GUICtrlSendMsg($a_cb46[0][4], $DTM_SETFORMAT_, 0, $style)
    ;GUISetState()
    $1_day = StringSplit(GUICtrlRead($a_cb46[0][4]),".",1)
    IniWriteSection($ini,"parameter","MAXAGE="&$1_day[3]&$1_day[2]&$1_day[1])
    EndIf

    Case $Button1

    EndSwitch
    WEnd

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

    Func _changeState($cID)
    Select
    Case BitAND(GUICtrlRead($cID[0][0]), $GUI_CHECKED) = $GUI_CHECKED
    For $i = 1 To $cID[0][0]
    GUICtrlSetState($cID[0][$i], $GUI_SHOW)
    Next
    Case Else
    For $i = 1 To $cID[0][0]
    GUICtrlSetState($cID[0][$i], $GUI_HIDE)
    IniWriteSection($ini,"parameter","MAXAGE=")
    Next
    EndSelect
    EndFunc ;==>_changeState

    [/autoit]

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    Einmal editiert, zuletzt von Alina (23. September 2009 um 23:51)

    • Offizieller Beitrag

    Ich habe Dein Script mal etwas geändert, wie das meiner Meinung nach passender wäre:

    Spoiler anzeigen
    [autoit]


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

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

    $ini = @ScriptDir & "\test.ini"
    If Not FileExists($ini) Then _FileCreate($ini)

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

    Dim $a_cb46[5], $DTM_SETFORMAT_, $style

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

    $Form1 = GUICreate("44_45_46_47_CB_RB_RB", 360, 180, 193, 125)
    GUICtrlCreateGroup('Checkbox46', 10, 10, 340, 100)
    $Combobox46 = GUICtrlCreateCheckbox("CB4646", 20, 30, 89, 15)
    $Radio60 = GUICtrlCreateRadio("Radio60", 20, 55, 60, 15)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Radio61 = GUICtrlCreateRadio("Radio61", 20, 80, 60, 15)
    $Input23 = GUICtrlCreateInput("1899", 100, 53, 33, 21)
    $Date1 = GUICtrlCreateDate("2009/09/21 16:08:49", 100, 77, 90, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $DTM_SETFORMAT_ = 0x1032
    $style = "dd.MM.yyyy"; HH:mm:ss"
    GUICtrlSendMsg($Date1, $DTM_SETFORMAT_, 0, $style)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    $a_cb46[0] = $Combobox46
    $a_cb46[1] = $Radio60
    $a_cb46[2] = $Radio61
    $a_cb46[3] = $Input23
    $a_cb46[4] = $Date1

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

    _changeState($a_cb46)

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

    $Button1 = GUICtrlCreateButton("A U S G A B E", 5, 148, 346, 25, 0, $BS_CENTER)
    GUISetState(@SW_SHOW)

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

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

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

    Case $a_cb46[0]
    _changeState($a_cb46)

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

    Case $a_cb46[3], $a_cb46[1]
    If BitAND(GUICtrlRead($a_cb46[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb46[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb46[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb46[3], "1899")
    Else ; kleiner als 1900
    IniWriteSection($ini, "parameter", "MAXAGE=" & GUICtrlRead($a_cb46[3]))
    EndIf
    Else
    GUICtrlSetState($a_cb46[3], $GUI_DISABLE)
    EndIf

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

    Case $a_cb46[2], $a_cb46[4]
    If BitAND(GUICtrlRead($a_cb46[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb46[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb46[3], $GUI_DISABLE)
    Local $1_day ; ----------------> Anfang : ;Example_date1()
    $1_day = StringSplit(GUICtrlRead($a_cb46[4]), ".", 1)
    IniWriteSection($ini, "parameter", "MAXAGE=" & $1_day[3] & $1_day[2] & $1_day[1])
    Else
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    EndIf

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

    Case $Button1

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

    EndSwitch
    WEnd

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

    Func _changeState($cID)
    Select
    Case BitAND(GUICtrlRead($cID[0]), $GUI_CHECKED) = $GUI_CHECKED
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_SHOW)
    Next
    Case Else
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_HIDE)
    ;~ IniWriteSection($ini, "parameter", "MAXAGE=")
    Next
    EndSelect
    EndFunc ;==>_changeState

    [/autoit]
  • Hallo Oscar,
    was hast Du denn verändert?
    ich wollte jetzt nicht beide Dateien vergleichen ...

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

    • Offizieller Beitrag

    Zum einen ist es überflüssig ein 2D-Array zu verwenden, wenn man eh nur eine Dimension benutzt. Zum anderen die If-Abfragen, damit die Eingabefelder mit den entsprechenden Radio-Buttons de-/aktiviert werden.
    Deine For...Next-Schleife in der Funktion war auch fehlerhaft, da sich in $cID[0][0] nicht die Anzahl der Array-Elemtente befindet.
    Die Festlegung für das Datumsformat sollte man auch lieber beim erstellen des Controls benutzen. Es sei denn, man ändert das Format während der Laufzeit.

  • Also so ist das Script doch genauso wie ich es mir vorgestellt habe. Es heißt "Maxage". ;)

    Was nun aber, wenn "Maxage" auf "Minage" trifft. Ich weiß nicht wie ich dann aus dem reinen "Maxage" ein "Maxage und ein Minage" mache.

    hhhhhm, da mal versuchen ob es so geht, wie ich es mir gerade mal denke. Also bin ich gleich mal dabei das zu testen und wenn es nicht klappt, dann editiere ich hier ;)

    Aber "Maxage" ist super geworden. Danke !!!

    EDIT: EDIT: EDIT: EDIT: EDIT:

    Also ich habe nun "Minage" und "Maxage" im gleichen Verzeichnis.
    Aber ich bekomme es nicht hin, aus den beiden Scripten ein komplettes Script zu machen. Ein sogenannten "MinMaxAge".
    Der Wert, der in die para.ini geschrieben werden sollen so sein. Er soll den Wert dort übernehmen.

    Minage:

    Spoiler anzeigen
    [autoit]


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

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

    $ini0 = @ScriptDir & "\test.ini"
    $ini2 = @ScriptDir & "\para.ini"

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

    If Not FileExists($ini0) Then _FileCreate($ini0)

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

    Dim $a_cb47[5], $DTM_SETFORMAT_, $style

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

    $Form1 = GUICreate("44_45_46_47_CB_RB_RB", 360, 180, 193, 125)
    GUICtrlCreateGroup('Checkbox47', 10, 10, 340, 100)
    $Combobox47 = GUICtrlCreateCheckbox("CB4747", 20, 30, 89, 15)
    $Radio62 = GUICtrlCreateRadio("Radio62", 20, 55, 60, 15)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Radio61 = GUICtrlCreateRadio("Radio63", 20, 80, 60, 15)
    $Input24 = GUICtrlCreateInput("1", 100, 53, 33, 21)
    $Date2 = GUICtrlCreateDate("2009/09/21 16:08:49", 100, 77, 90, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $DTM_SETFORMAT_ = 0x1032
    $style = "dd.MM.yyyy"; HH:mm:ss"
    GUICtrlSendMsg($Date2, $DTM_SETFORMAT_, 0, $style)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    $a_cb47[0] = $Combobox47
    $a_cb47[1] = $Radio62
    $a_cb47[2] = $Radio61
    $a_cb47[3] = $Input24
    $a_cb47[4] = $Date2

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

    _changeState($a_cb47)

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

    $Button1 = GUICtrlCreateButton("A U S G A B E", 5, 148, 346, 25, 0, $BS_CENTER)
    GUISetState(@SW_SHOW)

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

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

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

    Case $a_cb47[0]
    _changeState($a_cb47)

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

    Case $a_cb47[3], $a_cb47[1]
    If BitAND(GUICtrlRead($a_cb47[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb47[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb47[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb47[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb47[3], "1899")
    Else ; kleiner als 1900
    IniWriteSection($ini0, "parameter", "MINAGE=/MINAGE:" & GUICtrlRead($a_cb47[3]))
    IniWrite($ini2, "parameter", "MINAGE", IniRead($ini0,"parameter", "MINAGE","default"))
    EndIf
    Else
    GUICtrlSetState($a_cb47[3], $GUI_DISABLE)
    EndIf

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

    Case $a_cb47[2], $a_cb47[4]
    If BitAND(GUICtrlRead($a_cb47[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb47[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb47[3], $GUI_DISABLE)
    Local $1_day ; ----------------> Anfang : ;Example_date1()
    $1_day = StringSplit(GUICtrlRead($a_cb47[4]), ".", 1)
    IniWriteSection($ini0, "parameter", "MINAGE=/MINAGE:" & $1_day[3] & $1_day[2] & $1_day[1])
    IniWrite($ini2, "parameter", "MINAGE", IniRead($ini0,"parameter", "MINAGE","default"))
    Else
    GUICtrlSetState($a_cb47[4], $GUI_DISABLE)
    EndIf

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

    Case $Button1

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

    EndSwitch
    WEnd

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

    Func _changeState($cID)
    Select
    Case BitAND(GUICtrlRead($cID[0]), $GUI_CHECKED) = $GUI_CHECKED
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_SHOW)
    Next
    Case Else
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_HIDE)
    IniWriteSection($ini0, "parameter", "MINAGE=")
    IniWrite($ini2, "parameter", "MINAGE", IniRead($ini0,"parameter", "MINAGE","default"))
    Next
    EndSelect
    EndFunc ;==>_changeState

    [/autoit]

    Maxage:

    Spoiler anzeigen
    [autoit]


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

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

    $ini3 = @ScriptDir & "\test.ini"
    $ini4 = @ScriptDir & "\para.ini"

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

    If Not FileExists($ini3) Then _FileCreate($ini3)

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

    Dim $a_cb46[5], $DTM_SETFORMAT_, $style

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

    $Form1 = GUICreate("44_45_46_47_CB_RB_RB", 360, 180, 193, 125)
    GUICtrlCreateGroup('Checkbox46', 10, 10, 340, 100)
    $Combobox46 = GUICtrlCreateCheckbox("CB4646", 20, 30, 89, 15)
    $Radio60 = GUICtrlCreateRadio("Radio60", 20, 55, 60, 15)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Radio61 = GUICtrlCreateRadio("Radio61", 20, 80, 60, 15)
    $Input23 = GUICtrlCreateInput("1899", 100, 53, 33, 21)
    $Date1 = GUICtrlCreateDate("2009/09/21 16:08:49", 100, 77, 90, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $DTM_SETFORMAT_ = 0x1032
    $style = "dd.MM.yyyy"; HH:mm:ss"
    GUICtrlSendMsg($Date1, $DTM_SETFORMAT_, 0, $style)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    $a_cb46[0] = $Combobox46
    $a_cb46[1] = $Radio60
    $a_cb46[2] = $Radio61
    $a_cb46[3] = $Input23
    $a_cb46[4] = $Date1

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

    _changeState($a_cb46)

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

    $Button2 = GUICtrlCreateButton("A U S G A B E", 5, 148, 346, 25, 0, $BS_CENTER)
    GUISetState(@SW_SHOW)

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

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

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

    Case $a_cb46[0]
    _changeState($a_cb46)

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

    Case $a_cb46[3], $a_cb46[1]
    If BitAND(GUICtrlRead($a_cb46[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb46[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb46[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb46[3], "1899")
    Else ; kleiner als 1900
    IniWriteSection($ini3, "parameter", "MAXAGE=/MAXAGE:" & GUICtrlRead($a_cb46[3]))
    IniWrite($ini4, "parameter", "MAXAGE", IniRead($ini3,"parameter", "MAXAGE","default"))
    EndIf
    Else
    GUICtrlSetState($a_cb46[3], $GUI_DISABLE)
    EndIf

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

    Case $a_cb46[2], $a_cb46[4]
    If BitAND(GUICtrlRead($a_cb46[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb46[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb46[3], $GUI_DISABLE)
    Local $1_day ; ----------------> Anfang : ;Example_date1()
    $1_day = StringSplit(GUICtrlRead($a_cb46[4]), ".", 1)
    IniWriteSection($ini3, "parameter", "MAXAGE=/MAXAGE:" & $1_day[3] & $1_day[2] & $1_day[1])
    IniWrite($ini4, "parameter", "MAXAGE", IniRead($ini3,"parameter", "MAXAGE","default"))
    Else
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    EndIf

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

    Case $Button2

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

    EndSwitch
    WEnd

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

    Func _changeState($cID)
    Select
    Case BitAND(GUICtrlRead($cID[0]), $GUI_CHECKED) = $GUI_CHECKED
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_SHOW)
    Next
    Case Else
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_HIDE)
    IniWriteSection($ini3, "parameter", "MAXAGE=")
    IniWrite($ini4, "parameter", "MAXAGE", IniRead($ini3,"parameter", "MAXAGE","default"))
    Next
    EndSelect
    EndFunc ;==>_changeState

    [/autoit]

    Die Frage ist: Was muss ich aus Maxage in Minage übernehmen bzw. was muss ich in der Minage ändern um beide Scripte in eines zu bekommen. Die GUI anpassen von den Positionen der Boxen , Button ... ist klar, aber von den nicht grafischen Elementen blicke ich da nicht durch.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    Einmal editiert, zuletzt von Alina (24. September 2009 um 17:07)

  • Oscar :

    Zitat

    Zum einen ist es überflüssig ein 2D-Array zu verwenden, wenn man eh nur eine Dimension benutzt.

    Hmmm, hast Recht, ich weiß gar nicht, was mich da nachts um 23.00Uhr in ein 2D-Array geritten hat :rofl:

    Zitat

    Zum anderen die If-Abfragen, damit die Eingabefelder mit den entsprechenden Radio-Buttons de-/aktiviert werden.
    Deine For...Next-Schleife in der Funktion war auch fehlerhaft, da sich in $cID[0][0] nicht die Anzahl der Array-Elemtente befindet.

    Hmmm, ich hatte zuerst in $a_cb46[0][0] die Anzahl Array-Elemente drin, hab aber dann die Sache wieder über den Haufen geschmissen und vergessen dass in der Funktion zu ändern ;(

    Zitat

    Die Festlegung für das Datumsformat sollte man auch lieber beim erstellen des Controls benutzen. Es sei denn, man ändert das Format während der Laufzeit.

    Na wenigstens bin ich da unschuldig dran, das habe ich so von Alina übernommen/unverändert gelassen, da sich mir der Sinn nicht erschlossen hatte ... :D

    Alles in allem sage ich danke für die Korrekturen, denn nur so lerne auch ich immer weiter. :rolleyes:
    Was sagt mir das jetzt: Man sollte nachts um 23.00Uhr keine Scripte Anderer verschlimmbessern ... 8)

    Ich gelobe Besserung

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Alina:
    ich hab mal wieder meine geistigen Ergüsse nicht bei mir behalten können...
    Ich hoffe, dass geht so in die richtige Richtung.

    Spoiler anzeigen
    [autoit]

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

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

    $ini0 = @ScriptDir & "\test.ini"
    $ini2 = @ScriptDir & "\para.ini"

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

    If Not FileExists($ini0) Then _FileCreate($ini0)

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

    Dim $DTM_SETFORMAT_, $style

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

    $Form1 = GUICreate("44_45_46_47_CB_RB_RB", 360, 380, 193, 125)

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

    GUICtrlCreateGroup('MaxAge', 10, 10, 340, 100)
    $Combobox46 = GUICtrlCreateCheckbox("aktivieren", 20, 30, 89, 15)
    $Radio60 = GUICtrlCreateRadio("Radio60", 20, 55, 60, 15)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Radio61 = GUICtrlCreateRadio("Radio61", 20, 80, 60, 15)
    $Input23 = GUICtrlCreateInput("1899", 100, 53, 33, 21)
    $Date1 = GUICtrlCreateDate("2009/09/21 16:08:49", 100, 77, 90, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $DTM_SETFORMAT_ = 0x1032
    $style = "dd.MM.yyyy"; HH:mm:ss"
    GUICtrlSendMsg($Date1, $DTM_SETFORMAT_, 0, $style)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    GUICtrlCreateGroup('MinAge', 10, 120, 340, 100)
    $Combobox47 = GUICtrlCreateCheckbox("aktivieren", 20, 140, 89, 15)
    $Radio62 = GUICtrlCreateRadio("Radio62", 20, 165, 60, 15)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Radio63 = GUICtrlCreateRadio("Radio63", 20, 190, 60, 15)
    $Input24 = GUICtrlCreateInput("1", 100, 163, 33, 21)
    $Date2 = GUICtrlCreateDate("2009/09/21 16:08:49", 100, 187, 90, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $DTM_SETFORMAT_ = 0x1032
    $style = "dd.MM.yyyy"; HH:mm:ss"
    GUICtrlSendMsg($Date2, $DTM_SETFORMAT_, 0, $style)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    Global $a_cb46[5] = [$Combobox46,$Radio60,$Radio61,$Input23,$Date1]
    Global $a_cb47[5] = [$Combobox47,$Radio62,$Radio63,$Input24,$Date2]

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

    _changeState($a_cb46)
    _changeState($a_cb47)

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

    $Button2 = GUICtrlCreateButton("A U S G A B E", 5, 348, 346, 25, 0, $BS_CENTER)
    GUISetState(@SW_SHOW)

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

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

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

    Case $a_cb46[0]
    _changeState($a_cb46)

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

    Case $a_cb46[3], $a_cb46[1]
    If BitAND(GUICtrlRead($a_cb46[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb46[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb46[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb46[3], "1899")
    Else ; kleiner als 1900
    IniWriteSection($ini0, "parameter", "MAXAGE=/MAXAGE:" & GUICtrlRead($a_cb46[3]))
    IniWrite($ini2, "parameter", "MAXAGE", IniRead($ini0,"parameter", "MAXAGE","default"))
    EndIf
    Else
    GUICtrlSetState($a_cb46[3], $GUI_DISABLE)
    EndIf

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

    Case $a_cb46[2], $a_cb46[4]
    If BitAND(GUICtrlRead($a_cb46[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb46[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb46[3], $GUI_DISABLE)
    Local $1_day ; ----------------> Anfang : ;Example_date1()
    $1_day = StringSplit(GUICtrlRead($a_cb46[4]), ".", 1)
    IniWriteSection($ini0, "parameter", "MAXAGE=/MAXAGE:" & $1_day[3] & $1_day[2] & $1_day[1])
    IniWrite($ini2, "parameter", "MAXAGE", IniRead($ini0,"parameter", "MAXAGE","default"))
    Else
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    EndIf

    Case $a_cb47[0]
    _changeState($a_cb47)

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

    Case $a_cb47[3], $a_cb47[1]
    If BitAND(GUICtrlRead($a_cb47[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb47[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb47[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb47[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb47[3], "1899")
    Else ; kleiner als 1900
    IniWriteSection($ini0, "parameter", "MINAGE=/MINAGE:" & GUICtrlRead($a_cb47[3]))
    IniWrite($ini2, "parameter", "MINAGE", IniRead($ini0,"parameter", "MINAGE","default"))
    EndIf
    Else
    GUICtrlSetState($a_cb47[3], $GUI_DISABLE)
    EndIf

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

    Case $a_cb47[2], $a_cb47[4]
    If BitAND(GUICtrlRead($a_cb47[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb47[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb47[3], $GUI_DISABLE)
    Local $1_day ; ----------------> Anfang : ;Example_date1()
    $1_day = StringSplit(GUICtrlRead($a_cb47[4]), ".", 1)
    IniWriteSection($ini0, "parameter", "MINAGE=/MINAGE:" & $1_day[3] & $1_day[2] & $1_day[1])
    IniWrite($ini2, "parameter", "MINAGE", IniRead($ini0,"parameter", "MINAGE","default"))
    Else
    GUICtrlSetState($a_cb47[4], $GUI_DISABLE)
    EndIf

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

    Case $Button2

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

    EndSwitch
    WEnd

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

    Func _changeState($cID)
    Select
    Case BitAND(GUICtrlRead($cID[0]), $GUI_CHECKED) = $GUI_CHECKED
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_SHOW)
    Next
    Case Else
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_HIDE)
    Next
    EndSelect
    EndFunc ;==>_changeState

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

  • Hallo Schnuffel.

    Also so wie hier, läuft es bis auf einen Punkt richtig.

    Script:

    Spoiler anzeigen
    [autoit]


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

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

    $ini0 = @ScriptDir & "\test.ini"
    $ini2 = @ScriptDir & "\para.ini"

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

    If Not FileExists($ini0) Then _FileCreate($ini0)

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

    Dim $DTM_SETFORMAT_, $style

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

    $Form1 = GUICreate("44_45_46_47_CB_RB_RB", 360, 380, 193, 125)

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

    GUICtrlCreateGroup('MaxAge', 10, 10, 340, 100)
    $Combobox46 = GUICtrlCreateCheckbox("aktivieren", 20, 30, 89, 15)
    $Radio60 = GUICtrlCreateRadio("Radio60", 20, 55, 60, 15)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Radio61 = GUICtrlCreateRadio("Radio61", 20, 80, 60, 15)
    $Input23 = GUICtrlCreateInput("1899", 100, 53, 33, 21)
    $Date1 = GUICtrlCreateDate("2009/09/21 16:08:49", 100, 77, 90, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $DTM_SETFORMAT_ = 0x1032
    $style = "dd.MM.yyyy"; HH:mm:ss"
    GUICtrlSendMsg($Date1, $DTM_SETFORMAT_, 0, $style)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    GUICtrlCreateGroup('MinAge', 10, 120, 340, 100)
    $Combobox47 = GUICtrlCreateCheckbox("aktivieren", 20, 140, 89, 15)
    $Radio62 = GUICtrlCreateRadio("Radio62", 20, 165, 60, 15)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Radio63 = GUICtrlCreateRadio("Radio63", 20, 190, 60, 15)
    $Input24 = GUICtrlCreateInput("1", 100, 163, 33, 21)
    $Date2 = GUICtrlCreateDate("2009/09/21 16:08:49", 100, 187, 90, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $DTM_SETFORMAT_ = 0x1032
    $style = "dd.MM.yyyy"; HH:mm:ss"
    GUICtrlSendMsg($Date2, $DTM_SETFORMAT_, 0, $style)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    $Button2 = GUICtrlCreateButton("A U S G A B E", 5, 348, 346, 25, 0, $BS_CENTER)

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

    Global $a_cb46[5] = [$Combobox46,$Radio60,$Radio61,$Input23,$Date1]
    Global $a_cb47[5] = [$Combobox47,$Radio62,$Radio63,$Input24,$Date2]

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

    _changeState($a_cb46)
    _changeState($a_cb47)

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

    GUISetState(@SW_SHOW)

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

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

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

    Case $a_cb46[0]
    IniWrite($ini2, "parameter", "MAXAGE", "")
    _changeState($a_cb46)

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

    Case $a_cb46[3], $a_cb46[1]
    If BitAND(GUICtrlRead($a_cb46[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb46[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb46[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb46[3], "")
    Else ; kleiner als 1900
    IniWriteSection($ini0, "parameter", "MAXAGE=/MAXAGE:" & GUICtrlRead($a_cb46[3]))
    IniWrite($ini2, "parameter", "MAXAGE", IniRead($ini0,"parameter", "MAXAGE",""))
    EndIf
    Else
    GUICtrlSetState($a_cb46[3], $GUI_DISABLE)
    EndIf

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

    Case $a_cb46[2], $a_cb46[4]
    If BitAND(GUICtrlRead($a_cb46[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb46[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb46[3], $GUI_DISABLE)
    Local $1_day ; ----------------> Anfang : ;Example_date1()
    $1_day = StringSplit(GUICtrlRead($a_cb46[4]), ".", 1)
    IniWriteSection($ini0, "parameter", "MAXAGE=/MAXAGE:" & $1_day[3] & $1_day[2] & $1_day[1])
    IniWrite($ini2, "parameter", "MAXAGE", IniRead($ini0,"parameter", "MAXAGE",""))
    Else
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    EndIf

    Case $a_cb47[0]
    IniWrite($ini2, "parameter", "MINAGE", "")
    _changeState($a_cb47)

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

    Case $a_cb47[3], $a_cb47[1]
    If BitAND(GUICtrlRead($a_cb47[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb47[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb47[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb47[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb47[3], "")
    Else ; kleiner als 1900
    IniWriteSection($ini0, "parameter", "MINAGE=/MINAGE:" & GUICtrlRead($a_cb47[3]))
    IniWrite($ini2, "parameter", "MINAGE", IniRead($ini0,"parameter", "MINAGE",""))
    EndIf
    Else
    GUICtrlSetState($a_cb47[3], $GUI_DISABLE)
    EndIf

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

    Case $a_cb47[2], $a_cb47[4]
    If BitAND(GUICtrlRead($a_cb47[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb47[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb47[3], $GUI_DISABLE)
    Local $1_day ; ----------------> Anfang : ;Example_date1()
    $1_day = StringSplit(GUICtrlRead($a_cb47[4]), ".", 1)
    IniWriteSection($ini0, "parameter", "MINAGE=/MINAGE:" & $1_day[3] & $1_day[2] & $1_day[1])
    IniWrite($ini2, "parameter", "MINAGE", IniRead($ini0,"parameter", "MINAGE",""))
    Else
    GUICtrlSetState($a_cb47[4], $GUI_DISABLE)
    EndIf

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

    Case $Button2

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

    EndSwitch
    WEnd

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

    Func _changeState($cID)
    Select
    Case BitAND(GUICtrlRead($cID[0]), $GUI_CHECKED) = $GUI_CHECKED
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_SHOW)
    Next
    Case Else
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_HIDE)
    Next
    EndSelect
    EndFunc ;==>_changeState

    [/autoit]

    Was nicht läuft oder wie ich nicht weiß wie ich es ändern soll ist, das wenn man in den Input-Felder den Wert ändert, dann muss man immer noch einmal auf Radio60 und oder Radio62 drücken. Sonst werden die Werte aus den/dem Input nicht übernommen.
    Wenn man die Checkboxen 46 bzw. 47 deaktieviert, werden die Daten auch in die INI geschrieben, da ich später die INI in einer festen Form benötige. Also nur keinen Wert zuweisen.

    Frage ist: "Kann man den jeweiligen Radiobutton irgendwie ansprechen.
    Weiß gerade nicht anders es zu erklären. :(

    Danke aber schon jetzt für die Mühe und super Hilfe.

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    Einmal editiert, zuletzt von Alina (24. September 2009 um 21:46)

    • Offizieller Beitrag

    Wenn Du direkt auf die Eingabe reagieren willst, musst Du das mit WM_COMMAND machen:

    Spoiler anzeigen
    [autoit]


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

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

    $ini0 = @ScriptDir & "\test.ini"
    $ini2 = @ScriptDir & "\para.ini"

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

    If Not FileExists($ini0) Then _FileCreate($ini0)

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

    Dim $DTM_SETFORMAT_, $style

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

    $Form1 = GUICreate("44_45_46_47_CB_RB_RB", 360, 380, 193, 125)

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

    GUICtrlCreateGroup('MaxAge', 10, 10, 340, 100)
    $Combobox46 = GUICtrlCreateCheckbox("aktivieren", 20, 30, 89, 15)
    $Radio60 = GUICtrlCreateRadio("Radio60", 20, 55, 60, 15)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Radio61 = GUICtrlCreateRadio("Radio61", 20, 80, 60, 15)
    $Input23 = GUICtrlCreateInput("1899", 100, 53, 33, 21)
    $Date1 = GUICtrlCreateDate("2009/09/21 16:08:49", 100, 77, 90, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $DTM_SETFORMAT_ = 0x1032
    $style = "dd.MM.yyyy"; HH:mm:ss"
    GUICtrlSendMsg($Date1, $DTM_SETFORMAT_, 0, $style)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    GUICtrlCreateGroup('MinAge', 10, 120, 340, 100)
    $Combobox47 = GUICtrlCreateCheckbox("aktivieren", 20, 140, 89, 15)
    $Radio62 = GUICtrlCreateRadio("Radio62", 20, 165, 60, 15)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Radio63 = GUICtrlCreateRadio("Radio63", 20, 190, 60, 15)
    $Input24 = GUICtrlCreateInput("1", 100, 163, 33, 21)
    $Date2 = GUICtrlCreateDate("2009/09/21 16:08:49", 100, 187, 90, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $DTM_SETFORMAT_ = 0x1032
    $style = "dd.MM.yyyy"; HH:mm:ss"
    GUICtrlSendMsg($Date2, $DTM_SETFORMAT_, 0, $style)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    $Button2 = GUICtrlCreateButton("A U S G A B E", 5, 348, 346, 25, 0, $BS_CENTER)

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

    Global $a_cb46[5] = [$Combobox46, $Radio60, $Radio61, $Input23, $Date1]
    Global $a_cb47[5] = [$Combobox47, $Radio62, $Radio63, $Input24, $Date2]

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

    _changeState($a_cb46)
    _changeState($a_cb47)

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

    GUISetState(@SW_SHOW)
    GUIRegisterMsg($WM_COMMAND, '_WM_COMMAND')

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

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

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

    Case $a_cb46[0]
    IniWrite($ini2, "parameter", "MAXAGE", "")
    _changeState($a_cb46)

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

    Case $a_cb47[0]
    IniWrite($ini2, "parameter", "MINAGE", "")
    _changeState($a_cb47)

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

    Case $a_cb47[3], $a_cb47[1]
    Case $Button2

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

    EndSwitch
    WEnd

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

    Func _changeState($cID)
    Select
    Case BitAND(GUICtrlRead($cID[0]), $GUI_CHECKED) = $GUI_CHECKED
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_SHOW)
    Next
    Case Else
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_HIDE)
    Next
    EndSelect
    EndFunc ;==>_changeState

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

    Func _WM_COMMAND($hWnd, $Msg, $wParam, $lParam)
    If $hWnd = $Form1 Then
    If BitAND(GUICtrlRead($a_cb46[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb46[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb46[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb46[3], "")
    Else ; kleiner als 1900
    IniWriteSection($ini0, "parameter", "MAXAGE=/MAXAGE:" & GUICtrlRead($a_cb46[3]))
    IniWrite($ini2, "parameter", "MAXAGE", IniRead($ini0, "parameter", "MAXAGE", ""))
    EndIf
    Else
    GUICtrlSetState($a_cb46[3], $GUI_DISABLE)
    EndIf
    If BitAND(GUICtrlRead($a_cb46[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb46[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb46[3], $GUI_DISABLE)
    Local $1_day ; ----------------> Anfang : ;Example_date1()
    $1_day = StringSplit(GUICtrlRead($a_cb46[4]), ".", 1)
    IniWriteSection($ini0, "parameter", "MAXAGE=/MAXAGE:" & $1_day[3] & $1_day[2] & $1_day[1])
    IniWrite($ini2, "parameter", "MAXAGE", IniRead($ini0, "parameter", "MAXAGE", ""))
    Else
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    EndIf
    If BitAND(GUICtrlRead($a_cb47[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb47[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb47[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb47[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb47[3], "")
    Else ; kleiner als 1900
    IniWriteSection($ini0, "parameter", "MINAGE=/MINAGE:" & GUICtrlRead($a_cb47[3]))
    IniWrite($ini2, "parameter", "MINAGE", IniRead($ini0, "parameter", "MINAGE", ""))
    EndIf
    Else
    GUICtrlSetState($a_cb47[3], $GUI_DISABLE)
    EndIf
    If BitAND(GUICtrlRead($a_cb47[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb47[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb47[3], $GUI_DISABLE)
    Local $1_day ; ----------------> Anfang : ;Example_date1()
    $1_day = StringSplit(GUICtrlRead($a_cb47[4]), ".", 1)
    IniWriteSection($ini0, "parameter", "MINAGE=/MINAGE:" & $1_day[3] & $1_day[2] & $1_day[1])
    IniWrite($ini2, "parameter", "MINAGE", IniRead($ini0, "parameter", "MINAGE", ""))
    Else
    GUICtrlSetState($a_cb47[4], $GUI_DISABLE)
    EndIf
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc

    [/autoit]
  • Hallo Oscar.

    Wenn ich eine oder beide Combobox(en) deaktivieren, dann steht in der INI immer noch

    Spoiler anzeigen
    [autoit]

    [parameter]
    MAXAGE=/MAXAGE:9
    MINAGE=/MINAGE:0

    [/autoit]


    und dabei soll, wenn die MAXAGE-Combobox deaktiviert ist so aus sehen:

    Spoiler anzeigen
    [autoit]

    [parameter]
    MAXAGE=
    MINAGE=/MINAGE:0

    [/autoit]


    wenn die MINAGE-Combobox deaktiviert ist so aus sehen:

    Spoiler anzeigen
    [autoit]

    [parameter]
    MAXAGE=/MAXAGE:9
    MINAGE=

    [/autoit]


    und wenn beide deaktiviert sind dann halt so:

    Spoiler anzeigen
    [autoit]

    [parameter]
    MAXAGE=
    MINAGE=

    [/autoit]

    Kann man das noch mit abfragen?

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    • Offizieller Beitrag

    Ja, kann man! :)
    Ich habe mal die gesamte Abfrage für die Comboboxen etc. in die Funktion "_WM_COMMAND" gepackt:

    Spoiler anzeigen
    [autoit]


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

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

    $ini0 = @ScriptDir & "\test.ini"
    $ini2 = @ScriptDir & "\para.ini"

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

    If Not FileExists($ini0) Then _FileCreate($ini0)

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

    Dim $DTM_SETFORMAT_, $style

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

    $Form1 = GUICreate("44_45_46_47_CB_RB_RB", 360, 380, 193, 125)

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

    GUICtrlCreateGroup('MaxAge', 10, 10, 340, 100)
    $Combobox46 = GUICtrlCreateCheckbox("aktivieren", 20, 30, 89, 15)
    $Radio60 = GUICtrlCreateRadio("Radio60", 20, 55, 60, 15)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Radio61 = GUICtrlCreateRadio("Radio61", 20, 80, 60, 15)
    $Input23 = GUICtrlCreateInput("1899", 100, 53, 33, 21)
    $Date1 = GUICtrlCreateDate("2009/09/21 16:08:49", 100, 77, 90, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $DTM_SETFORMAT_ = 0x1032
    $style = "dd.MM.yyyy"; HH:mm:ss"
    GUICtrlSendMsg($Date1, $DTM_SETFORMAT_, 0, $style)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    GUICtrlCreateGroup('MinAge', 10, 120, 340, 100)
    $Combobox47 = GUICtrlCreateCheckbox("aktivieren", 20, 140, 89, 15)
    $Radio62 = GUICtrlCreateRadio("Radio62", 20, 165, 60, 15)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Radio63 = GUICtrlCreateRadio("Radio63", 20, 190, 60, 15)
    $Input24 = GUICtrlCreateInput("1", 100, 163, 33, 21)
    $Date2 = GUICtrlCreateDate("2009/09/21 16:08:49", 100, 187, 90, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $DTM_SETFORMAT_ = 0x1032
    $style = "dd.MM.yyyy"; HH:mm:ss"
    GUICtrlSendMsg($Date2, $DTM_SETFORMAT_, 0, $style)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    $Button2 = GUICtrlCreateButton("A U S G A B E", 5, 348, 346, 25, 0, $BS_CENTER)

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

    Global $a_cb46[5] = [$Combobox46, $Radio60, $Radio61, $Input23, $Date1]
    Global $a_cb47[5] = [$Combobox47, $Radio62, $Radio63, $Input24, $Date2]

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

    _changeState($a_cb46)
    _changeState($a_cb47)

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

    GUISetState(@SW_SHOW)
    GUIRegisterMsg($WM_COMMAND, '_WM_COMMAND')

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

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

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

    Case $Button2

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

    EndSwitch
    WEnd

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

    Func _changeState($cID)
    Select
    Case BitAND(GUICtrlRead($cID[0]), $GUI_CHECKED) = $GUI_CHECKED
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_SHOW)
    Next
    Case Else
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_HIDE)
    Next
    EndSelect
    EndFunc ;==>_changeState

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

    Func _WM_COMMAND($hWnd, $Msg, $wParam, $lParam)
    If $hWnd = $Form1 Then
    If BitAND(GUICtrlRead($a_cb46[0]), $GUI_CHECKED) = $GUI_CHECKED Then
    If BitAND(GUICtrlRead($a_cb46[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb46[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb46[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb46[3], "")
    Else ; kleiner als 1900
    IniWriteSection($ini0, "parameter", "MAXAGE=/MAXAGE:" & GUICtrlRead($a_cb46[3]))
    IniWrite($ini2, "parameter", "MAXAGE", IniRead($ini0, "parameter", "MAXAGE", ""))
    EndIf
    Else
    GUICtrlSetState($a_cb46[3], $GUI_DISABLE)
    EndIf
    If BitAND(GUICtrlRead($a_cb46[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb46[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb46[3], $GUI_DISABLE)
    Local $1_day ; ----------------> Anfang : ;Example_date1()
    $1_day = StringSplit(GUICtrlRead($a_cb46[4]), ".", 1)
    IniWriteSection($ini0, "parameter", "MAXAGE=/MAXAGE:" & $1_day[3] & $1_day[2] & $1_day[1])
    IniWrite($ini2, "parameter", "MAXAGE", IniRead($ini0, "parameter", "MAXAGE", ""))
    Else
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    EndIf
    Else
    IniWriteSection($ini0, "parameter", "MAXAGE=/MAXAGE:" & "")
    IniWrite($ini2, "parameter", "MAXAGE", "")
    EndIf
    If BitAND(GUICtrlRead($a_cb47[0]), $GUI_CHECKED) = $GUI_CHECKED Then
    If BitAND(GUICtrlRead($a_cb47[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb47[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb47[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb47[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb47[3], "")
    Else ; kleiner als 1900
    IniWriteSection($ini0, "parameter", "MINAGE=/MINAGE:" & GUICtrlRead($a_cb47[3]))
    IniWrite($ini2, "parameter", "MINAGE", IniRead($ini0, "parameter", "MINAGE", ""))
    EndIf
    Else
    GUICtrlSetState($a_cb47[3], $GUI_DISABLE)
    EndIf
    If BitAND(GUICtrlRead($a_cb47[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb47[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb47[3], $GUI_DISABLE)
    Local $1_day ; ----------------> Anfang : ;Example_date1()
    $1_day = StringSplit(GUICtrlRead($a_cb47[4]), ".", 1)
    IniWriteSection($ini0, "parameter", "MINAGE=/MINAGE:" & $1_day[3] & $1_day[2] & $1_day[1])
    IniWrite($ini2, "parameter", "MINAGE", IniRead($ini0, "parameter", "MINAGE", ""))
    Else
    GUICtrlSetState($a_cb47[4], $GUI_DISABLE)
    EndIf
    Else
    IniWriteSection($ini0, "parameter", "MINAGE=/MINAGE:" & "")
    IniWrite($ini2, "parameter", "MINAGE", "")
    EndIf
    _changeState($a_cb46)
    _changeState($a_cb47)
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc

    [/autoit]
  • Hallo Oscar.

    Danke für die Hilfe.

    Jetzt komme ich meine ich selber weiter. Sieht übersichtlich und verständlich aus.

    Mal eine reine Verständnisfrage, wenn man es so nennen darf.
    [GUIRegisterMsg($WM_COMMAND, '_WM_COMMAND')] bedeutet ja das man es in den Speicher packt. Kann man auch zwei Sachen auf die Art in den Speicher packen? Oder kann ich da noch mehr rein schreiben, was während der Auswahl von Comboboxen usw. sofort geändert werden soll. Eigentlich soll ja alles dann passieren, wenn ich den Button drücke, aber gewisse Sachen sollten gleich abgearbeitet werden und dazu gehören die MINAGE, MAXAGE, MINLAD und MAXLAD. Bei den anderen 62 "Vorscripte" hatte ich bis dato sonst keine auffallende Probleme, die ich DANK der Hilfe und des Forums lösen konnte. Also sind noch 18 "Vorscripte" nach und die werden jetzt in ANGRIFF genommen ;)

    Danke, noch einmal an alle die hier geholfen haben ! ! !

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • WM_Command ist eine Nachricht, die z.B. von Controls auf verschiedene Events (z.B.: Edit Control erhält den Fokus) abgefeuert wird.
    Diese kann man abfangen und darauf reagieren.

    Kurze Erklärung von Bugfix
    [autoit]


    Func WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
    Local $iIDFrom, $iCode
    $iIDFrom = BitAND($iwParam, 0xFFFF) ; Low Word
    $iCode = BitShift($iwParam, 16) ; Hi Word
    Return $GUI_RUNDEFMSG
    EndFunc ;==>WM_COMMAND

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

    #cs erklärung msg
    WM_COMMAND($hWnd, $iMsg, $iwParam, $ilParam)
    $hWnd ; - Handle des Fensters, das die Nachricht bringt
    $iMsg ; - die Nachricht
    $iwParam ; - Double Word (Dword-Wert)
    ; Lo - Word = ID des Ctrl, das die Nachricht bringt
    ; Hi - Word = Code der Nachricht
    $ilParam ; - Handle des Ctrl, das die Nachricht bringt
    #ce

    [/autoit]


    Und was Microsoft dazu sagt: http://msdn.microsoft.com/en-us/library/ms647591(VS.85).aspx

  • Also ich habe aus MAX- und MINAGE nun MAX & MIN AGE & LAD.

    Aber wenn ich auf Radio65 oder Radio67 drücke, bricht das Script sofort ab.

    Script:

    Spoiler anzeigen
    [autoit]


    ; Danksagung an: OSCAR, Schnuffel , Nuts,

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

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

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

    $ini0 = @ScriptDir & "\para.ini"
    $ini1 = @ScriptDir & "\test1.ini"
    $ini2 = @ScriptDir & "\test2.ini"
    $ini3 = @ScriptDir & "\test3.ini"
    $ini4 = @ScriptDir & "\test4.ini"

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

    If Not FileExists($ini1) Then _FileCreate($ini1)
    If Not FileExists($ini1) Then _FileCreate($ini2)
    If Not FileExists($ini1) Then _FileCreate($ini3)
    If Not FileExists($ini1) Then _FileCreate($ini4)

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

    Dim $DTM_SETFORMAT_, $style

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

    $Form1 = GUICreate("MINMAX_AGELAD", 360, 485, 193, 325)

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

    GUICtrlCreateGroup('MaxAge', 10, 10, 340, 100)
    $Combobox46 = GUICtrlCreateCheckbox("aktivieren", 20, 30, 89, 15)
    $Radio60 = GUICtrlCreateRadio("Radio60", 20, 55, 60, 15)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Radio61 = GUICtrlCreateRadio("Radio61", 20, 80, 60, 15)
    $Input23 = GUICtrlCreateInput("1899", 100, 53, 33, 21)
    $Date1 = GUICtrlCreateDate("2009/09/21 16:08:49", 100, 77, 90, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $DTM_SETFORMAT_ = 0x1032
    $style = "dd.MM.yyyy"; HH:mm:ss"
    GUICtrlSendMsg($Date1, $DTM_SETFORMAT_, 0, $style)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    GUICtrlCreateGroup('MinAge', 10, 120, 340, 100)
    $Combobox47 = GUICtrlCreateCheckbox("aktivieren", 20, 140, 89, 15)
    $Radio62 = GUICtrlCreateRadio("Radio62", 20, 165, 60, 15)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Radio63 = GUICtrlCreateRadio("Radio63", 20, 190, 60, 15)
    $Input24 = GUICtrlCreateInput("1", 100, 163, 33, 21)
    $Date2 = GUICtrlCreateDate("2009/2009/09/21 16:08:49", 100, 187, 90, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $DTM_SETFORMAT_ = 0x1032
    $style = "dd.MM.yyyy"; HH:mm:ss"
    GUICtrlSendMsg($Date2, $DTM_SETFORMAT_, 0, $style)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    GUICtrlCreateGroup('MaxLad', 10, 230, 340, 100) ;MAXLAD
    $Combobox48 = GUICtrlCreateCheckbox("aktivieren", 20, 250, 89, 15)
    $Radio64 = GUICtrlCreateRadio("Radio64", 20, 275, 60, 15)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Radio65 = GUICtrlCreateRadio("Radio65", 20, 300, 60, 15)
    $Input25 = GUICtrlCreateInput("1899", 100, 273, 33, 21)
    $Date3 = GUICtrlCreateDate("2009/09/21 16:08:49", 100, 297, 90, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $DTM_SETFORMAT_ = 0x1032
    $style = "dd.MM.yyyy"; HH:mm:ss"
    GUICtrlSendMsg($Date1, $DTM_SETFORMAT_, 0, $style)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    GUICtrlCreateGroup('MinLad', 10, 340, 340, 100) ;MINLAD
    $Combobox49 = GUICtrlCreateCheckbox("aktivieren", 20, 360, 89, 15)
    $Radio66 = GUICtrlCreateRadio("Radio66", 20, 385, 60, 15)
    GUICtrlSetState(-1, $GUI_CHECKED)
    $Radio67 = GUICtrlCreateRadio("Radio67", 20, 410, 60, 15)
    $Input26 = GUICtrlCreateInput("1", 100, 383, 33, 21)
    $Date4 = GUICtrlCreateDate("2009/09/21 16:08:49", 100, 407, 90, 21)
    GUICtrlSetState(-1, $GUI_DISABLE)
    $DTM_SETFORMAT_ = 0x1032
    $style = "dd.MM.yyyy"; HH:mm:ss"
    GUICtrlSendMsg($Date2, $DTM_SETFORMAT_, 0, $style)
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    $Button2 = GUICtrlCreateButton("A U S G A B E", 5, 450, 346, 25, 0, $BS_CENTER)

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

    Global $a_cb46[5] = [$Combobox46, $Radio60, $Radio61, $Input23, $Date1] ; MAXAGE
    Global $a_cb47[5] = [$Combobox47, $Radio62, $Radio63, $Input24, $Date2] ; MINAGE
    Global $a_cb48[5] = [$Combobox48, $Radio64, $Radio65, $Input25, $Date3] ; MAXLAD
    Global $a_cb49[5] = [$Combobox49, $Radio66, $Radio67, $Input26, $Date4] ; MINLAD

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

    _changeState($a_cb46)
    _changeState($a_cb47)
    _changeState($a_cb48)
    _changeState($a_cb49)

    GUISetState(@SW_SHOW)
    GUIRegisterMsg($WM_COMMAND, '_WM_COMMAND')

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

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

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

    Case $Button2

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

    EndSwitch
    WEnd

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

    Func _changeState($cID)
    Select
    Case BitAND(GUICtrlRead($cID[0]), $GUI_CHECKED) = $GUI_CHECKED
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_SHOW)
    Next
    Case Else
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_HIDE)
    Next
    EndSelect
    EndFunc ;==>_changeState

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

    Func _WM_COMMAND($hWnd, $Msg, $wParam, $lParam)
    If $hWnd = $Form1 Then

    ; MAXAGE
    If BitAND(GUICtrlRead($a_cb46[0]), $GUI_CHECKED) = $GUI_CHECKED Then
    If BitAND(GUICtrlRead($a_cb46[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb46[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb46[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb46[3], "")
    Else ; kleiner als 1900
    IniWriteSection($ini1, "parameter", "MAXAGE=/MAXAGE:" & GUICtrlRead($a_cb46[3]))
    IniWrite($ini0, "parameter", "MAXAGE", IniRead($ini1, "parameter", "MAXAGE", ""))
    EndIf
    Else
    GUICtrlSetState($a_cb46[3], $GUI_DISABLE)
    EndIf
    If BitAND(GUICtrlRead($a_cb46[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb46[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb46[3], $GUI_DISABLE)
    Local $1_day ; ----------------> Anfang : ;Example_date1()
    $1_day = StringSplit(GUICtrlRead($a_cb46[4]), ".", 1)
    IniWriteSection($ini1, "parameter", "MAXAGE=/MAXAGE:" & $1_day[3] & $1_day[2] & $1_day[1])
    IniWrite($ini0, "parameter", "MAXAGE", IniRead($ini1, "parameter", "MAXAGE", ""))
    Else
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    EndIf
    Else
    IniWriteSection($ini1, "parameter", "MAXAGE=/MAXAGE:" & "")
    IniWrite($ini0, "parameter", "MAXAGE", "")
    EndIf

    ; MINAGE
    If BitAND(GUICtrlRead($a_cb47[0]), $GUI_CHECKED) = $GUI_CHECKED Then
    If BitAND(GUICtrlRead($a_cb47[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb47[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb47[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb47[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb47[3], "")
    Else ; kleiner als 1900
    IniWriteSection($ini2, "parameter", "MINAGE=/MINAGE:" & GUICtrlRead($a_cb47[3]))
    IniWrite($ini0, "parameter", "MINAGE", IniRead($ini2, "parameter", "MINAGE", ""))
    EndIf
    Else
    GUICtrlSetState($a_cb47[3], $GUI_DISABLE)
    EndIf
    If BitAND(GUICtrlRead($a_cb47[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb47[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb47[3], $GUI_DISABLE)
    Local $2_day ; ----------------> Anfang : ;Example_date1()
    $2_day = StringSplit(GUICtrlRead($a_cb47[4]), ".", 1)
    IniWriteSection($ini2, "parameter", "MINAGE=/MINAGE:" & $2_day[3] & $2_day[2] & $2_day[1])
    IniWrite($ini0, "parameter", "MINAGE", IniRead($ini2, "parameter", "MINAGE", ""))
    Else
    GUICtrlSetState($a_cb47[4], $GUI_DISABLE)
    EndIf
    Else
    IniWriteSection($ini2, "parameter", "MINAGE=/MINAGE:" & "")
    IniWrite($ini0, "parameter", "MINAGE", "")
    EndIf

    ; MAXLAD
    If BitAND(GUICtrlRead($a_cb48[0]), $GUI_CHECKED) = $GUI_CHECKED Then
    If BitAND(GUICtrlRead($a_cb48[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb48[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb48[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb48[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb48[3], "")
    Else ; kleiner als 1900
    IniWriteSection($ini3, "parameter", "MAXLAD=/MAXLAD:" & GUICtrlRead($a_cb48[3]))
    IniWrite($ini0, "parameter", "MAXLAD", IniRead($ini3, "parameter", "MAXLAD", ""))
    EndIf
    Else
    GUICtrlSetState($a_cb48[3], $GUI_DISABLE)
    EndIf
    If BitAND(GUICtrlRead($a_cb48[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb48[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb48[3], $GUI_DISABLE)
    Local $3_day ; ----------------> Anfang : ;Example_date1()
    $3_day = StringSplit(GUICtrlRead($a_cb48[4]), ".", 1)
    IniWriteSection($ini3, "parameter", "MAXLAD=/MAXLAD:" & $3_day[3] & $3_day[2] & $3_day[1])
    IniWrite($ini0, "parameter", "MAXLAD", IniRead($ini3, "parameter", "MAXLAD", ""))
    Else
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    EndIf
    Else
    IniWriteSection($ini3, "parameter", "MAXLAD=/MAXLAD:" & "")
    IniWrite($ini0, "parameter", "MAXLAD", "")
    EndIf


    ; MINLAD
    If BitAND(GUICtrlRead($a_cb49[0]), $GUI_CHECKED) = $GUI_CHECKED Then
    If BitAND(GUICtrlRead($a_cb49[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb49[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb49[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb49[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb49[3], "")
    Else ; kleiner als 1900
    IniWriteSection($ini4, "parameter", "MINLAD=/MINLAD:" & GUICtrlRead($a_cb49[3]))
    IniWrite($ini0, "parameter", "MINLAD", IniRead($ini4, "parameter", "MINLAD", ""))
    EndIf
    Else
    GUICtrlSetState($a_cb49[3], $GUI_DISABLE)
    EndIf
    If BitAND(GUICtrlRead($a_cb49[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb49[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb49[3], $GUI_DISABLE)
    Local $4_day ; ----------------> Anfang : ;Example_date1()
    $4_day = StringSplit(GUICtrlRead($a_cb49[4]), ".", 1)
    IniWriteSection($ini4, "parameter", "MINLAD=/MINLAD:" & $4_day[3] & $4_day[2] & $4_day[1])
    IniWrite($ini0, "parameter", "MINLAD", IniRead($ini4, "parameter", "MINLAD", ""))
    Else
    GUICtrlSetState($a_cb49[4], $GUI_DISABLE)
    EndIf
    Else
    IniWriteSection($ini4, "parameter", "MINLAD=/MINLAD:" & "")
    IniWrite($ini0, "parameter", "MINLAD", "")
    EndIf

    _changeState($a_cb46)
    _changeState($a_cb47)
    _changeState($a_cb48)
    _changeState($a_cb49)
    EndIf
    Return $GUI_RUNDEFMSG
    EndFunc

    [/autoit]

    Wo ist der Fehler? Oder die Fehler? X(:cursing:8|:(:evil: :wacko:

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

  • reiner Kopierfehler :)

    ersetze Zeile 61 mit

    [autoit]

    GUICtrlSendMsg($Date3, $DTM_SETFORMAT_, 0, $style)

    [/autoit]


    und Zeile 74 mit:

    [autoit]

    GUICtrlSendMsg($Date4, $DTM_SETFORMAT_, 0, $style)

    [/autoit]


    Edit: ( nochmal erweitert...)
    ich hab Dein Script mal etwas übersichtlicher gestaltet:

    Spoiler anzeigen
    [autoit]

    ; Danksagung an: OSCAR, Schnuffel , Nuts,

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

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

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

    $ini0 = @ScriptDir & "\para.ini"
    $ini1 = @ScriptDir & "\test1.ini"
    $ini2 = @ScriptDir & "\test2.ini"
    $ini3 = @ScriptDir & "\test3.ini"
    $ini4 = @ScriptDir & "\test4.ini"

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

    If Not FileExists($ini1) Then _FileCreate($ini1)
    If Not FileExists($ini1) Then _FileCreate($ini2)
    If Not FileExists($ini1) Then _FileCreate($ini3)
    If Not FileExists($ini1) Then _FileCreate($ini4)

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

    Dim $DTM_SETFORMAT_, $style

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

    $Form1 = GUICreate("MINMAX_AGELAD", 360, 485, 193, 325)

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

    GUICtrlCreateGroup('MaxAge', 10, 10, 340, 100)
    Global $a_cb46[5] = [ GUICtrlCreateCheckbox( "aktivieren", 20, 30, 89, 15), _
    GUICtrlCreateRadio( "Radio60", 20, 55, 60, 15), _
    GUICtrlCreateRadio( "Radio61", 20, 80, 60, 15), _
    GUICtrlCreateInput( "1899", 100, 53, 33, 21), _
    GUICtrlCreateDate( "2009/09/21 16:08:49", 100, 77, 90, 21)] ; MAXAGE
    GUICtrlSetState($a_cb46[1], $GUI_CHECKED)
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    GUICtrlSendMsg($a_cb46[4],0x1032, 0, "dd.MM.yyyy")
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    GUICtrlCreateGroup('MinAge', 10, 120, 340, 100)
    Global $a_cb47[5] = [ GUICtrlCreateCheckbox( "aktivieren", 20, 140, 89, 15), _
    GUICtrlCreateRadio( "Radio62", 20, 165, 60, 15), _
    GUICtrlCreateRadio( "Radio63", 20, 190, 60, 15), _
    GUICtrlCreateInput( "1", 100, 163, 33, 21), _
    GUICtrlCreateDate( "2009/2009/09/21 16:08:49", 100, 187, 90, 21)] ; MINAGE
    GUICtrlSetState($a_cb47[1], $GUI_CHECKED)
    GUICtrlSetState($a_cb47[4], $GUI_DISABLE)
    GUICtrlSendMsg($a_cb47[4],0x1032, 0, "dd.MM.yyyy")
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    GUICtrlCreateGroup('MaxLad', 10, 230, 340, 100) ;MAXLAD
    Global $a_cb48[5] = [ GUICtrlCreateCheckbox( "aktivieren", 20, 250, 89, 15), _
    GUICtrlCreateRadio( "Radio64", 20, 275, 60, 15), _
    GUICtrlCreateRadio( "Radio65", 20, 300, 60, 15), _
    GUICtrlCreateInput( "1899", 100, 273, 33, 21), _
    GUICtrlCreateDate( "2009/09/21 16:08:49", 100, 297, 90, 21)] ; MAXLAD
    GUICtrlSetState($a_cb48[1], $GUI_CHECKED)
    GUICtrlSetState($a_cb48[4], $GUI_DISABLE)
    GUICtrlSendMsg($a_cb48[4],0x1032, 0, "dd.MM.yyyy")
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    GUICtrlCreateGroup('MinLad', 10, 340, 340, 100) ;MINLAD
    Global $a_cb49[5] = [ GUICtrlCreateCheckbox( "aktivieren", 20, 360, 89, 15), _
    GUICtrlCreateRadio( "Radio66", 20, 385, 60, 15), _
    GUICtrlCreateRadio( "Radio67", 20, 410, 60, 15), _
    GUICtrlCreateInput( "1", 100, 383, 33, 21), _
    GUICtrlCreateDate( "2009/09/21 16:08:49", 100, 407, 90, 21)] ; MINLAD
    GUICtrlSetState($a_cb49[1], $GUI_CHECKED)
    GUICtrlSetState($a_cb49[4], $GUI_DISABLE)
    GUICtrlSendMsg($a_cb49[4],0x1032, 0, "dd.MM.yyyy")
    GUICtrlCreateGroup("", -99, -99, 1, 1)

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

    $Button2 = GUICtrlCreateButton("A U S G A B E", 5, 450, 346, 25, 0, $BS_CENTER)

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

    _changeState($a_cb46)
    _changeState($a_cb47)
    _changeState($a_cb48)
    _changeState($a_cb49)

    GUISetState(@SW_SHOW)
    GUIRegisterMsg($WM_COMMAND, '_WM_COMMAND')

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

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

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

    Case $Button2

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

    EndSwitch
    WEnd

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

    Func _changeState($cID)
    Select
    Case BitAND(GUICtrlRead($cID[0]), $GUI_CHECKED) = $GUI_CHECKED
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_ENABLE)
    Next
    Case Else
    For $i = 1 To UBound($cID) - 1
    GUICtrlSetState($cID[$i], $GUI_DISABLE)
    Next
    EndSelect
    EndFunc ;==>_changeState

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

    Func _WM_COMMAND($hWnd, $Msg, $wParam, $lParam)
    $nID = BitAND($wParam, 0xFFFF)
    Switch $nID
    Case $a_cb46[0] ; MAXAGE
    If BitAND(GUICtrlRead($a_cb46[0]), $GUI_CHECKED) = $GUI_CHECKED Then
    If BitAND(GUICtrlRead($a_cb46[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb46[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb46[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb46[3], "")
    Else ; kleiner als 1900
    IniWriteSection($ini1, "parameter", "MAXAGE=/MAXAGE:" & GUICtrlRead($a_cb46[3]))
    IniWrite($ini0, "parameter", "MAXAGE", IniRead($ini1, "parameter", "MAXAGE", ""))
    EndIf
    Else
    GUICtrlSetState($a_cb46[3], $GUI_DISABLE)
    EndIf
    If BitAND(GUICtrlRead($a_cb46[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb46[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb46[3], $GUI_DISABLE)
    Local $1_day ; ----------------> Anfang : ;Example_date1()
    $1_day = StringSplit(GUICtrlRead($a_cb46[4]), ".", 1)
    IniWriteSection($ini1, "parameter", "MAXAGE=/MAXAGE:" & $1_day[3] & $1_day[2] & $1_day[1])
    IniWrite($ini0, "parameter", "MAXAGE", IniRead($ini1, "parameter", "MAXAGE", ""))
    Else
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    EndIf
    Else
    IniWriteSection($ini1, "parameter", "MAXAGE=/MAXAGE:" & "")
    IniWrite($ini0, "parameter", "MAXAGE", "")
    EndIf
    Case $a_cb47[0] ; MINAGE
    If BitAND(GUICtrlRead($a_cb47[0]), $GUI_CHECKED) = $GUI_CHECKED Then
    If BitAND(GUICtrlRead($a_cb47[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb47[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb47[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb47[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb47[3], "")
    Else ; kleiner als 1900
    IniWriteSection($ini2, "parameter", "MINAGE=/MINAGE:" & GUICtrlRead($a_cb47[3]))
    IniWrite($ini0, "parameter", "MINAGE", IniRead($ini2, "parameter", "MINAGE", ""))
    EndIf
    Else
    GUICtrlSetState($a_cb47[3], $GUI_DISABLE)
    EndIf
    If BitAND(GUICtrlRead($a_cb47[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb47[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb47[3], $GUI_DISABLE)
    Local $2_day ; ----------------> Anfang : ;Example_date1()
    $2_day = StringSplit(GUICtrlRead($a_cb47[4]), ".", 1)
    IniWriteSection($ini2, "parameter", "MINAGE=/MINAGE:" & $2_day[3] & $2_day[2] & $2_day[1])
    IniWrite($ini0, "parameter", "MINAGE", IniRead($ini2, "parameter", "MINAGE", ""))
    Else
    GUICtrlSetState($a_cb47[4], $GUI_DISABLE)
    EndIf
    Else
    IniWriteSection($ini2, "parameter", "MINAGE=/MINAGE:" & "")
    IniWrite($ini0, "parameter", "MINAGE", "")
    EndIf
    Case $a_cb48[0] ; MAXLAD
    If BitAND(GUICtrlRead($a_cb48[0]), $GUI_CHECKED) = $GUI_CHECKED Then
    If BitAND(GUICtrlRead($a_cb48[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb48[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb48[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb48[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb48[3], "")
    Else ; kleiner als 1900
    IniWriteSection($ini3, "parameter", "MAXLAD=/MAXLAD:" & GUICtrlRead($a_cb48[3]))
    IniWrite($ini0, "parameter", "MAXLAD", IniRead($ini3, "parameter", "MAXLAD", ""))
    EndIf
    Else
    GUICtrlSetState($a_cb48[3], $GUI_DISABLE)
    EndIf
    If BitAND(GUICtrlRead($a_cb48[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb48[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb48[3], $GUI_DISABLE)
    Local $3_day ; ----------------> Anfang : ;Example_date1()
    $3_day = StringSplit(GUICtrlRead($a_cb48[4]), ".", 1)
    IniWriteSection($ini3, "parameter", "MAXLAD=/MAXLAD:" & $3_day[3] & $3_day[2] & $3_day[1])
    IniWrite($ini0, "parameter", "MAXLAD", IniRead($ini3, "parameter", "MAXLAD", ""))
    Else
    GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    EndIf
    Else
    IniWriteSection($ini3, "parameter", "MAXLAD=/MAXLAD:" & "")
    IniWrite($ini0, "parameter", "MAXLAD", "")
    EndIf
    Case $a_cb49[0] ; MINLAD
    If BitAND(GUICtrlRead($a_cb49[0]), $GUI_CHECKED) = $GUI_CHECKED Then
    If BitAND(GUICtrlRead($a_cb49[1]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb49[3], $GUI_ENABLE)
    GUICtrlSetState($a_cb49[4], $GUI_DISABLE)
    If GUICtrlRead($a_cb49[3]) >= 1900 Then
    MsgBox(0, "MELDUNG", "Wert maximal 1899")
    GUICtrlSetData($a_cb49[3], "")
    Else ; kleiner als 1900
    IniWriteSection($ini4, "parameter", "MINLAD=/MINLAD:" & GUICtrlRead($a_cb49[3]))
    IniWrite($ini0, "parameter", "MINLAD", IniRead($ini4, "parameter", "MINLAD", ""))
    EndIf
    Else
    GUICtrlSetState($a_cb49[3], $GUI_DISABLE)
    EndIf
    If BitAND(GUICtrlRead($a_cb49[2]), $GUI_CHECKED) = $GUI_CHECKED Then
    GUICtrlSetState($a_cb49[4], $GUI_ENABLE)
    GUICtrlSetState($a_cb49[3], $GUI_DISABLE)
    Local $4_day ; ----------------> Anfang : ;Example_date1()
    $4_day = StringSplit(GUICtrlRead($a_cb49[4]), ".", 1)
    IniWriteSection($ini4, "parameter", "MINLAD=/MINLAD:" & $4_day[3] & $4_day[2] & $4_day[1])
    IniWrite($ini0, "parameter", "MINLAD", IniRead($ini4, "parameter", "MINLAD", ""))
    Else
    GUICtrlSetState($a_cb49[4], $GUI_DISABLE)
    EndIf
    Else
    IniWriteSection($ini4, "parameter", "MINLAD=/MINLAD:" & "")
    IniWrite($ini0, "parameter", "MINLAD", "")
    EndIf
    EndSwitch
    _changeState($a_cb46)
    _changeState($a_cb47)
    _changeState($a_cb48)
    _changeState($a_cb49)
    Return $GUI_RUNDEFMSG
    EndFunc

    [/autoit]

    MfG Schnuffel

    "Sarkasmus ist die niedrigste Form des Witzes, aber die höchste Form der Intelligenz."
    Val McDermid

    ein paar Infos ...

    Wer mehr als "nur" Hilfe benötigt, kann sich gern im Forum "Programmieranfragen" an uns wenden. Wir helfen in allen Fällen, die die Forenregeln zulassen.

    Für schnelle Hilfe benötigen wir ein ! lauffähiges ! Script, dass wir als Demonstration des Problems testen können. Wer von uns erwartet ein Teilscript erstmal lauffähig zu bekommen, der hat
    1. keine wirkliche Not
    2. keinen Respekt vor Menschen die ihm in ihrer Freizeit Ihre Hilfe anbieten
    3. oder ist einfach nur faul und meint wir coden das für ihn

    In solchen Fällen erlaube ich mir, die Anfrage einfach zu ignorieren. ;)

    2 Mal editiert, zuletzt von Schnuffel (26. September 2009 um 23:51)

  • Schuffel, da gebe ich Dir recht, das war ein Kopierfehler.

    Aber in Zeile 187 sollte es so heißen:
    streiche: GUICtrlSetState($a_cb46[4], $GUI_DISABLE)
    setze: GUICtrlSetState($a_cb48[4], $GUI_DISABLE)

    Aber den Fehler findet man ja ;)

    DANKE allen !!!

    Lieben Gruß,
    Alina

    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

    Geheime Information: ;)
    OuBVU5ebLhHu5QvlnAyQB4A7SzBrvWulwL7RLl2BdH5tI6sIYspeMKeXMSXl

    Einmal editiert, zuletzt von Alina (27. September 2009 um 09:51)