Seite 1 von 1
Bug: Inkonsistente Zeitfunktionen
Verfasst: 05.10.2012, 12:30
von SpiRu
ZEIT sollte normalerweise das gleiche Ergebnis liefern wie DATUM+UHRZEIT!
Nicht so bei Homeputer:
Code: Alles auswählen
Variablen: t0, t1: [Zeit], tu: [Uhr], s: [Zeichen]
t0:= ZEIT
t1:= DATUM+UHRZEIT
tu:= t0-t1
s := tu
sprachausgabe(s)
Ergibt eine Differenz von meist 3..4 Sekunden, manchmal mehr, selten 0 Sekunden. Das ist nicht gerade das, was ein "normaler" Mensch erwartet!
Das ist auch des Rätsels Lösung mit der rückwärts laufenden Zeit, das ich an anderer Stelle beschrieben habe.
Befremdliches Systemverhalten :roll: hat geschrieben: Uninitialisierte oder mit 0:0:0 vemeintlich initialisierte Zeit-Variable werden vom Laufzeitsystem unerwarteter- und undokumentierterweise mit dem Rückgabewert der Funktion ZEIT zum Zeitpunkt des Systemstarts initialisiert!
Ich hatte seinerzeit (DATUM+ZEIT) verwendet statt ZEIT, so dass sich im Prinzip obige Aufrufreihenfolge ergab. Da (DATUM+UHRZEIT) der ZEIT meist mehrere Sekunden hinterher hinkt, enthielt t0 aus Sicht des aktiven Objekts quasi einen Wert aus der Zukunft.
Re: Bug: Inkonsistente Zeitfunktionen
Verfasst: 05.10.2012, 12:47
von PeterM
UHRZEIT:
Diese Funktion gibt die aktuelle Uhrzeit im Format HH:MM:SS zurück. Die Uhrzeit wird im 5-Sekunden-Takt aktualisiert, die Sekunden der Uhrzeit sind also immer durch 5 teilbar.
Bevor man hier großkotzige Sprüche abläßt, sollte man evtl. mal die vorhandenen Hilfetexte durchlesen.
Damit klinke ich mich aber sofort wieder aus...
Gruss,
PeterM
Re: Bug: Inkonsistente Zeitfunktionen
Verfasst: 05.10.2012, 13:14
von tsa
Spinnender
Russe: schau mal im Wikipedia unter MERKBEFREIUNG.
Teddy hatte seinerzeit schon mal eine ausgefüllt, ich hab nur noch Deinen Namen eingetragen...
Code: Alles auswählen
Die nachstehend eindeutig identifizierte Lebensform
Name : SpiRu______________
Vorname : ___________________
Geburtsdatum : ___________________
Geburtsort : ___________________
Personalausweisnummer: ___________________
ist hiermit für den Zeitraum von
[_] 6 Monaten
[_] 12 Monaten
[_] 24 Monaten
[x] unbefristet
davon befreit, etwas zu merken, d.h. wesentliche
Verhaltensänderungen bei der Interaktion mit denkenden Wesen zu
zeigen. Die Einstufung der o.a. Person nach dem amtlichen Index
für Merkbefreiungen liegt bei dem Äquivalent von
[_] einem Mensaessen vom Vortag
[_] drei Hartkeksen in löslichem Kaffee
[_] einer Kiste Schwarzbrot in Dosen
[_] einem Quadratmeterstück Torfmoos während einer
sechswöchigen Sommerdürre
[x] einem Container erodiertem Sandstein
(Streusandqualität)
Die ausgesprochene Merkbefreiung erlischt mit dem Ablauf des
[_] __.__.19__
[_] __.__.20__
[x] der vollständigen Erosion der körperlichen
Bestandteile der o.a. Lebensform
und gilt, sofern die o.a. Lebensform durch das nachstehende
Kennzeichen als merkbefreit zu identifizieren ist:
[_] eine rote Plastiknase
[_] olives Stoffstück mit weißem Rand, auf der Schulter
zu tragen
[x] die Lebensform ist durch den Gesichtsausdruck
zweifelsfrei als unbefristet merkbefreit zu
erkennen.
Die o.a. Lebensform ist durch den Erwerb dieses
Merkbefreiungsscheins automatisch für die folgenden Tätigkeiten
qualifiziert:
[x] Markierungshütchen bei Abmarkierungsarbeiten auf
Bundesautobahnen
[_] Garderobenständer und Regenschirmständer in
Restaurants bis zu, aber nicht eingeschlossen, 3
Sterne
[_] Regelstab in Schwerwasserreaktoren
[x] Markierungsstab für das Fahrwasser im Nationalpark
Wattenmeer
[_] Landschaftsmerkmal/Orientierungshilfe in der Wüste
Gobi
Die Merkbefreiung für die o.a. Lebensform wurde in einem
öffentlichen Merkbefreiungsverfahren ausgesprochen und ist nach
Ablauf der Einspruchsfrist von 17 Sekunden rechtskräftig.
Datum Unterschrift Dienstsiegel
Stirnabdruck des Merkbefreiten
Diese Merkfreiung wurde elektronisch erstellt und ist deswegen
nicht unterschrieben.
Re: Bug: Inkonsistente Zeitfunktionen
Verfasst: 05.10.2012, 13:28
von Herbert_Testmann
Um weitere gesundheitsschädliche Aufregung zu vermeiden, empfehle ich noch einmal folgende wundervolle Funktion im persönlichen Bereich jedes angemeldeten Users:
http://homematic-forum.de/forum/ucp.php ... &mode=foes
Re: Bug: Inkonsistente Zeitfunktionen
Verfasst: 05.10.2012, 14:18
von SpiRu
PeterM hat geschrieben:UHRZEIT:
Diese Funktion gibt die aktuelle Uhrzeit im Format HH:MM:SS zurück.
Diese Beschreibung in der "Hilfe" ist definitiv falsch! Das Ergebnis des
Funktionsaufrufs UHRZEIT ist vom
Typ [Uhr], wobei Variablen dieses Typs intern eigentlich Real-Variablen sind.
Das externe Darstellungsformat, wie hier völlig irreführend dargestellt, hat damit erst mal überhaupt gar nichts zu tun!
Erst bei der Zuweisung
s:= u wird
u von der
Interndarstellung in das
externe Darstellungs-Format HH.mm.ss umgewandelt. Wobei als
Formatschablone die aus den Windows Sprach- und Regionaleinstellungen verwendet wird. Wenn Du da ss@mm@HH einstellst, wird die Zeit entsprechend formatiert.
Re: Bug: Inkonsistente Zeitfunktionen
Verfasst: 05.10.2012, 15:23
von SpiRu
Hier mal was zum Verständnis, da die Hilfetexte zum Thema Datum/Zeit und Formate weitgehend unbrauchbar oder zumindest irreführend sind:
Code: Alles auswählen
Funktion: Ergebnis-Typ des Funktionsaufrufs
ZEIT - [Zeit]
DATUM - [Datum]
UHRZEIT - [Uhr]
Wobei die Typen [Datum] und [Uhr] quasi Untertypen von [Zeit] sind und lediglich unterschiedliche Formatschablonen bei der Umwandlung in eine Zeichenkette benutzen
Code: Alles auswählen
Variable z: [Zeit], d: [Datum], u: [Uhrzeit]
z:= "2012-10-30 14:45:11"
d:= z
u:= z
z,d,u haben jetzt alle den selben Inhalt!
Code: Alles auswählen
s:= z ** Formatschablone "JJJJ-MM.TT HH.mm.ss
s:= d ** Formatschablone "JJJJ-MM.TT"
s:= u ** Formatschablone "HH.mm.ss"
Welche Formatschablone bei der Umwandlung in eine Zeichenkette verwendet wird, hängt - wie man sieht - vom Typ der Quell-Variablen ab!
Die Unter-Typen [Datum] und [Uhr] sind praktisch nur Hilfskonstruktionen zur formatierten Ausgabe anhand vorgegebener Format-Schablonen, da es in diesem System hier sonst keine anderen Möglichkeiten zur expliziten Ausgabeformat-Steuerung gibt.
- Was fehlt, ist ein Typ für Zeitdifferenzen, also z.B. der Typ [ZeitDauer], um auch Zeitdifferenzen >= 24 Stunden genau so einfach darstellen zu können. Aber für eine solche Schablone gibt es meines Wissens keine Einstellmöglichkeit in den Windows Regional- und Spracheinstellungen. Sonst gäbe es vielleicht auch einen solchen Typ in Homeputer.