Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   GUI-Design mit VCL / FireMonkey / Common Controls (https://www.delphipraxis.net/18-gui-design-mit-vcl-firemonkey-common-controls/)
-   -   Delphi Einem DateTimePicker eine Minute dazu addieren? (https://www.delphipraxis.net/148024-einem-datetimepicker-eine-minute-dazu-addieren.html)

AlexII 20. Feb 2010 21:46


Einem DateTimePicker eine Minute dazu addieren?
 
Wer kann mir das bitte sage? Irgendwie komme ich nicht drauf :gruebel:

Delphi-Quellcode:
FormatDateTime('HH:mm', DateTimePicker1.Time) + 1 ?????

Jens Hartmann 20. Feb 2010 21:55

Re: Einem DateTimePicker eine Minute dazu addieren?
 
Hallo Alex,

Delphi-Quellcode:
  DateTimePicker1.Time := DateTimePicker1.Time +1;
Gruß Jens

AlexII 20. Feb 2010 21:58

Re: Einem DateTimePicker eine Minute dazu addieren?
 
Ne das klappt nicht :gruebel:

Luckie 20. Feb 2010 22:01

Re: Einem DateTimePicker eine Minute dazu addieren?
 
Ist ja mal wieder eine wahnsinns Fehlerbeschreibung. :roll:

Matze 20. Feb 2010 22:05

Re: Einem DateTimePicker eine Minute dazu addieren?
 
Delphi-Quellcode:
FormatDateTime('HH:mm', DateTimePicker1.Time + 60/86400);
Das kann man natürlich kürzen o.ä.

mkinzler 20. Feb 2010 22:07

Re: Einem DateTimePicker eine Minute dazu addieren?
 
DateUtils.IncMinute()

AlexII 20. Feb 2010 22:07

Re: Einem DateTimePicker eine Minute dazu addieren?
 
Also ich schreibe nen Wecker und gleiche die Zeit ab, falls man die Zeit im Wecker kleiner als die aktuelle einstellt erscheint eine Fehlermeldung:

Delphi-Quellcode:
if FormatDateTime ('HH:mm', Now) > FormatDateTime('HH:mm', TimePicker1.Time) then
begin
//Error
end;
Die Zeiten dürfen aber auch nicht gleich sein.....

Ja.... wärend ich das hier geschrieben habe ist mir eingefallen wie ich das mache, so nämlich...

Delphi-Quellcode:
if FormatDateTime ('HH:mm', Now) >= FormatDateTime('HH:mm', TimePicker1.Time) then
begin
//Error
end;
Danke Euch!

Matze 20. Feb 2010 22:14

Re: Einem DateTimePicker eine Minute dazu addieren?
 
Eins muss man dir lassen: Du kannst sehr kreativ denken. :lol:

AlexII 20. Feb 2010 22:19

Re: Einem DateTimePicker eine Minute dazu addieren?
 
Ja die einzustellende Zeit im Wecker muss immer min. ne Minute mehr haben, wollte deswegen eine Minute dazuaddieren, aber wenn ich mit ">=" vergleiche ist es getan. Ist halt spät eingefallen. :lol:

Sir Rufo 21. Feb 2010 01:05

Re: Einem DateTimePicker eine Minute dazu addieren?
 
ich bin da zwar nicht so "kreativ" aber das sollte besser funktionieren
Delphi-Quellcode:
if Frac( Now ) >= TimePicker1.Time then
Da muss dann nicht erst von extended nach string konvertiert werden.

Das was du da machst ist vergleichbar mit dem Vergleich von Digitalfotos auf folgendem Weg:

1. DigiFoto mit der Analog-Kamera vom Bildschirm abfotografieren
2. DigiFoto mit der Analog-Kamera vom Bildschirm abfotografieren
Jetzt den Analog-Film zum Entwickeln abgeben
Sind die Abzüge da, dann vergleichen, ob die beiden gleich sind

Geht sehr wohl, aber ... :mrgreen:

AlexII 21. Feb 2010 09:55

Re: Einem DateTimePicker eine Minute dazu addieren?
 
Ich habe das so gemacht, da mein Programm auf verschiedenen Windows Sprachversionen läuft und mit "FormatDateTime" kann ich unabhängig von der Systemeinstellungen vergleichen.

Ist das mit "Frac" genau so möglich?

DeddyH 21. Feb 2010 09:59

Re: Einem DateTimePicker eine Minute dazu addieren?
 
Zahlen sind unabhängig von der Systemsprache :zwinker:

Matze 21. Feb 2010 10:02

Re: Einem DateTimePicker eine Minute dazu addieren?
 
Wieso sollte dein Code die Systemeinstellungen berücksichtigen und der von Sir Rufo nicht?
Du solltest wissen, dass FormatDateTime nichts anderes macht, als den TDateTime-Wert (Float-Wert) in einen formatierten String zu wandeln. Unabhängig von der eingestellten Sprache ist TDateTime eine Zahl, die du somit immer vergleichen kannst.

Edit: Oh, Deddy war deutlich schneller mit dem Antworten. Naja, meine Antwort ist dafür minimal ausführlicher. :stupid:

AlexII 21. Feb 2010 10:18

Re: Einem DateTimePicker eine Minute dazu addieren?
 
Also bei mir im Buch steht:

Zitat:

Statt "DateTimeToStr" sollten Sie besser die zwar umständlichere, aber dafür um so eindeutigere "FormatDateTime"-Funktion verwenden, da Sie damit selbst das Format bestimmen und unabhängig von den Systemeinstellungen (ShortDateFormat) bleiben.
Deswegen verwende ich nur "FormatDateTime". :zwinker:

DeddyH 21. Feb 2010 10:19

Re: Einem DateTimePicker eine Minute dazu addieren?
 
Das gilt für die Ausgabe, nicht für die Berechnung.

AlexII 21. Feb 2010 10:27

Re: Einem DateTimePicker eine Minute dazu addieren?
 
Zitat:

Zitat von DeddyH
Das gilt für die Ausgabe, nicht für die Berechnung.

Ja woher sollte ich das wissen? :roteyes: Und so sind alle Bücher, es wird nie zu Ende geschrieben. :wall:

DeddyH 21. Feb 2010 10:29

Re: Einem DateTimePicker eine Minute dazu addieren?
 
Siehste, das ist unter anderem damit gemeint, wenn hier immer gesagt wird, man soll Logik und Darstellung trennen ;)

Matze 21. Feb 2010 10:38

Re: Einem DateTimePicker eine Minute dazu addieren?
 
Zitat:

Zitat von AlexII
Zitat:

Zitat von DeddyH
Das gilt für die Ausgabe, nicht für die Berechnung.

Ja woher sollte ich das wissen? :roteyes:

Wenn du dir überlegst, was du da eigentlich machst, dann kannst du da ganz leicht selbst drauf kommen. ;) Übernimm nie Code ohne nachzudenken. Gewöhne dir an, alles kritisch zu hinterfragen und zu verstehen.

