Checkbox soll markiert werden durch iniread...

  • Hi also ich komm direkt zur Sache.

    Wie krieg ich die .ini ausgelesen so das beim Start die Checkbox markiert ist?

    Spoiler anzeigen
    [autoit]

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

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

    GuiCreate('Settings', 230, 130)
    GUICtrlCreateTab(10, 10, 200, 100)
    GUICtrlCreateTabItem("English")

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

    $Checkbox1 = GuiCtrlCreateCheckBox("AutoUpdate",20,40)
    $Checkbox2 = GuiCtrlCreateCheckBox("AutoLogin",20,60)
    $Checkbox3 = GuiCtrlCreateCheckBox("Newsletter",20,80)
    GUISetState(@SW_SHOW)
    While 1
    $this = GUIGetMsg()
    Switch $this
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Checkbox1
    $Read = GUICtrlRead ($Checkbox1)
    If $Read = "1" Then
    iniwrite("config.ini","Settings","AutoUpdate","yes")
    ElseIf $Read = "4" Then
    iniwrite("config.ini","Settings","AutoUpdate","no")
    EndIf
    Case $Checkbox2
    $Read = GUICtrlRead ($Checkbox2)
    If $Read = "1" Then
    iniwrite("config.ini","Settings","AutoLogin","yes")
    ElseIf $Read = "4" Then
    iniwrite("config.ini","Settings","AutoLogin","no")
    EndIf
    Case $Checkbox3
    $Read = GUICtrlRead ($Checkbox3)
    If $Read = "1" Then
    iniwrite("config.ini","Settings","Newsletter","yes")
    inputbox("E-Mail:","Enter E-Mail Adress here")
    ElseIf $Read = "4" Then
    iniwrite("config.ini","Settings","Newsletter","no")
    EndIf
    EndSwitch
    WEnd

    [/autoit]

    Einmal editiert, zuletzt von vism (6. Januar 2009 um 15:13)

    • Offizieller Beitrag

    Hi,
    speichere gleich einen Wert in die INI, den du direkt (logisch [0,1]) abfragen kannst:

    [autoit]

    ; schreiben:
    Case $Checkbox1
    If BitAND(GUICtrlRead($Checkbox1), $GUI_CHECKED) Then
    iniwrite("config.ini","Settings","AutoUpdate", 1)
    Else
    iniwrite("config.ini","Settings","AutoUpdate", 0)
    EndIf

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

    ; lesen:
    If IniRead("config.ini","Settings","AutoUpdate", 0) Then GUICtrlSetState($Checkbox1, $GUI_CHECKED)

    [/autoit]
  • oder so

    Spoiler anzeigen
    [autoit]

    #NoTrayIcon
    #include <GUIConstantsEx.au3>

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

    $ini = @ScriptDir & "\" & "config.ini"

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

    GUICreate('Settings', 230, 130)
    GUICtrlCreateTab(10, 10, 200, 100)
    GUICtrlCreateTabItem("English")

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

    $Checkbox1 = GUICtrlCreateCheckbox("AutoUpdate", 20, 40)
    $Checkbox2 = GUICtrlCreateCheckbox("AutoLogin", 20, 60)
    $Checkbox3 = GUICtrlCreateCheckbox("Newsletter", 20, 80)

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

    $ini_autoupdate = IniRead($ini, "Settings", "AutoUpdate", "")
    If $ini_autoupdate = "yes" Then GUICtrlSetState($Checkbox1, $GUI_CHECKED)

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

    GUISetState(@SW_SHOW)
    While 1
    $this = GUIGetMsg()
    Switch $this
    Case $GUI_EVENT_CLOSE
    Exit
    Case $Checkbox1
    $Read = GUICtrlRead($Checkbox1)
    If $Read = 1 Then
    IniWrite($ini, "Settings", "AutoUpdate", "yes")
    ElseIf $Read = 4 Then
    IniWrite($ini, "Settings", "AutoUpdate", "no")
    EndIf
    Case $Checkbox2
    $Read = GUICtrlRead($Checkbox2)
    If $Read = 1 Then
    IniWrite($ini, "Settings", "AutoLogin", "yes")
    ElseIf $Read = 4 Then
    IniWrite($ini, "Settings", "AutoLogin", "no")
    EndIf
    Case $Checkbox3
    $Read = GUICtrlRead($Checkbox3)
    If $Read = 1 Then
    IniWrite($ini, "Settings", "Newsletter", "yes")
    InputBox("E-Mail:", "Enter E-Mail Adress here")
    ElseIf $Read = 4 Then
    IniWrite($ini, "Settings", "Newsletter", "no")
    EndIf
    EndSwitch
    WEnd

    [/autoit]

    Habe es nur für 1 Checkbox erstellt, den Rest schaffst du 8)