10-12-2009 07:23 AM
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
Solved! Go to Solution.
10-12-2009 08:52 AM
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" ))