DIAdem

cancel
Showing results for 
Search instead for 
Did you mean: 

Bestandteile der Datumsangabe

Solved!
Go to solution

Diadem 11.0, Windows XP SP3, Ländereinstellung Deutsch/Schweiz, Dezimaltrennzeichen "."

 

 

Ich habe folgendes Problem: 

 

call msgbox (month(cdate("16.06.2009 04:35:00")))


--> Ergebnis = 6 --> Das ist OK

 

call msgbox (month(cdate("16.06.2009 04:35:00.0000")))

--> Fehlermeldung: "Typen unverträglich: 'cdate' " --> wieso?

call msgbox (month(rtt(chd(1,"[2]/[4]"))))
--> Annahme: in der ersten Zeile des angegebenen Kanals steht 16.06.2009 04:35:00

--> Datumsformat in Diadem standardmässig bei #dd.mm.yyyy hh:nn:ss 

--> Befehl funktioniert

 

call msgbox (month(rtt(chd(1,"[2]/[4]"))))
--> Annahme: in der ersten Zeile des angegebenen Kanals steht 16.06.2009 04:35:00.0000

--> Datumsformat in Diadem standardmässig bei #dd.mm.yyyy hh:nn:ss.ffff 

--> Befehl funktioniert nicht.

--> Fehlermeldung: Typenunverträglich: '[string: "16.06.2009 04:35:00."]'

 

Stutzig macht mich hier der Punkt hinter der Zeitangabe innerhalb des String.

 

Da ich häufig mit Messwerten mit einer Abtatsrate von > 1 Hz zu tun habe, ist das Standardformat: 

 #dd.mm.yyyy hh:nn:ss.ffff und soll auch so bleiben.

 

Mein Ziel ist es, parallel zum vorhandenen Zeitkanals einen zusaetzlichen Kanal zu erstellen, in der die Datumsangabe wie folgt dargestellt wird: 

YYYYMMDDHHNNSS.

 

Wer bietet eine Erklärung und Lösung des Problems.

 

Dank

Bernhard

 

 

 

 

0 Kudos
Message 1 of 2
(3,709 Views)
Solution
Accepted by topic author BK_LVUser

In DIAdem 11.0 a new access is introduced.

 

call msgbox (month(data.GetChannel("[1]/[1]")(1)))

 

will work because this method will return a variant CDate.

 

The problem of this is that fraction is not used for the CDate but month will work.

 

Even easier is

 

call msgbox (rtt( chd(1,"[1]/[1]"), "m" ))

call msgbox (rtt( chd(1,"[1]/[1]"), "fff" ))

 

Message 2 of 2
(3,702 Views)