Autor Beitrag
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 04.02.09 17:58 
Da hast Du immer noch das Problem mit Zukunftsdaten. Wieso abs?
JustusJonas Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 222



BeitragVerfasst: Mi 04.02.09 18:00 
user profile iconGTA-Place hat folgendes geschrieben Zum zitierten Posting springen:
Oder, wie gerade gesagt und noch einfacher (getestet):

ausblenden Delphi-Quelltext
1:
if (Datum >= Date - 2then					

Das hat JustusJonas schon im 1. Post hier erwähnt gehabt, ich weiß nur nicht, warum er es nicht nimmt :gruebel:.


Oh man, es ist schon ziemlich lange her, dass ich dieses Programm geschrieben hatte. Wenns dann nach zig Monaten (oder sogar schon Jahren) dann wieder Änderungen gibt, bin ich immer ein wenig aufgeschmissen.

Die andere Abfrage hatte ich damals reingemacht, weil man nicht über Jahre hinweg darf, also am 01.01. darf man nicht zurück auf den 31.12.
Deshalb die Abfrage, ob die aktuelle Tageszahl größer als drei ist...

Ihr seid echt genial, ganz ehrlich! Vielen Dank bis dato schon mal!

Greetz
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Mi 04.02.09 18:03 
Dafür reicht doch der Vergleich ob YearOf (in Unit DateUtils) gleich ist. ;-)
Also DaysBetween <= 2 und YearOf identisch sollte reichen.
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Mi 04.02.09 18:06 
user profile iconDeddyH hat folgendes geschrieben Zum zitierten Posting springen:
Da hast Du immer noch das Problem mit Zukunftsdaten. Wieso abs?


:gruebel:

ausblenden Delphi-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
14:
15:
16:
17:
18:
19:
20:
21:
22:
23:
var
  Datum1, Datum2, Heute: TDate;
begin
  Heute  := Date;

  Datum1 := StrToDate('28.02.2009');
  Datum2 := StrToDate('15.01.2009');

  if Abs(Heute - Datum1) > 2 then
    ShowMessage('Ohjemine...');         // erscheint

  if Abs(Heute - Datum2) > 2 then
    ShowMessage('Ohjemine...');         // erscheint

  Datum1 := StrToDate('03.02.2009');    // -1 Tag
  Datum2 := StrToDate('05.02.2009');    // +1 Tag

  if Abs(Heute - Datum1) > 2 then
    ShowMessage('Ohjemine...');         // erscheint nicht

  if Abs(Heute - Datum2) > 2 then
    ShowMessage('Ohjemine...');         // erscheint nicht
end;

Funktioniert alles sehr gut :gruebel:

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Mi 04.02.09 18:10 
Meinst Du nicht, dass es ein Fehler sein sollte, in das Edit ein Datum in der Zukunft einzutragen?
GTA-Place
ontopic starontopic starontopic starontopic starontopic starontopic starofftopic starofftopic star
EE-Regisseur
Beiträge: 5248
Erhaltene Danke: 2

WIN XP, IE 7, FF 2.0
Delphi 7, Lazarus
BeitragVerfasst: Mi 04.02.09 18:11 
Achso, na das kommt auf den Verwendungszweck drauf an ;-)

_________________
"Wer Ego-Shooter Killerspiele nennt, muss konsequenterweise jeden Horrorstreifen als Killerfilm bezeichnen." (Zeit.de)
JustusJonas Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 222



BeitragVerfasst: Do 05.02.09 01:15 
Danke jaenicke, ich glaube das ist genau das, was ich gesucht habe. Werde ich Morgen auf jeden Fall direkt ausprobieren!

Vielen Dank an euch alle! Ich melde mich Morgen wieder!!

Greetz
JustusJonas Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 222



BeitragVerfasst: Fr 06.02.09 13:07 
user profile iconjaenicke hat folgendes geschrieben Zum zitierten Posting springen:
Dafür reicht doch der Vergleich ob YearOf (in Unit DateUtils) gleich ist. ;-)
Also DaysBetween <= 2 und YearOf identisch sollte reichen.


Kann es sein, dass die Unit DateUtils erst in einer späteren Delphi-Version dabei ist?

Bei meiner Delphi 5 sagt er jedenfalls, dass er die DateUtils.dcu nicht finden kann... :(

Greetz
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 06.02.09 14:07 
Richtig, DateUtils gibt es erst ab Delphi 7 (soweit ich weiß).
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 06.02.09 14:26 
Eine Unit mit den Funktionen gibt es auch als JclDateUtils in der JEDI Code Library. ;-)
JustusJonas Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 222



BeitragVerfasst: Fr 06.02.09 14:44 
Evtl. kann mir ja jemand mit Delphi 7 die Funktionen hier posten? Dann kann ich sie in meinem Programm ja einfach so verwenden.

Greetz
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 06.02.09 15:26 
Ich glaube nicht, dass das erlaubt ist.
jaenicke
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 19315
Erhaltene Danke: 1747

W11 x64 (Chrome, Edge)
Delphi 11 Pro, Oxygene, C# (VS 2022), JS/HTML, Java (NB), PHP, Lazarus
BeitragVerfasst: Fr 06.02.09 15:31 
user profile iconJustusJonas hat folgendes geschrieben Zum zitierten Posting springen:
Evtl. kann mir ja jemand mit Delphi 7 die Funktionen hier posten? Dann kann ich sie in meinem Programm ja einfach so verwenden.
Was hat das für einen Sinn? Ich sagte doch wo du sie bekommst, und das geht dann auch unter Delphi 5. Mit einer Unit von Delphi 7 hast du vermutlich auch noch Inkompatibilitäten. :gruebel:
sourceforge.net/projects/jcl/

user profile iconDeddyH hat folgendes geschrieben Zum zitierten Posting springen:
Ich glaube nicht, dass das erlaubt ist.
Das außerdem was die Originalunit von Delphi 7 angeht.
Der Quelltext war ja nicht einmal bei allen Versionen von Delphi überhaupt dabei.
DeddyH
Ehemaliges Mitglied
Erhaltene Danke: 1



BeitragVerfasst: Fr 06.02.09 15:41 
Ich habe gerade einen Blick in den Code geworfen. YearOf ist ein Einzeiler, in dem DecodeDate verwendet wird, lässt sich also leicht nachproggen.