Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Time aus DateTimer auslesen (https://www.delphipraxis.net/162203-time-aus-datetimer-auslesen.html)

nici 12. Aug 2011 12:02

Delphi-Version: 5

Time aus DateTimer auslesen
 
Hallo,

ich möchte gerne eine Applikation entwickeln bei der man eine ALARMZeit einstellen kann.

Wenn ich das Projekt mit folgendem kurzen Code compiliere bekomme ich folgenden Wert:

Delphi-Quellcode:
Edit1.text := FloatToStr( DateTimePicker2.time);
40767,5238677199

als Ergebnis.
40767 - das entspricht also ungefähr den Tagen seit 1.1.1900

Das ermittle ich aber schon mit DateTimePicker1.DATE

und ich will jetzt mit dem Datetimepicker2 NUR die ZEIT ermitteln, nicht die Tage UND die Zeit.
Quasi so, als würde man das aus einem EDIT auslesen und in einen Double-Wert umwandeln - ohne vorher noch zu bedenken, welches Datum wir heute haben und Subtraktions-Rechenoperationen zu veranstalten.

Wie geht Ihr bei sowas vor?

Danke.

Luckie 12. Aug 2011 12:05

AW: Time aus DateTimer auslesen
 
Suchst du die Funktion TimeToString?

DeddyH 12. Aug 2011 12:10

AW: Time aus DateTimer auslesen
 
Du musst beim Datum den Nachkomma- und bei der Zeit den Vorkommaanteil abschneiden und dann beide addieren. Schau Dir dazu mal Delphi-Referenz durchsuchenTrunc() und Delphi-Referenz durchsuchenFrac() an.

nici 12. Aug 2011 12:38

AW: Time aus DateTimer auslesen
 
TimetoSTR()

mhh, Danke - fast - nur, daß ich mit der Zeit noch weiter rechnen wollte, ohne die vorher wieder in eine Double zu wandeln.


mhh ....
Edit1.text := Floattostr( Trunc(DateTimePicker1.Date) - Frac(DateTimePicker2.Time) )

bringt mir aber auch wieder 40766,4761322801




aber ich denke Frac(DateTimePicker2.Time) triffts genau.
hatte ich eigentlich auch.
und dennoch kam bei dem Ergebnis immer 0 (Null) heraus.
Das hat mich gewundert.
Nun funktioniert es auf einmal. Und ich kann nicht erklären, was ich gemacht hab. :(


ich bin mir gerade nicht mal mehr sicher, ob ich DAS WIRKLCIH fragen wollte, und ob DAS wirklich mein Problem war.
Wie peinlich :oops:
Entschuldigt bitte. Ich kann selbst nicht erklären, warum das vorher immer 0 lieferte.
Aber vermutlich hab ich beim DurchSteppen auch nicht beachtet vorher irgend ne Zeit einzustellen. Auweia ...
(is gestern und heute stressig im Labor :( - daran wird's liegen ...)

nun denn , hoffentlich hilft's wenigstens AUCH wem anders ...

danke nochmals.

himitsu 12. Aug 2011 12:58

AW: Time aus DateTimer auslesen
 
Delphi-Referenz durchsuchenFrac ist auch vollkommen korrekt, jedenfalls wenn man sich die Definition für TDateTime in der OH durchliest.

Am Frac kann es nicht gelegen haben, aber vielleicht hattest du einfach nur keine Uhrzeit mit drinne, dann kommt natürlich 0 raus.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:17 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz