Hio all =)
Ich sitze nun schon sehr lange daran, aber ohne Erfolg hoffe könnt mia helfen
Also habe folgendes prob bei meinen Planer, wenn man den "..." Button gedrückt hat saved er bei beiden Guis nix mehr ab.
So habe schon paar test durchgefürht die das ergaben
Wenn "..." gedrückt wurde und nix ausgewählt wurde und abgebrochen wurde geht die Save Funktion
getestet mit ini und ohne ini datei(erstellt die ini)
Wenn "..." gedrückt wurde und etwas ausgewählt wurde geht nix mehr
getestet mit und ohne ini datei(erstellt nichtmal eine ini)
Meiner Vermutung es hängt mit GuicrtlSetState zusammen
Hier Mein script
Spoiler anzeigen
#include <GUIConstantsEx.au3>
#include <Date.au3>
#include <DateTimeConstants.au3>
#include <ButtonConstants.au3>
Opt("TrayOnEventMode", 1)
Opt("TrayMenuMode", 1)
$GUI = GUICreate("Planer", 200, 320, 400, 100)
GUISetBkColor(0x00FF80)
$Datei = GUICtrlCreateMenu("Datei")
$save = GUICtrlCreateMenuItem("Speichern", $Datei)
$neuertermin = GUICtrlCreateMenuItem("Neuer Termin",$Datei)
$open = GUICtrlCreateMenuItem("Öffne Checker", $Datei)
$Settings = GUICtrlCreateMenu("Settings")
$Einstellungen = GUICtrlCreateMenuItem("Einstellungen", $Settings)
$Hilfe = GUICtrlCreateMenu("Hilfe")
$Info = GUICtrlCreateMenuItem("Info", $Hilfe)
GUICtrlCreateLabel("Bitte Wählen Sie ein Datum aus :", 25, 20)
$date = GUICtrlCreateDate("", 10, 40, 180, 20, $DTS_SHORTDATEFORMAT)
GUICtrlCreateLabel("Uhrzeit wann Erinnern", 10, 73)
$zeit = GUICtrlCreateDate("", 116, 70, 70, 20, $DTS_TIMEFORMAT)
GUICtrlCreateLabel("Tätigkeit = ", 20, 120)
$ttk = GUICtrlCreateCombo("auswählen...", 75, 117, 100)
GUICtrlSetData(-1, "Nachricht|anderes")
$nName = GUICtrlCreateInput("", 30, 150, 140, 20)
$nEreignis = GUICtrlCreateInput("", 30, 180, 140, 20)
$nExtra = GUICtrlCreateInput("", 30, 210, 140, 70)
;groups
GUICtrlCreateGroup("", 5, 5, 190, 95)
GUICtrlCreateGroup("", 5, 95, 190, 200)
TrayCreateItem("Exit")
TrayItemSetOnEvent(-1, "_GUIClose")
TraySetState(1)
GUISetState(@SW_SHOW)
While 1
$nMsg = GUIGetMsg()
Switch $nMsg
Case $save
If $date = "" Then IniWrite("", "", "", "")
If Not $date = "" Then IniWrite("Termine.ini", "Datum", "", GUICtrlRead($date))
If $zeit = "" Then IniWrite("", "", "", "")
If Not $zeit = "" Then IniWrite("Termine.ini", "Uhrzeit", "", GUICtrlRead($zeit))
If $ttk = "" Then IniWrite("", "", "", "")
If Not $ttk = "" Then IniWrite("Termine.ini", "Was?", "", GUICtrlRead($ttk))
If $nName = "" Then IniWrite("", "", "", "")
If Not $nName = "" Then IniWrite("Termine.ini", "Name", "", GUICtrlRead($nName))
If $nEreignis = "" Then IniWrite("", "", "", "")
If Not $nEreignis = "" Then IniWrite("Termine.ini", "Ereignis", "", GUICtrlRead($nEreignis))
If $nExtra = "" Then IniWrite("", "", "", "")
If Not $nExtra = "" Then IniWrite("Termine.ini", "Extra Angaben", "", GUICtrlRead($nExtra))
If @error = 1 Then
Sleep(250)
MsgBox(4096, "Planer", "Speichern abgebrochen.")
EndIf
If Not @error Then
Sleep(250)
MsgBox(4096, "Planer", "Einstellungen Gespeichert")
EndIf
Case $open
$file = FileOpenDialog("Wählen Sie bitte den Termin Checker aus", @ScriptDir, "Alle(*.*)")
ShellExecute($file)
Case $Info
MsgBox(4096, "Planer Hilfe", "1. Damit der Planer arbeiten kann muss zuerst der 'Termine Checker' in den autostart hinzugefügt werden damit er Ihre Termine abrufen kann." & (@CRLF) & "2. Wenn ihr Termin eintritt erhalten Sie eine Naricht mit den festgelegten Infos bei 'Tätigkeit auswählen'." & (@CRLF) & "3. Unter 'Einstellungen' können sie weitere Tätigkeiten des Planers vornhemen." & (@CRLF) & "4. Wenn das 'Planer EInstellungen'-Fenster offen ist können sie keine Funktionen bei dem 'Planer' ausführen, deshalb schließen Sie das 'Planer Einstellungen'-Fenster, um bei den 'Planer'-Fenster weiterzuarbeiten." & (@CRLF) & "" & (@CRLF) & "Ich hoffe er gefällt euch =)" & (@CRLF) & "" & (@CRLF) & "Mady by ScripterDrîzzt from : http://www.autoit.de")
Case $Einstellungen
$EinstellungenGUI = GUICreate("Planer Einstellungen", 300, 165, 95, 100)
GUISetBkColor(0x00FF80)
$Datei2 = GUICtrlCreateMenu("Datei")
$save2 = GUICtrlCreateMenuItem("Speichern", $Datei2)
GUICtrlCreateLabel("Maximal, bitte nur 1 Häckchen in den 3 Boxen setzen", 15, 10)
GUICtrlSetColor(-1, 0x000080)
$settings1 = GUICtrlCreateCheckbox("", 15, 28)
GUICtrlCreateLabel("Wenn Termin eintretet PC Herunterfahren?", 35, 32)
$settings2 = GUICtrlCreateCheckbox("", 15, 48)
GUICtrlCreateLabel("Wenn Termin eintretet Neustarten?", 35, 52)
$settings3 = GUICtrlCreateCheckbox("", 15, 66)
GUICtrlCreateLabel("Wenn Termin eintretet Benutzer vom PC abmelden?", 35, 72)
GUICtrlCreateGroup("", 5, 0, 290, 90)
$settings4 = GUICtrlCreateInput("", 15, 110, 240, 20)
$Sound = GUICtrlCreateButton("...", 255, 110, 35, 20)
GUICtrlCreateLabel("Wenn Termin eintretet ein Sound abspielen? Falls Ja dann :", 10, 92)
GUICtrlCreateGroup("", 5, 0, 290, 140)
GUISetState()
While 1
Switch GUIGetMsg()
Case $GUI_EVENT_CLOSE
GUISetState(@SW_HIDE, $EinstellungenGUI)
ExitLoop
Case $Sound
$pfad = FileOpenDialog("Bitte ein Sound wählen", @MyDocumentsDir, "Alle(*.*)", 1)
Sleep(100)
GUICtrlSetData($settings4, $pfad)
Case $save2
If GUICtrlRead($settings1) = 1 Then IniWrite("Termine.ini", "PC Shutdown", "", GUICtrlRead($settings1))
If GUICtrlRead($settings1) = 4 Then IniWrite("Termine.ini", "PC Shutdown", "", GUICtrlRead($settings1))
If GUICtrlRead($settings2) = 1 Then IniWrite("Termine.ini", "PC Restart", "", GUICtrlRead($settings2))
If GUICtrlRead($settings2) = 4 Then IniWrite("Termine.ini", "PC Restart", "", GUICtrlRead($settings2))
If GUICtrlRead($settings3) = 1 Then IniWrite("Termine.ini", "Abmelden", "", GUICtrlRead($settings3))
If GUICtrlRead($settings3) = 4 Then IniWrite("Termine.ini", "Abmelden", "", GUICtrlRead($settings3))
If Not $settings4 = "" Then IniWrite("Termine.ini", "Sound", "Pfad", GUICtrlRead($settings4))
If @error = 1 Then
Sleep(250)
MsgBox(4096, "Planer", "Speichern abgebrochen.")
EndIf
If Not @error Then
Sleep(250)
MsgBox(4096, "Planer", "Einstellungen Gespeichert")
EndIf
EndSwitch
WEnd
Case $GUI_EVENT_CLOSE
Exit
Case $ttk
If GUICtrlRead($ttk) = "auswählen..." Then
GUICtrlSetData($nName, "")
GUICtrlSetData($nEreignis, "")
GUICtrlSetData($nExtra, "")
EndIf
If GUICtrlRead($ttk) = "Nachricht" Then
GUICtrlSetData($nName, "")
GUICtrlSetData($nEreignis, "")
GUICtrlSetData($nExtra, "")
GUICtrlSetData($nName, "Name der Person")
GUICtrlSetData($nEreignis, "Ereignis")
GUICtrlSetData($nExtra, "Extra angaben")
EndIf
If GUICtrlRead($ttk) = "anderes" Then
GUICtrlSetData($nName, "")
GUICtrlSetData($nEreignis, "")
GUICtrlSetData($nExtra, "")
GUICtrlSetData($nName, "Geben Sie etwas an")
GUICtrlSetData($nEreignis, "Geben Sie etwas an")
GUICtrlSetData($nExtra, "Geben Sie etwas an")
EndIf
EndSwitch
WEnd
Func _GUIClose()
Exit
EndFunc ;==>_GUIClose