HILFE - GUI bremst PC aus !!!

  • Hallo zusammen,

    hab ne GUI geschrieben. Diese Bremst meinen Rechner aber aus ! . Durch einfügen von sleep in die Schleifen hat sich aber auch nichts geändert. -> Im Gegenteil das ganze GUI wird in der Benutzung langsamer (ist ja eigentlich auch klar ;) ).

    Aber was könnte ich jetzt tun um die CPU Leistung nicht zu bremsen ????
    Vielleicht kann mir jemand weiter helfen?

    mfg und danke dominik

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>
    #include "RestrictControlRegExp.au3"
    If FileExists("Variablen.ini") Then FileDelete("Variablen.ini")

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

    $Form1_1 = GUICreate("Einstellungen für Alarmierung :", 633, 447, 193, 115)
    $Label1 = GUICtrlCreateLabel("Einstellungen", 224, 24, 175, 33) ;GUICtrlCreateLabel ( "text", left, top [, width [, height [, style [, exStyle]]]] )
    GUICtrlSetFont(-1, 18, 800, 0, "Arial")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    _RegEx_RestrictControl_setup(20) ; spezial funktion
    $Group2 = GUICtrlCreateGroup("Einstellungen", 384, 120, 209, 300) ;GUICtrlCreateGroup ( "text", left, top [, width [, height [, style [, exStyle]]]] )
    $TelefonAUS = GUICtrlCreateCheckbox("Telefon Anruf ausschalten", 400, 152, 150, 17);GUICtrlCreateCheckbox ( "text", left, top [, width [, height [, style [, exStyle]]]] )
    $GoogleSTARTEN= GUICtrlCreateCheckbox("Google Maps starten", 400, 176, 150, 25)
    $SoundAUS = GUICtrlCreateCheckbox("Sound ausschalten", 400, 208, 121, 25)
    $Ausgangspos = GUICtrlCreateCheckbox("Nach Suche in Ausgangsposition", 400, 240, 175, 25)
    $FreieSuche = GUICtrlCreateCheckbox("Freie Suchauswahl ein", 400, 272, 130, 25)
    $DiagnoseEIN = GUICtrlCreateCheckbox("Diagnose Meldungen ein", 400, 305, 135, 25)
    $EnergiesprNAus = GUICtrlCreateCheckbox("Energiespar nicht ausschalten", 400, 337, 175, 25)
    $Label2 = GUICtrlCreateLabel("Lautstärke in % (30)", 20, 192, 140, 33)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    $Lautstaerke = GUICtrlCreateInput('', 150, 192, 25, 20);GUICtrlCreateInput ( "text", left, top [, width [, height [, style [, exStyle]]]] )
    _RegEx_RestrictControl_add($Lautstaerke, "^[0-9]{0,3}$"); Eingabe: nur ziffern 0-9 / und nur 3 stellen

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

    $Group3 = GUICtrlCreateGroup("Nachtschaltung", 15, 220, 280, 80)
    ;$radioNachtschaltEIN= GUICtrlCreateRadio("Nachtschaltung ein", 30, 235, 110, 25)
    ;$radioNachtschaltAUS = GUICtrlCreateRadio("Nachtschaltung aus", 30, 255, 113, 25)

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

    $Label3 = GUICtrlCreateLabel("Uhrzeit Beginn (23)", 140, 238, 130, 33)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    $UhrzeitBegi = GUICtrlCreateInput("", 265, 238, 20, 20)
    _RegEx_RestrictControl_add($UhrzeitBegi, "^[0-9]{0,2}$"); Eingabe: nur ziffern 0-9 / und nur 2 stellen

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

    $Label4 = GUICtrlCreateLabel("Uhrzeit Ende (07)", 140, 259, 130, 33)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    $UhrzeitEnde = GUICtrlCreateInput("", 265, 259, 20, 20)
    _RegEx_RestrictControl_add($UhrzeitEnde, "^[0-9]{0,2}$"); Eingabe: nur ziffern 0-9 / und nur 2 stellen

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

    $Label5 = GUICtrlCreateLabel("Anzahl der Meldungen die eingelesen werden sollen (20):", 20, 140, 200, 33)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    $AnzahlMeldungen = GUICtrlCreateInput('', 220, 150, 25, 20)
    _RegEx_RestrictControl_add($AnzahlMeldungen, "^[0-9]{0,3}$"); Eingabe: nur ziffern 0-9 / und nur 2 stellen

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

    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $Button1 = GUICtrlCreateButton("Speichern", 96, 368, 81, 41, 0)
    $Button2 = GUICtrlCreateButton("Beenden ", 200, 368, 81, 41, 0)
    GUISetState(@SW_SHOW)

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

    While 1
    ;MsgBox("","","45")
    While 1
    $nMsg = GUIGetMsg()
    $check1TELEFON = GUICtrlRead($TelefonAUS) ; 4 = nicht gechecked ///// 1= gechecked
    $check2GOOGLE = GUICtrlRead($GoogleSTARTEN)
    $check3SOUND = GUICtrlRead($SoundAUS)
    $check4AUSGpos = GUICtrlRead($Ausgangspos)
    $check5SUCHE = GUICtrlRead($FreieSuche)
    $check6DIAG = GUICtrlRead($DiagnoseEIN)
    $check7ENERGIE = GUICtrlRead($EnergiesprNAus)
    $eingabe1LAUTST = GUICtrlRead($Lautstaerke)
    $eingabe2UHRBEG = GUICtrlRead($UhrzeitBegi)
    $eingabe3UHREND = GUICtrlRead($UhrzeitEnde)
    $eingabe4ANZAHL = GUICtrlRead($AnzahlMeldungen)

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

    If $eingabe1LAUTST > 0 Then
    Sleep(500)
    local $iniRead = IniRead(@ScriptDir & "\Variablen.ini", "Lautstärke", "Prozent", "nichts gefunden")
    if $eingabe1LAUTST <> $iniRead then
    IniWrite(@ScriptDir & "\Variablen.ini", "Lautstärke", "Prozent", $eingabe1LAUTST)
    MsgBox("","73","Einstellung aktualisiert !")
    endif
    endif
    If $eingabe4ANZAHL > 0 Then
    Sleep(500)
    local $iniRead = IniRead(@ScriptDir & "\Variablen.ini", "Suchmenge", "Anzahl", "nichts gefunden")
    if $eingabe4ANZAHL <> $iniRead then
    IniWrite(@ScriptDir & "\Variablen.ini", "Suchmenge", "Anzahl", $eingabe4ANZAHL)
    MsgBox("","80","Einstellung aktualisiert !")
    endif
    endif
    ;--------------------------------------------
    If $eingabe2UHRBEG > 0 Then
    Sleep(500)
    local $iniRead = IniRead(@ScriptDir & "\Variablen.ini", "UhrzeitBeginn", "Stunde", "nichts gefunden")
    if $eingabe2UHRBEG <> $iniRead then
    IniWrite(@ScriptDir & "\Variablen.ini", "UhrzeitBeginn", "Stunde", $eingabe2UHRBEG)
    MsgBox("","88","Einstellung aktualisiert !")
    endif
    Else
    IniWrite(@ScriptDir & "\Variablen.ini", "UhrzeitBeginn", "Stunde", "23")

    EndIf
    If $eingabe3UHREND > 0 Then
    Sleep(500)
    local $iniRead = IniRead(@ScriptDir & "\Variablen.ini", "UhrzeitEnde", "Stunde", "nichts gefunden")
    if $eingabe3UHREND <> $iniRead then
    IniWrite(@ScriptDir & "\Variablen.ini", "UhrzeitEnde", "Stunde", $eingabe3UHREND)
    MsgBox("","97","Einstellung aktualisiert !")
    endif
    Else
    IniWrite(@ScriptDir & "\Variablen.ini", "UhrzeitEnde", "Stunde", "07")

    EndIf
    ;----------------------------------------

    If $check1TELEFON = 1 Then ; 1 = Telefon ausschalten , d.h. ini auf 0 setzen
    IniWrite(@ScriptDir & "\Variablen.ini", "Telefon", "anrufen", "0") ;IniWrite ( "filename", "section", "key", "value" )
    EndIf
    If $check1TELEFON = 4 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Telefon", "anrufen", "1") ;IniWrite ( "filename", "section", "key", "value" )

    EndIf
    If $check2GOOGLE = 1 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Google", "Start", "1") ;IniWrite ( "filename", "section", "key", "value" )

    EndIf
    If $check2GOOGLE = 4 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Google", "Start", "0") ;IniWrite ( "filename", "section", "key", "value" )

    EndIf
    If $check3SOUND = 1 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Sound", "Eingeschaltet", "0") ;IniWrite ( "filename", "section", "key", "value" )

    EndIf
    If $check3SOUND = 4 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Sound", "Eingeschaltet", "1") ;IniWrite ( "filename", "section", "key", "value" )

    EndIf
    If $check4AUSGpos = 1 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Ausgangsposition", "zurück", "1") ;IniWrite ( "filename", "section", "key", "value" )

    EndIf
    If $check4AUSGpos = 4 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Ausgangsposition", "zurück", "0") ;IniWrite ( "filename", "section", "key", "value" )

    EndIf
    If $check5SUCHE = 1 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Suchauswahl", "ein", "1") ;IniWrite ( "filename", "section", "key", "value" )

    EndIf
    If $check5SUCHE = 4 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Suchauswahl", "ein", "0") ;IniWrite ( "filename", "section", "key", "value" )

    EndIf
    If $check6DIAG = 1 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Diagnose", "ein", "1") ;IniWrite ( "filename", "section", "key", "value" )

    EndIf
    If $check6DIAG = 4 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Diagnose", "ein", "0") ;IniWrite ( "filename", "section", "key", "value" )

    EndIf
    If $check7ENERGIE = 1 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Energie", "aus", "0") ;IniWrite ( "filename", "section", "key", "value" )

    EndIf
    If $check7ENERGIE = 4 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Energie", "aus", "1") ;IniWrite ( "filename", "section", "key", "value" )

    EndIf
    If $nMsg = $Button1 Then ExitLoop
    If $nMsg = $Button2 Or $nMsg = $GUI_EVENT_CLOSE Then
    FileDelete("Variablen.ini")

    Exit
    EndIf

    Sleep(500)
    WEnd

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

    While 1
    $nMsg = GUIGetMsg()
    $exit = 0
    Select
    Case $nMsg = $GUI_EVENT_CLOSE
    ;Msgbox(0,"EXIT","ende")
    FileDelete("Variablen.ini")
    Exit
    Case $nMsg = $Button2 ;beenden
    FileDelete("Variablen.ini")
    Exit
    Case $nMsg = $Button1 ;aktualisieren
    $exit = 1
    ExitLoop
    Case $nMsg = $radioNachtschaltEIN
    ;MsgBox(64, 'Info:', 'You clicked the Radio 1 and it is Checked.')
    EndSelect
    Sleep(500)
    WEnd

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

    If $exit = 1 Then ContinueLoop
    Sleep(500)
    WEnd
    Exit

    [/autoit]

    2 Mal editiert, zuletzt von dominik (26. September 2009 um 15:02)

    • Offizieller Beitrag

    Häng mal RestrictControlRegExp.au3 an deinen Post an, damit man testen kann.

  • Häng mal RestrictControlRegExp.au3 an deinen Post an, damit man testen kann.

    RestrictControlRegExp.au3
    [autoit]

    ; ===============================================================================
    ;
    ; UDF Name: RestrictControlRegExp.au3
    ; Description: This UDF can restrict the text typed into input controls live
    ; while typing based on a given Regular Expression.
    ; Requirement: AutoIt 3.2.0.1 or higher
    ; Author: peethebee ([email='peethebee@gmx.de'][/email], http://www.autoit.de)
    ; Notice: based on a script by gafrost in this thread:
    ; http://www.autoitscript.com/forum/index.ph…=guiregistermsg
    ;
    ; ===============================================================================

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

    #include <GuiConstants.au3>

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

    ;Global Const $WM_COMMAND = 0x0111
    ;Global Const $EN_CHANGE = 0x300

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

    Global $array__RegEx_RestrictControl[1][4]
    Global $array__RegEx_RestrictControl_id_count = 0

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

    ;===============================================================================
    ;
    ; Function Name: _RegEx_RestrictControl_setup
    ; Description: Sets up the features of this UDF.
    ; Parameter(s): $_re_rc_max_controls (opotional, default 10)
    ; defines how many controls gan be controlled at maximum
    ; Requirement(s): This UDF included
    ; Return Value(s): None.
    ; Author(s): peethebee
    ;
    ;===============================================================================
    Func _RegEx_RestrictControl_setup($_re_rc_max_controls = 10)
    GUIRegisterMsg($WM_COMMAND, "_RegEx_RestrictControl_check")
    ReDim $array__RegEx_RestrictControl[$_re_rc_max_controls][4]
    $array__RegEx_RestrictControl_id_count = 0
    EndFunc ;==>_RegEx_RestrictControl_setup

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

    ;===============================================================================
    ;
    ; Function Name: _RegEx_RestrictControl_add
    ; Description: Sets up the controlling for a control.
    ; Parameter(s): $_re_rc_ctrlid
    ; ID of the control to be monitored
    ; $_re_rc_regex_pattern
    ; RegExp which has to be fullfilled or fullfillable
    ; $_re_rc_valid_string (optional, default "")
    ; Valid string for testing if RegExp can still be fullfilled.
    ; Requirement(s): This UDF included
    ; Return Value(s): None.
    ; Author(s): peethebee
    ;
    ;===============================================================================
    Func _RegEx_RestrictControl_add($_re_rc_ctrlid, $_re_rc_regex_pattern, $_re_rc_valid_string = "")
    $array__RegEx_RestrictControl[$array__RegEx_RestrictControl_id_count][0] = $_re_rc_ctrlid
    $array__RegEx_RestrictControl[$array__RegEx_RestrictControl_id_count][1] = $_re_rc_regex_pattern
    $array__RegEx_RestrictControl[$array__RegEx_RestrictControl_id_count][2] = $_re_rc_valid_string
    $array__RegEx_RestrictControl[$array__RegEx_RestrictControl_id_count][3] = ""
    $array__RegEx_RestrictControl_id_count += 1
    EndFunc ;==>_RegEx_RestrictControl_add

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

    ;===============================================================================
    ;
    ; Function Name: _RegEx_RestrictControl_check
    ; Description: Internal processing function - not to be called from outside!
    ; Parameter(s): [...]
    ; Requirement(s): This UDF included
    ; Return Value(s): None.
    ; Author(s): peethebee (using gafrost's work as a basis)
    ;
    ;===============================================================================
    Func _RegEx_RestrictControl_check($hWnd, $msg, $wParam, $lParam)
    Local $nNotifyCode = _HiWord($wParam)
    Local $nID = _LoWord($wParam)
    Local $hCtrl = $lParam

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

    ;~ MsgBox(0, "", UBound($array__RegEx_RestrictControl, 1))
    For $_re_rc_i = 0 To UBound($array__RegEx_RestrictControl, 1) - 1
    If $nID = $array__RegEx_RestrictControl[$_re_rc_i][0] Then
    If $nNotifyCode = $EN_CHANGE Then
    ; Check RegEx and set text
    For $_re_rc_j = 0 To StringLen($array__RegEx_RestrictControl[$_re_rc_i][2])
    $_re_rc_regex_res = 1
    ;~ MsgBox(0, "regexp string", GUICtrlRead($array__RegEx_RestrictControl[$_re_rc_i][0]) & StringTrimLeft($array__RegEx_RestrictControl[$_re_rc_i][2], $_re_rc_j))
    If StringRegExp (GUICtrlRead($array__RegEx_RestrictControl[$_re_rc_i][0]) & StringTrimLeft($array__RegEx_RestrictControl[$_re_rc_i][2], $_re_rc_j), $array__RegEx_RestrictControl[$_re_rc_i][1]) Then ExitLoop
    $_re_rc_regex_res = 0
    Next
    If $_re_rc_regex_res = 1 Then
    ; save string as "good" value for later resettability
    $array__RegEx_RestrictControl[$_re_rc_i][3] = GUICtrlRead($array__RegEx_RestrictControl[$_re_rc_i][0])
    Else
    ; reset Text to last known good value
    GUICtrlSetData($array__RegEx_RestrictControl[$_re_rc_i][0], $array__RegEx_RestrictControl[$_re_rc_i][3])
    EndIf
    EndIf
    EndIf
    Next
    ; Proceed the default Autoit3 internal message commands.
    ; You also can complete let the line out.
    ; !!! But only 'Return' (without any value) will not proceed
    ; the default Autoit3-message in the future !!!
    Return $GUI_RUNDEFMSG
    EndFunc ;==>_RegEx_RestrictControl_check

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

    ; helping function by gafrost
    Func _HiWord($x)
    Return BitShift($x, 16)
    EndFunc ;==>_HiWord

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

    ; helping function by gafrost
    Func _LoWord($x)
    Return BitAND($x, 0xFFFF)
    EndFunc ;==>_LoWord

    [/autoit]
  • Hallo dominik,

    Skript lies sich nicht kompilieren, daher $radioNachtschaltEIN als globale Variable definiert. Deine MSG-Loop Schleifen habe ich zu einer zusammengefasst.

    Spoiler anzeigen
    [autoit]

    #include <GUIConstants.au3>
    #include <GUIConstantsEx.au3>
    #include <ButtonConstants.au3>
    #include <EditConstants.au3>
    #include <WindowsConstants.au3>
    #include <StaticConstants.au3>
    #include "RestrictControlRegExp.au3"

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

    Global $radioNachtschaltEIN

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

    ;If FileExists("Variablen.ini") Then FileDelete("Variablen.ini")
    #Region ### START Koda GUI section ### Form=d:\programme\baycom\poc32\batch\gui alarme\aform1.kxf
    $Form1_1 = GUICreate("Einstellungen für Alarmierung :", 633, 447, 193, 115)
    $Label1 = GUICtrlCreateLabel("Einstellungen", 224, 24, 175, 33) ;GUICtrlCreateLabel ( "text", left, top [, width [, height [, style [, exStyle]]]] )
    GUICtrlSetFont(-1, 18, 800, 0, "Arial")
    GUICtrlCreateGroup("", -99, -99, 1, 1)
    _RegEx_RestrictControl_setup(20) ; spezial funktion
    $Group2 = GUICtrlCreateGroup("Einstellungen", 384, 120, 209, 300) ;GUICtrlCreateGroup ( "text", left, top [, width [, height [, style [, exStyle]]]] )
    $TelefonAUS = GUICtrlCreateCheckbox("Telefon Anruf ausschalten", 400, 152, 150, 17);GUICtrlCreateCheckbox ( "text", left, top [, width [, height [, style [, exStyle]]]] )
    $GoogleSTARTEN = GUICtrlCreateCheckbox("Google Maps starten", 400, 176, 150, 25)
    $SoundAUS = GUICtrlCreateCheckbox("Sound ausschalten", 400, 208, 121, 25)
    $Ausgangspos = GUICtrlCreateCheckbox("Nach Suche in Ausgangsposition", 400, 240, 175, 25)
    $FreieSuche = GUICtrlCreateCheckbox("Freie Suchauswahl ein", 400, 272, 130, 25)
    $DiagnoseEIN = GUICtrlCreateCheckbox("Diagnose Meldungen ein", 400, 305, 135, 25)
    $EnergiesprNAus = GUICtrlCreateCheckbox("Energiespar nicht ausschalten", 400, 337, 175, 25)
    $Label2 = GUICtrlCreateLabel("Lautstärke in % (30)", 20, 192, 140, 33)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    $Lautstaerke = GUICtrlCreateInput('', 150, 192, 25, 20);GUICtrlCreateInput ( "text", left, top [, width [, height [, style [, exStyle]]]] )
    _RegEx_RestrictControl_add($Lautstaerke, "^[0-9]{0,3}$"); Eingabe: nur ziffern 0-9 / und nur 3 stellen

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

    $Group3 = GUICtrlCreateGroup("Nachtschaltung", 15, 220, 280, 80)
    ;$radioNachtschaltEIN= GUICtrlCreateRadio("Nachtschaltung ein", 30, 235, 110, 25)
    ;$radioNachtschaltAUS = GUICtrlCreateRadio("Nachtschaltung aus", 30, 255, 113, 25)

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

    $Label3 = GUICtrlCreateLabel("Uhrzeit Beginn (23)", 140, 238, 130, 33)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    $UhrzeitBegi = GUICtrlCreateInput("", 265, 238, 20, 20)
    _RegEx_RestrictControl_add($UhrzeitBegi, "^[0-9]{0,2}$"); Eingabe: nur ziffern 0-9 / und nur 2 stellen

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

    $Label4 = GUICtrlCreateLabel("Uhrzeit Ende (07)", 140, 259, 130, 33)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    $UhrzeitEnde = GUICtrlCreateInput("", 265, 259, 20, 20)
    _RegEx_RestrictControl_add($UhrzeitEnde, "^[0-9]{0,2}$"); Eingabe: nur ziffern 0-9 / und nur 2 stellen

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

    $Label5 = GUICtrlCreateLabel("Anzahl der Meldungen die eingelesen werden sollen (20):", 20, 140, 200, 33)
    GUICtrlSetFont(-1, 10, 800, 0, "Arial")
    $AnzahlMeldungen = GUICtrlCreateInput('', 220, 150, 25, 20)
    _RegEx_RestrictControl_add($AnzahlMeldungen, "^[0-9]{0,3}$"); Eingabe: nur ziffern 0-9 / und nur 2 stellen

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

    GUICtrlCreateGroup("", -99, -99, 1, 1)
    $hbtnSave = GUICtrlCreateButton("Speichern", 96, 368, 81, 41, 0)
    $hbtnExit = GUICtrlCreateButton("Beenden ", 200, 368, 81, 41, 0)
    GUISetState(@SW_SHOW)
    #EndRegion ### END Koda GUI section ###

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

    While 1
    $nMsg = GUIGetMsg()
    Switch $nMsg
    Case $hbtnSave
    $check1TELEFON = GUICtrlRead($TelefonAUS) ; 4 = nicht gechecked ///// 1= gechecked
    $check2GOOGLE = GUICtrlRead($GoogleSTARTEN)
    $check3SOUND = GUICtrlRead($SoundAUS)
    $check4AUSGpos = GUICtrlRead($Ausgangspos)
    $check5SUCHE = GUICtrlRead($FreieSuche)
    $check6DIAG = GUICtrlRead($DiagnoseEIN)
    $check7ENERGIE = GUICtrlRead($EnergiesprNAus)
    $eingabe1LAUTST = GUICtrlRead($Lautstaerke)
    $eingabe2UHRBEG = GUICtrlRead($UhrzeitBegi)
    $eingabe3UHREND = GUICtrlRead($UhrzeitEnde)
    $eingabe4ANZAHL = GUICtrlRead($AnzahlMeldungen)

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

    If $eingabe1LAUTST > 0 Then
    ;Sleep(500)
    Local $iniRead = IniRead(@ScriptDir & "\Variablen.ini", "Lautstärke", "Prozent", "nichts gefunden")
    If $eingabe1LAUTST <> $iniRead Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Lautstärke", "Prozent", $eingabe1LAUTST)
    MsgBox("", "73", "Einstellung aktualisiert !")
    EndIf
    EndIf
    If $eingabe4ANZAHL > 0 Then
    ;Sleep(500)
    Local $iniRead = IniRead(@ScriptDir & "\Variablen.ini", "Suchmenge", "Anzahl", "nichts gefunden")
    If $eingabe4ANZAHL <> $iniRead Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Suchmenge", "Anzahl", $eingabe4ANZAHL)
    MsgBox("", "80", "Einstellung aktualisiert !")
    EndIf
    EndIf
    ;--------------------------------------------
    If $eingabe2UHRBEG > 0 Then
    ;Sleep(500)
    Local $iniRead = IniRead(@ScriptDir & "\Variablen.ini", "UhrzeitBeginn", "Stunde", "nichts gefunden")
    If $eingabe2UHRBEG <> $iniRead Then
    IniWrite(@ScriptDir & "\Variablen.ini", "UhrzeitBeginn", "Stunde", $eingabe2UHRBEG)
    MsgBox("", "88", "Einstellung aktualisiert !")
    EndIf
    Else
    IniWrite(@ScriptDir & "\Variablen.ini", "UhrzeitBeginn", "Stunde", "23")

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

    EndIf
    If $eingabe3UHREND > 0 Then
    ;Sleep(500)
    Local $iniRead = IniRead(@ScriptDir & "\Variablen.ini", "UhrzeitEnde", "Stunde", "nichts gefunden")
    If $eingabe3UHREND <> $iniRead Then
    IniWrite(@ScriptDir & "\Variablen.ini", "UhrzeitEnde", "Stunde", $eingabe3UHREND)
    MsgBox("", "97", "Einstellung aktualisiert !")
    EndIf
    Else
    IniWrite(@ScriptDir & "\Variablen.ini", "UhrzeitEnde", "Stunde", "07")

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

    EndIf
    ;----------------------------------------

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

    If $check1TELEFON = 1 Then ; 1 = Telefon ausschalten , d.h. ini auf 0 setzen
    IniWrite(@ScriptDir & "\Variablen.ini", "Telefon", "anrufen", "0") ;IniWrite ( "filename", "section", "key", "value" )
    EndIf
    If $check1TELEFON = 4 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Telefon", "anrufen", "1") ;IniWrite ( "filename", "section", "key", "value" )

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

    EndIf
    If $check2GOOGLE = 1 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Google", "Start", "1") ;IniWrite ( "filename", "section", "key", "value" )

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

    EndIf
    If $check2GOOGLE = 4 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Google", "Start", "0") ;IniWrite ( "filename", "section", "key", "value" )

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

    EndIf
    If $check3SOUND = 1 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Sound", "Eingeschaltet", "0") ;IniWrite ( "filename", "section", "key", "value" )

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

    EndIf
    If $check3SOUND = 4 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Sound", "Eingeschaltet", "1") ;IniWrite ( "filename", "section", "key", "value" )

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

    EndIf
    If $check4AUSGpos = 1 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Ausgangsposition", "zurück", "1") ;IniWrite ( "filename", "section", "key", "value" )

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

    EndIf
    If $check4AUSGpos = 4 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Ausgangsposition", "zurück", "0") ;IniWrite ( "filename", "section", "key", "value" )

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

    EndIf
    If $check5SUCHE = 1 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Suchauswahl", "ein", "1") ;IniWrite ( "filename", "section", "key", "value" )

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

    EndIf
    If $check5SUCHE = 4 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Suchauswahl", "ein", "0") ;IniWrite ( "filename", "section", "key", "value" )

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

    EndIf
    If $check6DIAG = 1 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Diagnose", "ein", "1") ;IniWrite ( "filename", "section", "key", "value" )

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

    EndIf
    If $check6DIAG = 4 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Diagnose", "ein", "0") ;IniWrite ( "filename", "section", "key", "value" )

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

    EndIf
    If $check7ENERGIE = 1 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Energie", "aus", "0") ;IniWrite ( "filename", "section", "key", "value" )

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

    EndIf
    If $check7ENERGIE = 4 Then
    IniWrite(@ScriptDir & "\Variablen.ini", "Energie", "aus", "1") ;IniWrite ( "filename", "section", "key", "value" )

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

    EndIf
    Case $hbtnExit
    ;FileDelete("Variablen.ini")

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

    Exit
    Case $Gui_Event_Close
    ;FileDelete("Variablen.ini")

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

    Exit
    Case $nMsg = $radioNachtschaltEIN
    ;MsgBox(64, 'Info:', 'You clicked the Radio 1 and it is Checked.')
    EndSwitch
    WEnd

    [/autoit]

    Teste aber bitte das ganze noch aus, sollte aber funktionieren. Im MsgLoop-Modus benötigst du keinen sleep und GuiGetMsg darf nur 1-mal benutzt werden,

    mfg (Auto)Bert

    Einmal editiert, zuletzt von AutoBert (25. September 2009 um 22:53)