Hallo!
Ich bin grad dabei über eine Datenbank eine dünamische Textausgabe zu erzeugen. Dafür muss ich auch zwei DateTimePicker (das Datum daraus) mit zwei Date-Feldern vergleichen. Jetz mach ich das so (nur Teilauszuüge):
Delphi-Quellcode:
if (FieldByName('datum_von').AsDateTime > DTPVon.Date) then
begin
if (FieldByName('datum_bis').AsDateTime < DTPBis.Date) then
begin
ShortDateFormat := 'dd. mmm';
sAusgabe2 := ' (vom ' + DateToStr(FieldByName('datum_von').AsDateTime) + ' bis ' + DateToStr(FieldByName('datum_bis').AsDateTime);
end
else begin
ShortDateFormat := 'dd. mmm';
sAusgabe2 := ' (vom ' + DateToStr(FieldByName('datum_von').AsDateTime);
end;
end
else
if (FieldByName('datum_bis').AsDateTime < DTPBis.Date) then
begin
ShortDateFormat := 'dd. mmm';
sAusgabe2 := ' (bis ' + DateToStr(FieldByName('datum_bis').AsDateTime);
end;
DTPVon und DTPBis = DateTimePicker
sAusgabe2 = String
Das lustige ist, dass er in der ersten Zeilen es richtig vergleicht
if (FieldByName('datum_von').AsDateTime > DTPVon.Date) then
und wenn ich es eine Zeile weiter mit den bis-Daten machen will
if (FieldByName('datum_bis').AsDateTime < DTPBis.Date) then
entscheidet er, dass die Abfrage auch true zurückgibt wenn die beiden Daten gleich sind.
Bei der ersten macht er das allerdings nicht, ... woran könnte das liegen