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
#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")
$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
$Group3 = GUICtrlCreateGroup("Nachtschaltung", 15, 220, 280, 80)
;$radioNachtschaltEIN= GUICtrlCreateRadio("Nachtschaltung ein", 30, 235, 110, 25)
;$radioNachtschaltAUS = GUICtrlCreateRadio("Nachtschaltung aus", 30, 255, 113, 25)
$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
$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
$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
GUICtrlCreateGroup("", -99, -99, 1, 1)
$Button1 = GUICtrlCreateButton("Speichern", 96, 368, 81, 41, 0)
$Button2 = GUICtrlCreateButton("Beenden ", 200, 368, 81, 41, 0)
GUISetState(@SW_SHOW)
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)
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
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
If $exit = 1 Then ContinueLoop
Sleep(500)
WEnd
Exit