# ############################# # TMC & LIGHT Changer # # Version 3.3 - 29.12.05 # # Autor: Klaus T. (Zappa) # # ----------------------------# # Benötigt das Programm # # MortScript mind. in der # # Version 3.1RC6 (oder höher) # # erhältlich unter: # # http://www.sto-helit.de/ # # ----------------------------# # Für nicht kommerziellen, # # privaten Gebrauch! # # ############################# # Benutzung auf eigene Gefahr # # ########################### ######################################### # Teile des Scripts(Weiteres Prg.starten)auf Anregung von "thomas1904". # "Silent Start" vom POI-Warner von "Seretix" übernommen - danke! # Unterstützung von VGA-Auflösung durch Anregung von "pingo". # --------------------------------------------------------------------- # Danke an alle die durch Test und Kritik zur Weiterentwicklung des # Scripts beigetragen haben!! # ##################################################################### # Zunächst werden MN5 und POI-Warner (je nach Einstellung im Inifile) # gestartet. Achtung! Evtl. Pfade im Inifile TMCLC.ini anpassen! # Autostart von POI-Warner im POI-Warner abstellen (muß aber nicht), # dann startet MN5 schneller und man hat Zeit die Navigation zu starten # ########## UNBEDINGT Datei "LIESMICH.TXT" lesen!!! ################## # ##################################################################### # Das Programm wechselt nach eingestelleter Zeit automatisch auf # den nächsten verfügbaren TMC-Sender (je nach Einstellung im Inifile). # Außerdem wird automatisch zwischen Tag- und Nachtansicht umgeschaltet # und/oder die Hintergrundbeleuchtung geändert (je nach Einstellung im # Inifile). Für die Tag- Nachtumschaltung sind die "Sonnenaufgangs- und # Untergangszeiten" hinterlegt. Auf Grundlage dieser Daten werden die # Umschaltzeiten für jeden Tag neu berechnet. # ########################################################################## # Im Verzeichnis "\Programme\NAVIGON\" (oder woanders, dann Pfad im Inifile # anpassen!) wird eine automatisch Datei "dummy.dat" angelegt (falls nicht # vorhanden). Bei Start des Programms wird diese umbenannt, und beim Beenden # des Programms wieder zurück. So soll verhindert werden, daß das Programm # mehrfach gestartet wird. Wenn das Programm abstürzt muss evtl. # "RUNdummy.dat"in "dummy.dat" umbenannt oder einfach gelöscht werden, # damit TMC-LIGHT-Changer erneut gestartet werden kann. # ########################################################################## # W I C H T I G # # DER PFAD ZUR INI-DATEI - EVTL. ANPASSEN!" # # ----------------------------------------- # # ########################################### ErrorLevel syntax %Inipfad% = "\Speicherkarte\Programme\Mort LIGHT-Changer\" # Zähler für Anzahl Warten # wenn kein TMC-Empfang %warten% = 0 # ------------------------------- # Inidatei vorhanden? # %inipfad1% = %Inipfad%&"TMCLC.ini" If Not fileExists %inipfad1% SleepMessage 10, {"Ini-Datei im angegebenen Pfad "&%inipfad1% &" nicht gefunden.\ Bitte Pfad prüfen - Programm Ende!"},[TMC-LIGHT-Changer 3.3] %FehlerMN% = 0 call Beenden exit endif # Welche Funktionen bzw. Programme starten? # ForEach key,value in inikeys %Inipfad1%,"STARTEN" set %key%,%value% EndForEach # ############################################ # Wenn im Infile "NurTagNacht = 1" steht # wird zwischen Tag- oder Nachtansicht # umgeschaltet (sonst nix) und Script beendet # ########################################### if {%NurTagNacht% = 1} %NIGHTopen_x% = 120 %NIGHTopen_y% = 160 %NIGHTswitch_x% = 65 %NIGHTswitch_y% = 81 If wndExists MobileNavigator Show MobileNavigator MouseClick %NIGHTopen_x%,%NIGHTopen_y% sleep %SleepNIGHTSwitch% MouseClick %NIGHTswitch_x%,%NIGHTswitch_y% else SleepMessage 3, "Mobile Navigator läuft nicht - Programm Ende!",[TMC-LIGHT-Changer 3.3] endif sleep %SleepNormal% exit endif # Pfade zu den Programmen und zur "dummy-Datei" # ForEach key,value in inikeys %Inipfad1%,"PFADE" set %key%,%value% EndForEach # Läuft Programm schon? # Beim allerersten Start # "dummy.dat" anlegen # If Not fileExists %Dummy% If Not fileExists %RUNDummy% WriteFile %Dummy%, "dummy" endif endif If fileExists %RUNDummy% SleepMessage 3, "Est läuft schon eine Instanz von TMC-LIGHT-Changer - ABBRUCH!",[TMC-LIGHT-Changer 3.3] Show MobileNavigator exit endif # Hier evtl. zusätzliches Programm starten. Danke an thomas1904!! # Zum korrekten Beenden dieses Programms unter Sub-Routine # [beenden] die nötigen Schritte selbst einbauen! # ############################################################## if {%WeiteresProgramm% = 1 AND %TEST% = 0} If not wndExists "Glopus" # Hier evtl. Blutooth starten # run \SD-MMCard\ozBT\ozBT.exe run %ExtraProgramm% WaitForActive "Glopus",5 sleep 500 # Falls das Prg. Mausklicks benötigt hier Koordinaten eintragen #MouseClick "Fenstertitel des Programms",20,20 #MouseClick "Fenstertitel des Programms",20,20 #MouseClick "Fenstertitel des Programms",20,20 endif EndIf # Wartezeiten einlesen # ForEach key,value in inikeys %Inipfad1%,"WARTEZEIT" set %key%,%value% EndForEach # Hintergrundbeleuchtung if {%ChgLight% = 1} ForEach key,value in inikeys %Inipfad1%,"BACKLIGHT" set %key%,%value% EndForEach endif # Toleranzzeiten auslesen # ForEach key,value in inikeys %Inipfad1%,"TOLERANZEN" set %key%,%value% EndForEach # POI-Warner Icon prüfen # if {%VGA480640% = 1} ForEach key,value in inikeys %Inipfad1%,"VGACheckPOIW" set %key%,%value% EndForEach else ForEach key,value in inikeys %Inipfad1%,"CheckPOIW" set %key%,%value% EndForEach endif # Welcher Skin wird benutzt # ForEach key,value in inikeys %Inipfad1%,"SKIN" set %key%,%value% EndForEach # Koordinatenwerte für benutzen Skin einlesen # ForEach key,value in inikeys %Inipfad1%,%USED_SKIN% set %key%,%value% EndForEach # bei VGA-Auflösung Koordinatenwerte verdoppeln # falls es nicht klappt mit TEST=11 neue Farb- # werte ermitteln und im Inifile eintragen. # --------------------------------------------- if {%VGA480640% = 1} %TMCstart_x% = %TMCstart_x%*2 %TMCstart_y% = %TMCstart_y%*2 %TMCweiter_x% = %TMCweiter_x%*2 %TMCweiter_y% = %TMCweiter_y%*2 %TMCende_x% = %TMCende_x%*2 %TMCende_y% = %TMCende_y%*2 %NIGHTopen_x% = %NIGHTopen_x%*2 %NIGHTopen_y% = %NIGHTopen_y%*2 %NIGHTswitch_x% = %NIGHTswitch_x%*2 %NIGHTswitch_y% = %NIGHTswitch_y%*2 %CHECK1NAVIx% = %CHECK1NAVIx%*2 %CHECK1NAVIy% = %CHECK1NAVIy%*2 %CHECK2Nx% = %CHECK2Nx%*2 %CHECK2Ny% = %CHECK2Ny%*2 %POPCLOSE_x% = %POPCLOSE_x%*2 %POPCLOSE_y% = %POPCLOSE_y%*2 endif # Auf "TEST" gesetzt? # ForEach key,value in inikeys %Inipfad1%,"TEST" set %key%,%value% EndForEach # Monat abfragen # GetTime DatumMonat,m # Werte für abgefragten Monat einlesen # %inipfad2% = %Inipfad%&"TMCLC_SUNSET.ini" If Not fileExists %inipfad2% SleepMessage 10, {"Ini-Datei im angegebenen Pfad "&%inipfad2% &" nicht gefunden.\ Bitte Pfad prüfen - Programm Ende!"},[TMC-LIGHT-Changer 3.3] %FehlerMN% = 0 call Beenden exit endif ForEach key,value in inikeys %Inipfad2%,{"MONAT"&%DatumMonat%} set %key%,%value% EndForEach sleep %SleepNormal% # ########################### # MN5 läuft nicht - starten! # ########################### If Not wndExists MobileNavigator run %MN5% WaitForActive "MobileNavigator",120 EndIf rename %dummy%, %RUNdummy% %FehlerMN% = 0 # # GPSTMCInfo.txt vorhanden? # ------------------------- if {%TMCSwitch% = 1} # MN-Version = 5.1 oder höher if {%MNVersion50% = 0} %tmcauslesen% = 1 %inipfadtmc1% = %GPSTMCinfo%&"GPSTMCInfo.txt" %inipfadtmc2% = %GPSTMCinfo%&"GPSTMCInfo.tmp" If Not fileExists %inipfadtmc1% %tmcauslesen% = 0 SleepMessage 10, {"GPSTMCInfo-Datei im angegebenen Pfad "&%GPSTMCinfo% &"\ nicht gefunden. Wird erst ab MN Version 5.1 untersützt! \ Auslesen der GPSTMCInfo.txt abgeschaltet!"},[Hinweis! TMC-LIGHT-Changer 3.3] endif else %tmcauslesen% = 0 endif endif # Nur für Testzwecke! # if {%TEST% = 11} call Test2 %FehlerMN% = 3 call Beenden exit endif if {%TEST% = 21} call Test3 %FehlerMN% = 3 call Beenden exit endif # ###################### # solange warten, bis # NAVI-Fenster vorne ist ######################## GetColorAt %CHECK1NAVIx%,%CHECK1NAVIy%, dezwert While {%dezwert% <> %CHECK1NAVI%} If Not wndExists MobileNavigator %FehlerMN% = 1 call Beenden exit endif sleep %SleepLang% GetColorAt %CHECK1NAVIx%,%CHECK1NAVIy%, dezwert EndWhile sleep %SleepKurz% # ########################### # MN5 läuft - hier geht's los # ########################### If wndExists MobileNavigator %status% = 1 else %FehlerMN% = 1 call Beenden exit endif # ################################################ # Schalter - wurde Beleuchtung schon umgeschaltet? # ################################################ %schalter% = 0 # ######################## # Variablen initialisieren # ######################## call VariablenFuellen # ############################################################# # Auf Sommerzeit bzw. Winterzeit prüfen. Letzter Sonntag im # Oktober -> Winterzeit. Letzter Sonntag im März -> Sommerzeit # ############################################################# call RechneWinterzeit # ############################################################### # Aufruf Routine zum Berechnen der Umschaltzeiten nach akt. Datum # ############################################################### call Berechne Show MobileNavigator # ################################### # Hintergrundbeleuchtung auf "Normal" # ################################### if {%ChgLight% = 1} SetBacklight %NormLight%, %NormLight% endif # ################# # Solange MN5 läuft # ################# While {%status% = 1} # ##################################### # Im Berufsverkehr an Werktagen (Mo-Fr) # evtl. TMC öfter wechseln. Hier alle # 4,5 Minuten (Anzschleife=27*2*5) # ##################################### if {%WoTag% > 1 AND %WoTag% < 7 AND %hour% >= %StartRushHourMorgens% AND %hour% <= %StopRushHourMorgens%} %AnzSchleife% = %AnzSchleifeRushHour% endif if {%WoTag% > 1 AND %WoTag% < 7 AND %hour% >= %StartRushHourAbends% AND %hour% <= %StopRushHourAbends%} %AnzSchleife% = %AnzSchleifeRushHour% endif %Durchzaehl% = 0 Repeat %AnzSchleife% GetTime hour,H GetTime minute,i GetTime DatumTag2,d # Vormittags- bzw. Nachmittags-Wechsel if {%Vormittag% = 1 AND %hour% >=12} call VariablenFuellen call RechneWinterzeit call Berechne endif if {%Nachmittag% = 1 AND %hour% < 12} call VariablenFuellen call RechneWinterzeit call Berechne endif # Datumswechsel if {%DatumTag% <> %DatumTag2%} call VariablenFuellen call RechneWinterzeit call Berechne endif if WndExists MobileNavigator # ###################### # Standard ist hell = 1 # ###################### %hell% = 1 if {%Winterzeit% = 1} # ## Es ist Winterzeit if {%WinterZeitDurchlauf% = 0} # nicht bei jedem Durchlauf + 1 Std! %WinterZeitDurchlauf% = 1 %BerStdM% = %BerStdM%+%Winterzeit% %BerStdA% = %BerStdA%+%Winterzeit% endif if {%hour% <= 12} # ## Vormittag if {%hour% < %BerStdM%} %hell% = 0 endif if {%BerStdM% = %hour%} if {%minute% < %BerMin%} %hell% = 0 endif endif # ## Nachmittag else if {%hour% > %BerStdA%} %hell% = 0 endif if {%BerStdA% = %hour%} if {%minute% > %BerMin%} %hell% = 0 endif endif endif else # ## Es ist Sommerzeit # ## Vormittag if {%hour% <= 12} if {%hour% < %BerStdM%} %hell% = 0 endif if {%BerStdM% = %hour%} if {%minute% < %BerMin%} %hell% = 0 endif endif # ## Nachmittag else if {%hour% > %BerStdA%} %hell% = 0 endif if {%BerStdA% = %hour%} if {%minute% > %BerMin%} %hell% = 0 endif endif endif endif # Ausgaben nur für Test (TEST=1) im Inifile ########################################### if {%TEST% = 1} call Test1 endif sleep %Wartezeit% # #################################### # auf Nachtansicht und Schalter setzen # #################################### if {%ChgLight% = 1 AND %schalter% = 0 AND %hell% = 0} SetBacklight %LowLight%, %LowLight% endif if {%NightSwitch% = 1 AND %schalter% = 0 AND %hell% = 0} call NIGHTDAY %schalter% = 1 endif # ########################################## # zurück auf Tagansicht und Schalter setzen # ########################################## if {%ChgLight% = 1 AND %schalter% = 1 AND %hell% = 1} SetBacklight %NormLight%, %NormLight% endif if {%NightSwitch% = 1 AND %hell% = 1 AND %schalter% = 1} CALL NIGHTDAY %schalter% = 0 endif sleep %Wartezeit% else %status% = 0 call Beenden exit endif ####################################### # Wenn POI-Warner gestartet werden soll # "PoiWarnerStart = 1" im Inifile. # Wenn P-W nicht mehr läuft Neustart. # Überwachung vom POI-W evtl. starten # Prüfung nur in Kartenansicht. ####################################### if {%PoiWarnerStart% = 1} if WndExists MobileNavigator If wndExists POI-Warner if {%PoiWarnerCheck% = 1} GetColorAt %CHECK1NAVIx%,%CHECK1NAVIy%, dezwert if {%dezwert% eq %CHECK1NAVI%} GetColorAt %Icon_x%,%Icon_y%, PoiIcon if {%PoiIcon% <> %CheckIcon%} Show POI-Warner sleep %SleepNormal% SendCR "POI-Warner" endif endif endif endif If Not wndExists POI-Warner %FehlerMN% = 2 call Beenden endif endif endif # Hier TMC-Sender zwischenspeichern. Wenn innherhalb von # "MinHoldTMC" (Voreinst. 2 Min.) der gleiche TMC-Sender # gehalten werden konnte, wird nach Ende des Schleifendurch- # laufs der Sender gewechselt. Sonst wird weiter gewartet. # ---------------------------------------------------------- if {%TMCSwitch% = 1 AND %tmcauslesen% = 1 AND %sameTMC% = 0} %Durchzaehl% = %Durchzaehl%+1 if {%readnow% eq %Durchzaehl% AND %firstread% = 0} copy %inipfadtmc1%, %inipfadtmc2%, 1 sleep 200 IniRead %inipfadtmc2%, "", "station", StationBuffer %firstread% = 1 %Durchzaehl% = 0 endif if {%readnow% eq %Durchzaehl% AND %firstread% = 1} %HilfStationBuffer% = %StationBuffer% copy %inipfadtmc1%, %inipfadtmc2%, 1 sleep 200 IniRead %inipfadtmc2%, "", "station", StationBuffer %firstread% = 0 %Durchzaehl% = 0 if {%HilfStationBuffer% eq %StationBuffer%} %sameTMC% = 1 if {%StationBuffer% eq "" OR %StationBuffer% eq "---"} %sameTMC% = 0 endif #if {%sameTMC% = 1} #SleepMessage 3, {"Sender "&%StationBuffer%&" mind. "&%MinHoldTMC%&" Minuten gehalten"} #endif endif endif endif EndRepeat # ####################################### # Nach Schleifendurchlauf Senderwechsel. # Falls MN nicht mehr läuft, POI-Warner # und "TMC-LIGHT-Changer" beenden. # ####################################### if WndExists MobileNavigator if {%TMCSwitch% = 1} call TMC endif else # #################################### # MN5 läuft nicht mehr - alles beenden # #################################### %status% = 0 call Beenden exit endif EndWhile # **********************************************************# # ########################################################### # Hier kommen die Sub-Routinen # # ########################################################### # sub VariablenFuellen # ######################################### # Tag, Monat, Wochentag und Stunde einlesen # ######################################### GetTime DatumTag,d GetTime DatumMonat,m GetTime WoTag,w GetTime hour,H %Vormittag% = 0 %Nachmittag% = 0 %WinterZeit% = 0 %WinterZeitDurchlauf% = 0 %firstread% = 0 %sameTMC% = 0 %readnow% = %MinHoldTMC%*60/10 EndSub # # ################################################## # Routine zum Berechnen des Sonnenauf- / Untergangs # (+ - ein paar Minuten :-)) ) # ################################################# # sub Berechne GetTime hour,H GetTime minute,i %BerMin% = 0 %BerStdM% = %AufStd% %BerStdA% = %UnterStd% %hilfmulti% = 0 # ####### # Morgens # ####### if {%hour% < 12} %Vormittag% = 1 if {%MorgensMultiMinusPlus% = 1} %hilfmulti% = %DatumTag%*%MultiMMi% %BerMin% = %AufMin%-%hilfmulti%-%ToleranzMorgens% if {%BerMin% < 0} %BerStdM% = %AufStd%-1 %BerMin% = %BerMin%+60 endif endif if {%MorgensMultiPlusMinus% = 1} %hilfmulti% = %DatumTag%*%MultiMPl% %BerMin% = %AufMin%+%hilfmulti%-%ToleranzMorgens% if {%BerMin% >= 60} %BerStdM% = %AufStd%+1 %BerMin% = %BerMin%-60 endif endif else # ###### # Abends # ###### %Nachmittag% = 1 if {%AbendsMultiMinusPlus% = 1} %hilfmulti% = %DatumTag%*%MultiAMi% %BerMin% = %UnterMin%-%hilfmulti%+%ToleranzAbends% if {%BerMin% < 0} %BerStdA% = %UnterStd%-1 %BerMin% = %BerMin%+60 endif endif if {%AbendsMultiPlusMinus% = 1} %hilfmulti% = %DatumTag%*%MultiAPl% %BerMin% = %UnterMin%+%hilfmulti%+%ToleranzAbends% if {%BerMin% >= 60} %BerStdA% = %Untertd%+1 %BerMin% = %BerMin%-60 endif endif endif EndSub # # ############################# # Auf Winter- Sommerzeit prüfen # ############################# # Sub RechneWinterzeit if {%DatumMonat% > 10} %WinterZeit% = 1 endif if {%DatumMonat% <= 3} %WinterZeit% = 1 endif if {%DatumMonat% = 3} if {%WoTag% > 1 AND %DatumTag% > 24} %WinterZeit% = 0 endif if {%WoTag% = 1 AND %DatumTag% >= 24} %WinterZeit% = 0 endif endif if {%DatumMonat% = 10} if {%WoTag% > 1 AND %DatumTag% > 24} %WinterZeit% = 1 endif if {%WoTag% = 1 AND %DatumTag% >= 24} %WinterZeit% = 1 endif endif # ############################### # Sonderbehandlung für die letzen # Tage im Oktober und März - # Sommer- Winterzeitwechsel # ############################### if {%Winterzeit% = 1} # ## Es ist Winterzeit if {%WinterZeitDurchlauf% = 0} if {%DatumMonat% = 10} %WinterZeitDurchlauf% = 1 # die letzten Oktobertage schon in der Winterzeit %WinterZeit% = 0 %AufStd% = %AufStd%-1 %UnterStd% = %UnterStd%-1 endif if {%DatumMonat% = 3} %WinterZeitDurchlauf% = 1 # die letzten Märztage schon in der Sommerzeit %WinterZeit% = 0 %AufStd% = %AufStd%+1 %UnterStd% = %UnterStd%+1 endif endif endif EndSub # ########################################## # Routine schaltet TMC-Suchlauf ein, wenn # Navi-Fenster oder Kartenansicht aktiv ist. # ########################################## sub TMC # Prüfen, ob TMC-Sender empfangen wird. Wenn nicht # "NoTMCWait"-Schleifendurchläufe zusätzlich warten. # -------------------------------------------------- %keinsender% = 0 if {%tmcauslesen% = 1} copy %inipfadtmc1%, %inipfadtmc2%, 1 sleep %SleepKurz% IniRead %inipfadtmc2%, "", "station", Stationname if {%Stationname% eq "" OR %Stationname% eq "---" AND %sameTMC% = 0} %warten% = %warten%+1 SleepMessage 3,{%warten%&". Durchlauf - kein Sender gefunden"},[Hinweis: TMC-LIGHT-Changer 3.3] if {%warten% < %NoTMCWait%} %keinsender% = 1 endif endif endif if {%keinsender% = 0} Show MobileNavigator GetColorAt %CHECK1NAVIx%,%CHECK1NAVIy%, dezwert %warten% = 0 %sameTMC% = 0 %zaehler% = 1 While {%dezwert% <> %CHECK1NAVI%} If Not wndExists MobileNavigator %FehlerMN% = 1 call Beenden exit endif if {%zaehler% = 75} SleepMessage 12, "Ich hänge in Schleife TMC" %zaehler% = 1 endif sleep %SleepLang% %zaehler% = %zaehler%+1 GetColorAt %CHECK1NAVIx%,%CHECK1NAVIy%, dezwert EndWhile sleep %SleepKurz% GetColorAt %POPCLOSE_x%,%POPCLOSE_y%, dezwertpop if {%dezwertpop% = %CHECK3POP%} MouseClick MobileNavigator, %POPCLOSE_x%,%POPCLOSE_y% sleep %SleepNormal% endif MouseClick MobileNavigator, %TMCstart_x%,%TMCstart_y% sleep %SleepTMCSwitch% MouseClick MobileNavigator, %TMCweiter_x%,%TMCweiter_y% sleep %SleepNormal% MouseClick MobileNavigator, %TMCende_x%,%TMCende_y% endif EndSub # ############################################### # Routine schaltet Tag- / Nachansicht um, # wenn Navi-Fenster oder Kartenansicht aktiv ist. # ############################################### sub NIGHTDAY Show MobileNavigator MouseClick %NIGHTopen_x%,%NIGHTopen_y% sleep %SleepNIGHTSwitch% GetColorAt %POPCLOSE_x%,%POPCLOSE_y%, dezwertpop2 if {%dezwertpop2% = %CHECK3POP%} MouseClick MobileNavigator, %POPCLOSE_x%,%POPCLOSE_y% sleep %SleepNormal% MouseClick %NIGHTopen_x%,%NIGHTopen_y% sleep %SleepNIGHTSwitch% endif GetColorAt %CHECK2Nx%,%CHECK2Ny%, dezwert2 %zaehler2% = 1 While {%dezwert2% <> %CHECK2N%} If Not wndExists MobileNavigator %FehlerMN% = 1 call Beenden exit endif if {%zaehler2% = 100} SleepMessage 12,"Ich hänge in Schleife NIGHTDAY" %zaehler% = 1 ####### Prog hängt 300 Sek. fest - nochmal clicken" ##### MouseClick %NIGHTopen_x%,%NIGHTopen_y% endif %zaehler2% = %zaehler2%+1 sleep %SleepNormal% GetColorAt %CHECK2Nx%,%CHECK2Ny%, dezwert2 sleep %SleepNormal% EndWhile sleep %SleepNormal% MouseClick %NIGHTswitch_x%,%NIGHTswitch_y% EndSub # ########################################### # Nur für Testzwecke! Variablenwerte anzeigen # ########################################### sub Test1 SleepMessage 3, %MorgensMultiPlusMinus%,[MorgensMultiPlusMinus] SleepMessage 3, %AbendsMultiMinusPlus%,[AbendsMultiMinusPlus] SleepMessage 3, %DatumTag%,[Datum] SleepMessage 3, %DatumMonat%,[Monat] SleepMessage 3, %Vormittag%,[Vormittag] SleepMessage 3, %Nachmittag%,[Nachmittag] SleepMessage 3, %WinterZeit%,[Winterzeit] SleepMessage 3, %AufStd%,[So.Auf Std] SleepMessage 3, %AufMin%,[So.Auf Min] SleepMessage 3, %UnterStd%,[So.Unter Std] SleepMessage 3, %UnterMin%,[So.Unter Min] SleepMessage 3, %hilfmulti%,[hilfmulti] SleepMessage 3, %BerStdM%,[Ber Std Morgens] SleepMessage 3, %BerStdA%,[Ber Std Abends] SleepMessage 3, %BerMin%,[Ber Min < > 12Uhr] SleepMessage 3, %schalter%,[Schalter: ] SleepMessage 3, %hell%,[hell: ] EndSub # ####################################### # Nur für Testzwecke! Farbwerte auslesen # ####################################### sub Test2 Show MobileNavigator sleep 2000 SleepMessage 20, "Bitte MN5 in Kartenansicht stellen - dann keine Taste\ drücken oder Touch berühren! Nach dieser\ Meldung wartet das Script 20 Sek.",[Farbwert-Test] sleep 20000 Show MobileNavigator sleep 2000 GetColorAt %CHECK1NAVIx%,%CHECK1NAVIy%, textvar1 SleepMessage 20, {"Bitte den Wert "&%textvar1%&" für Variable: CHECK1NAVI notieren."},[Farbwert-Test] SleepMessage 15, "Bitte jetzt auf TMC drücken um eine Fehlermeldung zu provozieren.\ Nach Beenden dieser Meldung wartet das Script wieder 20 Sek.",[Farbwert-Test] sleep 20000 Show MobileNavigator sleep 2000 GetColorAt %POPCLOSE_x%,%POPCLOSE_y%, textvar1 SleepMessage 20, {"Bitte den Wert "&%textvar1%&" für Variable: CHECK3POP notieren."},[Farbwert-Test] SleepMessage 15, "Bitte MN5 jetzt in die Maske zur Tag- Nachtumschaltung stellen.\ Nach Beenden dieser Meldung wartet das Script wieder 20 Sek.",[Farbwert-Test] sleep 20000 Show MobileNavigator sleep 2000 GetColorAt %CHECK2Nx%,%CHECK2Ny%, textvar1 SleepMessage 20, {"Bitte den Wert "&%textvar1%&" für Variable: CHECK2N notieren."},[Farbwert-Test] EndSub # ########################################### # Nur für Testzwecke! Hintergrundbeleuchtung # ########################################### sub Test3 sleep 2000 SleepMessage 15, "Bitte MN5 in gewünschte Ansicht stellen (Tag- Nacht- oder Kartenasicht \ Nach dieser Meldung wartet das Script 15 Sek.",[Backlight-Test] sleep 15000 SetBacklight 100, 100 SleepMessage 4, "Momentaner Wert: Backlight 100",[Backlight-Test] Sleep 2000 SetBacklight 90, 90 SleepMessage 4, "Momentaner Wert: Backlight 90",[Backlight-Test] Sleep 2000 SetBacklight 80, 80 SleepMessage 4, "Momentaner Wert: Backlight 80",[Backlight-Test] Sleep 2000 SetBacklight 70, 70 SleepMessage 4, "Momentaner Wert: Backlight 70",[Backlight-Test] Sleep 2000 SetBacklight 60, 60 SleepMessage 4, "Momentaner Wert: Backlight 60",[Backlight-Test] Sleep 2000 SetBacklight 50, 50 SleepMessage 4, "Momentaner Wert: Backlight 50",[Backlight-Test] Sleep 2000 SetBacklight 40, 40 SleepMessage 4, "Momentaner Wert: Backlight 40",[Backlight-Test] Sleep 2000 SetBacklight 30, 30 SleepMessage 4, "Momentaner Wert: Backlight 30",[Backlight-Test] Sleep 2000 SetBacklight 20, 20 SleepMessage 4, "Momentaner Wert: Backlight 20",[Backlight-Test] Sleep 2000 SetBacklight 10, 10 SleepMessage 4, "Momentaner Wert: Backlight 10",[Backlight-Test] Sleep 2000 SetBacklight 9, 9 SleepMessage 4, "Momentaner Wert: Backlight 9",[Backlight-Test] Sleep 2000 SetBacklight 8, 8 SleepMessage 4, "Momentaner Wert: Backlight 8",[Backlight-Test] Sleep 2000 SetBacklight 7, 7 SleepMessage 4, "Momentaner Wert: Backlight 7",[Backlight-Test] Sleep 2000 SetBacklight 6, 6 SleepMessage 4, "Momentaner Wert: Backlight 6",[Backlight-Test] Sleep 2000 SetBacklight 5, 5 SleepMessage 4, "Momentaner Wert: Backlight 5",[Backlight-Test] Sleep 2000 SetBacklight 4, 4 SleepMessage 4, "Momentaner Wert: Backlight 4",[Backlight-Test] Sleep 2000 SetBacklight 3, 3 SleepMessage 4, "Momentaner Wert: Backlight 3",[Backlight-Test] Sleep 2000 SetBacklight 2, 2 SleepMessage 4, "Momentaner Wert: Backlight 2",[Backlight-Test] Sleep 2000 SetBacklight 1, 1 SleepMessage 4, "Momentaner Wert: Backlight 1",[Backlight-Test] Sleep 2000 SetBacklight 0, 0 SleepMessage 4, "Momentaner Wert: Backlight 0",[Backlight-Test] EndSub # # ##################################################### # Routine beendet POI-Warner (falls aktiv) und schließt # TMC-LIGHT-Changer, wenn MN5 nicht mehr läuft. Falls # POI-Warner nicht mehr läuft (aber MN5 läuft noch) # wird der POI-Warner nachgestartet. # ##################################################### # # Im Silent-Modus gestartet eigentlich unnötig, aber wenn # nicht im Silent-Modus oder bei Fehler... (schadet nicht) # sub Beenden If wndExists POI-Warner Show "POI-Warner" sleep %SleepNormal% MouseClick 5,306 Sleep %SleepNormal% MouseClick 5,285 sleep %SleepNormal% While wndExists POI-Warner Show POI-Warner sleep %SleepNormal% MouseClick 5,306 Sleep %SleepNormal% MouseClick 5,285 sleep %SleepNormal% EndWhile endif if {%FehlerMN% = 0} Show "Glopus" sleep %SleepKurz% MouseClick 230,10 sleep %SleepKurz% While wndExists Glopus Show "Glopus" sleep %SleepKurz% MouseClick 230,10 sleep %SleepKurz% EndWhile # SleepMessage 2, "TMC-LIGHT-Changer Ende",[TMC-LIGHT-Changer 3.3] rename %RUNdummy%, %dummy% sleep %SleepNormal% endif if {%FehlerMN% = 1} Show "Glopus" sleep %SleepKurz% MouseClick 230,10 sleep %SleepKurz% While wndExists Glopus Show "Glopus" sleep %SleepKurz% MouseClick 230,10 sleep %SleepKurz% EndWhile # SleepMessage 3, "Mobile Navigator läuft nicht - Programm Ende!",[TMC-LIGHT-Changer 3.3] rename %RUNdummy%, %dummy% sleep %SleepNormal% endif # Hier wird zum 1. Mal POI-W gestartet # bzw. bei Fehler nachgestartet. # - Silent-Mode by Seretix. - if {%FehlerMN% = 2} If Not wndExists POI-Warner # SleepMessage 2, "POI-Warner wird gestartet!",[TMC-LIGHT-Changer 3.3] # "Silent Start" von POI-Warner aus DreamOn POI Warner Add-On Script by Seretix # ----------------------------------------------------------------------------- %POIWARNER% = %POIW%&"POIWarner.exe" if {%POIWSilentStart% = 1} %SET1% = %POIW%&"glob_settings.set" %SET2% = %POIW%&"glob_settings.don" If fileExists %SET2% copy %SET2%, %SET1% delete %SET2% endif rename %SET1%, %SET2% sleep 500 run %POIWARNER%,Start_Silent_POI WaitForActive "POI-Warner",150 sleep %SleepLong% rename %SET2%, %SET1% else run %POIWARNER% WaitForActive "POI-Warner",150 sleep %SleepNormal% SendCR "POI-Warner" sleep %SleepNormal% endif Show MobileNavigator %FehlerMN% = 0 EndIf endif if {%FehlerMN% = 3} SleepMessage 10, "TEST Beendet - Programm Ende - Der Test kann (wenn nötig)\ sofort wiederholt werden!",[TMC-LIGHT-Changer 3.3] rename %RUNdummy%, %dummy% sleep %SleepNormal% endif EndSub