Erste INI Versuche ?

  • Running Disk soll sich die Einstellungen der letzten Nutzung merken. Die Hilfe versprüht hier etwas englischen Charme und antwortet sinngemäß auf meine Frage: „Können Sie mir die Uhrzeit sagen ?“ mit einem einfachem: „Ja!“

    Das im Anhang befindliche Beispiel ist, meiner Meinung nach, funktionstüchtig :?:

    1.Ist das so OK :?:
    2.In Zeile 20 „BitOR($BS_AUTORADIOBUTTON,“ die Automatik, kann sie jetzt weg :?:

    Spoiler anzeigen
    [autoit]


    ; by Benjamin C. und Ritzelrocker04 ==> RDv2017.au3

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

    #include <GUIConstants.au3>

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

    ;$var = IniRead("C:\Temp\myfile.ini", "section2", "key", "NotFound") ; Beispiel aus Hilfe

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

    $var1 = IniRead(@ScriptDir & "\RD.ini", "Settings", "sichern", "NotFound")
    $var2 = IniRead(@ScriptDir & "\RD.ini", "Settings", "sichernUaus", "NotFound")
    ;GUICtrlSetState($rb_SichernUaus, $var1)

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

    $GUI = GUICreate("Running Disk v 2.0.17", 315, 150, -1, 180, $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS)
    $gb_All = GUICtrlCreateGroup("", 8, 1, 300, 112)
    $avi = GUICtrlCreateAvi("RDsys\RD.avi", -1, 24, 10, 100, 100, BitOR($ACS_TRANSPARENT,$ACS_AUTOPLAY))
    $gb_EigeneDateien = GUICtrlCreateGroup("Eigene Dateien", 144, 13, 145, 90)
    $bn_Close = GUICtrlCreateButton("&Beenden", 229, 120, 75, 25, 0)
    $bn_OK = GUICtrlCreateButton("&OK", 149, 120, 75, 25, 0)
    GUICtrlSetState(-1,$GUI_DEFBUTTON)
    $rb_Sichern = GUICtrlCreateRadio("&sichern", 150, 40, 113, 17)
    ;GUICtrlSetState($rb_Sichern, $GUI_CHECKED)
    $rb_SichernUaus = GUICtrlCreateRadio("&nach sichern den PC ausschalten", 150, 65, 113, 33, BitOR($BS_AUTORADIOBUTTON,$BS_MULTILINE))
    GUICtrlCreateGroup("", -99, -99, 1, 1) ; ==> BitOR($BS_AUTORADIOBUTTON,

    GUICtrlSetState($rb_Sichern, $var1)
    GUICtrlSetState($rb_SichernUaus, $var2)

    ;$GUI_UNCHECKED Markierung in Radio oder Checkbox wird entfernt
    ;$GUI_CHECKED Radio oder Checkbox wird markiert

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

    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    If $nMsg <> 0 Then
    $Sichern = GUICtrlRead($rb_Sichern)
    Select
    Case $nMsg = $GUI_EVENT_CLOSE Or $nMsg = $bn_Close
    Exit
    Case $nMsg = $bn_OK
    If FileExists("E:\$Backup$\$EigeneDateien$\EigeneDateien-0" & @WDAY & ".zip ") Then
    $ExistsFileWahl = MsgBox(32+4, "Löschen", 'Möchten Sie die bereits existierende Datei "EigeneDateien-0' & @WDAY & '.zip" löschen ? ')
    If $ExistsFileWahl = 6 Then
    FileDelete("E:\$Backup$\$EigeneDateien$\EigeneDateien-0" & @WDAY & ".zip ")
    EndIf
    EndIf
    If $Sichern = 1 Then
    $_Userwahlsich = MsgBox(32+4, " Sichern", "Möchten Sie nach der Sicherung weiterarbeiten ? ")
    If $_Userwahlsich = 7 Then
    MsgBox(48, " Sichern", " ...es wurden keine Daten gesichert ! ")
    Exit
    EndIf
    $Methode = "Sichern"
    IniWrite(@ScriptDir & "\RD.ini", "Settings", "sichern", "1")
    IniWrite(@ScriptDir & "\RD.ini", "Settings", "sichernUaus", "0")
    _SichernFunc1()
    MsgBox(64, " Sichern", " Sicherung abgeschlossen ! ")
    Exit
    Else
    $_Userwahlout = MsgBox(32+4, " Sichern & Ausschalten", "Möchten Sie nach der Sicherung den PC automatisch ausschalten ? ")
    If $_Userwahlout = 7 Then
    MsgBox(48, " Sichern & Ausschalten", " ...es wurden keine Daten gesichert ! ")
    Exit
    EndIf
    $Methode = "Sichern & Ausschalten"
    IniWrite(@ScriptDir & "\RD.ini", "Settings", "sichern", "0")
    IniWrite(@ScriptDir & "\RD.ini", "Settings", "sichernUaus", "1")
    _SichernFunc1()
    Shutdown(9)
    EndIf
    ExitLoop
    EndSelect
    EndIf
    WEnd

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

    Func _SichernFunc1()

    RunWait(@ComSpec & ' /c ' & "RDsys\7za.exe a -tzip " & "E:\$Backup$\$EigeneDateien$\EigeneDateien-0" & @WDAY & ".zip " & '"C:\Dokumente und Einstellungen\XP-Home\Eigene Dateien"',@ScriptDir ,@SW_MINIMIZE)
    $logfile = FileOpen("RD.log", 1)

    If $logfile = -1 Then
    MsgBox(0, "Error", " Die Datei RD.log konnte nicht geöffnet werden.", 3)
    Exit
    EndIf

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

    FileWriteLine($logfile, "Letzte Sicherung (" & $Methode & ") der Eigenen Dateien am : " & @YEAR & "-" & @MON & "-" & @MDAY & " um " & @HOUR & ":" & @MIN & ":" & @SEC & " Uhr")
    FileClose($logfile)
    SoundSetWaveVolume(50)
    SoundPlay("RDsys\Success.wav", 1)

    EndFunc

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


    Schönes WE und Danke

    • Offizieller Beitrag

    Naja, eigentlich soll man ja mit CHECKED und UNCHECKED arbeiten. Außerdem sind das doch sowieso nur 2 Radiobuttons. Es kann immer nur einer ausgewählt sein. Man kann das Ganze also auf einen Eintrag reduzieren:

    Spoiler anzeigen
    [autoit]


    ; by Benjamin C. und Ritzelrocker04 ==> RDv2017.au3

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

    #include <GUIConstants.au3>

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

    ;$var = IniRead("C:\Temp\myfile.ini", "section2", "key", "NotFound") ; Beispiel aus Hilfe

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

    $var1 = IniRead(@ScriptDir & "\RD.ini", "Settings", "sichern", "0")
    ;GUICtrlSetState($rb_SichernUaus, $var1)

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

    $GUI = GUICreate("Running Disk v 2.0.17", 315, 150, -1, 180, $WS_OVERLAPPEDWINDOW + $WS_VISIBLE + $WS_CLIPSIBLINGS)
    $gb_All = GUICtrlCreateGroup("", 8, 1, 300, 112)
    $avi = GUICtrlCreateAvi("RDsys\RD.avi", -1, 24, 10, 100, 100, BitOR($ACS_TRANSPARENT,$ACS_AUTOPLAY))
    $gb_EigeneDateien = GUICtrlCreateGroup("Eigene Dateien", 144, 13, 145, 90)
    $bn_Close = GUICtrlCreateButton("&Beenden", 229, 120, 75, 25, 0)
    $bn_OK = GUICtrlCreateButton("&OK", 149, 120, 75, 25, 0)
    GUICtrlSetState(-1,$GUI_DEFBUTTON)
    $rb_Sichern = GUICtrlCreateRadio("&sichern", 150, 40, 113, 17)
    ;GUICtrlSetState($rb_Sichern, $GUI_CHECKED)
    $rb_SichernUaus = GUICtrlCreateRadio("&nach sichern den PC ausschalten", 150, 65, 113, 33)
    GUICtrlCreateGroup("", -99, -99, 1, 1) ; ==> BitOR($BS_AUTORADIOBUTTON,

    Switch $var1
    Case 0
    GUICtrlSetState($rb_Sichern, $GUI_CHECKED)
    Case 1
    GUICtrlSetState($rb_SichernUaus, $GUI_CHECKED)
    EndSwitch

    ;$GUI_UNCHECKED Markierung in Radio oder Checkbox wird entfernt
    ;$GUI_CHECKED Radio oder Checkbox wird markiert

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

    GUISetState(@SW_SHOW)

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

    While 1
    $nMsg = GUIGetMsg()
    If $nMsg <> 0 Then
    $Sichern = GUICtrlRead($rb_Sichern)
    Select
    Case $nMsg = $GUI_EVENT_CLOSE Or $nMsg = $bn_Close
    Exit
    Case $nMsg = $bn_OK
    If FileExists("E:\$Backup$\$EigeneDateien$\EigeneDateien-0" & @WDAY & ".zip ") Then
    $ExistsFileWahl = MsgBox(32+4, "Löschen", 'Möchten Sie die bereits existierende Datei "EigeneDateien-0' & @WDAY & '.zip" löschen ? ')
    If $ExistsFileWahl = 6 Then
    FileDelete("E:\$Backup$\$EigeneDateien$\EigeneDateien-0" & @WDAY & ".zip ")
    EndIf
    EndIf
    If $Sichern = 1 Then
    $_Userwahlsich = MsgBox(32+4, " Sichern", "Möchten Sie nach der Sicherung weiterarbeiten ? ")
    If $_Userwahlsich = 7 Then
    MsgBox(48, " Sichern", " ...es wurden keine Daten gesichert ! ")
    Exit
    EndIf
    $Methode = "Sichern"
    Switch GUICtrlRead($rb_Sichern)
    Case $GUI_CHECKED
    IniWrite(@ScriptDir & "\RD.ini", "Settings", "sichern", "0")
    Case $GUI_UNCHECKED
    IniWrite(@ScriptDir & "\RD.ini", "Settings", "sichern", "1")
    EndSwitch
    _SichernFunc1()
    MsgBox(64, " Sichern", " Sicherung abgeschlossen ! ")
    Exit
    Else
    $_Userwahlout = MsgBox(32+4, " Sichern & Ausschalten", "Möchten Sie nach der Sicherung den PC automatisch ausschalten ? ")
    If $_Userwahlout = 7 Then
    MsgBox(48, " Sichern & Ausschalten", " ...es wurden keine Daten gesichert ! ")
    Exit
    EndIf
    $Methode = "Sichern & Ausschalten"
    Switch GUICtrlRead($rb_Sichern)
    Case $GUI_CHECKED
    IniWrite(@ScriptDir & "\RD.ini", "Settings", "sichern", "0")
    Case $GUI_UNCHECKED
    IniWrite(@ScriptDir & "\RD.ini", "Settings", "sichern", "1")
    EndSwitch
    _SichernFunc1()
    ;Shutdown(9)
    EndIf
    ExitLoop
    EndSelect
    EndIf
    WEnd

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

    Func _SichernFunc1()

    ;RunWait(@ComSpec & ' /c ' & "RDsys\7za.exe a -tzip " & "E:\$Backup$\$EigeneDateien$\EigeneDateien-0" & @WDAY & ".zip " & '"C:\Dokumente und Einstellungen\XP-Home\Eigene Dateien"',@ScriptDir ,@SW_MINIMIZE)
    $logfile = FileOpen("RD.log", 1)

    If $logfile = -1 Then
    MsgBox(0, "Error", " Die Datei RD.log konnte nicht geöffnet werden.", 3)
    Exit
    EndIf

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

    FileWriteLine($logfile, "Letzte Sicherung (" & $Methode & ") der Eigenen Dateien am : " & @YEAR & "-" & @MON & "-" & @MDAY & " um " & @HOUR & ":" & @MIN & ":" & @SEC & " Uhr")
    FileClose($logfile)
    ;SoundSetWaveVolume(50)
    ;SoundPlay("RDsys\Success.wav", 1)

    EndFunc

    [/autoit]

    Die Antwort auf Deine 2. Frage: Ja! :)

  • Wie die Überschrift schon sagt: „Erste INI Versuche“. Ich habe in dieser Sache bereits einiges probiert. Auch CHECKED und UNCHECKED waren dabei (siehe Zeile 26/27), wie man aber sieht, geht nichts über lange Erfahrung. Ein einfaches Beispiel, wie RDv2017, zeigt so schnell die Wirkungsweise und Zusammenhänge. Bei INIREAD und MSGBOX ist es nicht ganz so praxisbezogen. 8)

    Schönes WE und Danke