Uhrzeit-Variable

Programmierung der HomeMatic CCU mittels contronics homeputer CL

Moderator: Co-Administratoren

Antworten
boklu
Beiträge: 9
Registriert: 18.12.2015, 10:15

Uhrzeit-Variable

Beitrag von boklu » 19.10.2016, 12:00

Moin,

ich wollte unter der Homeputer Cl Umgebung eine Variable Anlegen in der eine Uhrzeit hinterlegt ist und ggf. eine Zufallszeit addiert werden kann.
Was für einen Variablen-Typ muss ich den wählen wenn in der Variable eine Zeit hinterlegt werden soll mit der "gerechnet" werden kann?
MfG

Boklu

Familienvater
Beiträge: 7151
Registriert: 31.12.2006, 15:18
System: Alternative CCU (auf Basis OCCU)
Wohnort: Rhein-Main
Danksagung erhalten: 34 Mal

Re: Uhrzeit-Variable

Beitrag von Familienvater » 19.10.2016, 12:29

Hi,

für Uhrzeiten eignen sich Uhr-Variablen oder Zeit-Variablen, ich glaube, das intern beides die gleichen Typen sind, nur bei einer Uhrzeit-Variable wird der Datumsanteil bei der Ausgabe weggelassen.

Es ist aber im Zweifelsfall wichtig, von HPCL nicht zuviel zu erwarten, und ein Monster-Statement zu generieren wie

Code: Alles auswählen

wenn (uhrVar+"00:05:12") =* "**:00:00" dann
// oder
strTemp := "Irgendwas.... " + (uhrVar - "00:12:34")
Im Zweifelsfall eine Hilfsvariable, die das Ergebnis einer Berechnung aufnimmt, und dann nur diese einzelne Variable ausgeben oder für einen Vergleich benutzten.

Rechnen mit Uhrzeiten/Uhr-Variablen geht, man muss aber ggf. selbst die genauen "Hintergründe" rausfinden/ausprobieren, gerade wenn es um die Addition/Subtraktion mit Zahlenvariablen geht (je nach dem , wie die Zahlenvariable initialisiert ist, ob mit 0 oder 0,000), da können "unerwartete" Dinge passieren, und 1 kann mal Sekunden (Zahlenvariable mit 0) bedeuten, 1,0 aber auch ganze Tage (Zahlenvariable mit 0,...), vielleicht verwechsel ich das jetzt auch mit Zeit-Variablen, aber es auf jeden Fall so,

Die Stoppuhr-Funktion mit Zeit-Variablen kann z.B. eine Zeichenkette ausgeben, die mehr als 24h umfasst, bis zu "9999:59:59" IIRC, weißt man das Ergebnis eines stoppuhr-Aufrufs einer Uhr-Variablen zu, und gibt dann die Uhr-Variable aus, ist das nur noch max. "23:59:59", könnte aber auch "00:00:00" sein, wenn es genau "24:00:00" sind (weil die "Tage" rausformatiert sind).

Schau ggf. in der Hilfe bei der Zufallszeit-Funktion nach, da sind Beispiele, wobei da wieder eine äußerst ungeschickte Variablenbezeichnung gewählt wurde (Zeitvariable ist vom Typ Uhrzeit).

Der Familienvater

Antworten

Zurück zu „homeputer CL“