Seite 1 von 1
4 TFTs von Mo-So mit verschieden Grafiken nach Zeit
Verfasst: 25.06.2012 15:47
von gnaps
Hallo Forum,
ich stehe hier ein bisschen auf dem Schlauch bzw. weis nicht wie ich folgendes angehen soll.
Ich habe 1PC mit 4 TFT-Monitore die von Montag bis Sonntag mit verschiedenen Grafiken
zu einer bestimmten Zeit versorgt werden sollen.
Ich möchte pro Tag 10 verschiedene Ereignisse pro Monitor steuern können.
Der Tag, die Zeiten und der Name der Grafik werden in einer .prefs- Datei abgelegt.
Also sind das 4-TFT x 7-Tage x 10-Einträge = 280 Einträge.
in der .prefs wären das
= 280 Einträge für den Tag
= 280 Einträge für die Uhrzeit
= 280 Einträge für die Grafikdatei
Eine Abfrage "WaitWindowEvent(10000)" also alle 1 Minute würde vollkommen ausreichen.
Wie frage ich am besten die Zeit-Ereignisse ab?
Würdet Ihr die 3x280 = 840 Daten beim Programmstart in die Variablen packen oder nach Ereignisse aus der .prefs lesen ?
Ich weis echt nicht wie ich da rangehen soll.
Hat jemand die zündende Idee.
Gruß
gnaps
Re: 4 TFTs von Mo-So mit verschieden Grafiken nach Zeit
Verfasst: 25.06.2012 15:51
von ts-soft
Wenn ich das jetzt richtig verstanden habe, würde ich die Daten in ein Array beim start einlesen und einen Window-Timer nutzen.
Ein Timeout in WaitWindowEvent() ist da eher nicht geeignet, bzw. sinnvoll.
Re: 4 TFTs von Mo-So mit verschieden Grafiken nach Zeit
Verfasst: 05.07.2012 06:23
von gnaps
Hallo,
ich muss das Thema nochmal hochholen.
Die Schaltzeiten und Bildnamen lege ich in einer .prefs-Datei ab,
beim Programmstart hole ich alle Ereignisse in ein Array "Zeit.s()" für die Zeiten und ein Array "Bild.s()" für die Bildnahmen.
Soweit so gut.
Wie mache ich jetzt am besten die Zeitabfrage.
Hier noch kurz der Ablauf
Monitor 1
Montag
6.00 Bild "Monitor1Montag1" anzeigen
10.00 Bild "Monitor1Montag2" anzeigen
12.00 Bild "Monitor1Montag3" anzeigen
.....usw. habe hier 10 Möglichkeiten
Monitor 2
Montag
6.00 Bild "Monitor2Montag1" anzeigen
10.00 Bild "Monitor2Montag2" anzeigen
12.00 Bild "Monitor2Montag3" anzeigen
.....usw. habe auch hier 10 Möglichkeiten
Monitor 3
Montag
6.00 Bild "Monitor3Montag1" anzeigen
10.00 Bild "Monitor3Montag2" anzeigen
12.00 Bild "Monitor3Montag3" anzeigen
.....usw. habe auch hier 10 Möglichkeiten
Monitor 4
Montag
6.00 Bild "Monitor4Montag1" anzeigen
10.00 Bild "Monitor4Montag2" anzeigen
12.00 Bild "Monitor4Montag3" anzeigen
.....usw. habe auch hier 10 Möglichkeiten
das war für Montag, das ganze jetzt noch bis Sonntag.
In der Prefs steht
Montag
Monitor 1
6.00
Monitor1Montag1.jpg
10.00
Monitor1Montag2.jpg
12.00
Monitor1Montag3.jpg
... usw.
Monitor 2
6.00
Monitor2Montag1.jpg
10.00
Monitor2Montag2.jpg
12.00
Monitor2Montag3.jpg
... usw.
Monitor 3
6.00
Monitor3Montag1.jpg
10.00
Monitor3Montag2.jpg
12.00
Monitor3Montag3.jpg
... usw.
Monitor 4
6.00
Monitor4Montag1.jpg
10.00
Monitor4Montag2.jpg
12.00
Monitor4Montag3.jpg
... usw.
Wir würdet Ihr die Abfrage machen ?
Gruß
gnaps
Re: 4 TFTs von Mo-So mit verschieden Grafiken nach Zeit
Verfasst: 05.07.2012 07:24
von Macros
Ich würde das so machen:
Code: Alles auswählen
Structure S_Bild
file.s
time.i
EndStructure
;4 Monitore, 7 Tage, 10 Zeiten
Dim Images.S_Bild(3,6,9)
; Einlesen, Zeiten werden in Sekunden umgewandelt,
; d.h. 10:00 Uhr= 10*3600
;Achtung: Sonntag ist Tag 0!
; Abfrage wenn geprüft werden soll, welches Bild angezeigt wird.
currentDate=Date()
day=DayOfWeek(currentDate)
seconds_since_daystart=Hour(currentDate)*3600+Minute(currentDate)*60+Second(currentDate)
; für jeden Monitor
For monitor=0 To ArraySize(Images(),1)
found=-1
; gehe alle eingetragenen Zeiten durch
For bild=0 To ArraySize(Images(),3)
If Images(monitor,day,bild)\time>seconds_since_daystart
found=bild
EndIf
Next
; Falls wir ein Bild haben, das angezeigt werden soll
If found>-1
If getCurrentImage(monitor) <> Images(monitor,day,found)\file
ChangeImage(monitor,Images(monitor,day,found)\file)
EndIf
EndIf
Next
Re: 4 TFTs von Mo-So mit verschieden Grafiken nach Zeit
Verfasst: 06.07.2012 15:31
von gnaps
Hallo,
wie bekomme ich die Uhrzeit in der .prefs richtig gespeichert z.B. 8:00
und wie lese ich diese wieder aus ?
wie prüfe ich ein Stringgadget ob hier das richtige Format
für die Uhrzeit eingegeben ist z.B. 8:00 ?
Danke im voraus
Gruß
gnaps
Re: 4 TFTs von Mo-So mit verschieden Grafiken nach Zeit
Verfasst: 06.07.2012 15:53
von ts-soft
Guck mal in die DateLib. Datum, bzw. Zeit wird als long gespeichert. Zur Zeiteingabe könnte man ein DateGadget nutzen.