AlexII 21. Feb 2010 10:53

Re: Einem DateTimePicker eine Minute dazu addieren?
 
Habe ich doch, mit FormatDateTime werde ich immer auf der sicheren Seite, dachte ich.

mkinzler 21. Feb 2010 10:54

Re: Einem DateTimePicker eine Minute dazu addieren?
 
Dieses ist aber nur für die Anzeige, wie Detlef schon geschrieben hat!

AlexII 21. Feb 2010 11:52

Re: Einem DateTimePicker eine Minute dazu addieren?
 
Now hat bestimmt die Formatierung 00:00:00 bzw. hh:mm:ss bei mir in dem TimePicker aber 00:00 bzw. HH:mm, kann man dann trotzdem so vergleichen? :gruebel:

Delphi-Quellcode:
if Frac( Now ) >= TimePicker1.Time then

Sir Rufo 21. Feb 2010 11:55

Re: Einem DateTimePicker eine Minute dazu addieren?
 
ja

PS: ALLE ZEITWERTE SIND EINFACHE ZAHLEN ... DIE HABEN KEINE FORMATIERUNG ... ES HANDELT SICH NICHT UM STRINGS!!!!

AlexII 21. Feb 2010 12:01

Re: Einem DateTimePicker eine Minute dazu addieren?
 
Hab's ausprobiert, funktioniert nicht :lol:

DeddyH 21. Feb 2010 12:17

Re: Einem DateTimePicker eine Minute dazu addieren?
 
Ich bin mir gerade nicht sicher, aber sollte man das nicht so machen?
Delphi-Quellcode:
if Frac(Now) >= Frac(TimePicker1.Time) then
[edit] Ha! Um Sekunden schneller :mrgreen: [/edit]

Sir Rufo 21. Feb 2010 12:17

Re: Einem DateTimePicker eine Minute dazu addieren?
 
Zitat:

Zitat von AlexII
Hab's ausprobiert, funktioniert nicht :lol:

Doch es funktioniert ... aber aus welchen Gründen auch immer liefert TDateTimePicker.Time das gesamte Datum zurück!

also

Delphi-Quellcode:
if Frac( Now ) >= Frac( TimePicker1.Time ) then


Alle Zeitangaben in WEZ +1. Es ist jetzt 22:07 Uhr.

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