![]() |
Fehler bei Datumsberechnung in Schleife-DbGridDrawDataCell
Hallo Leute,
ich hab hier ein witziges Problem. Delphi7, Firebird SQL Server In einem DBGrid (defaultdrawing=flase) - in der Procedure OnDrawDataCell rechne ich mir aus, ob ein Datensatz in einem bestimmten Zeitraum fällt - wenn ja, setzt ich die Farben anders. -es wird aber kein passender Datensatz gefunden, obwohl einer existiert ! Ich suche: Datensätze, die größer/gleich 13.03.2009 sind Datensätze, die kleiner/gleich 13.03.2009 sind Demodatensatz/Feld'CREATE_DATE'/Wert= 13.03.2009
Delphi-Quellcode:
Hab ein Memo auf die Form geklatscht und mir die Daten ins Memo schreiben lassen..// x1,x2,x3 sind Integer; // temp_datums_dinger sind TDateTime; // DBGrid ist ein TwwDBGrid; procedure TForm.dbobenDrawDataCell(Sender: TObject; const Rect: TRect; Field: TField; State: TGridDrawState); begin ... .. temp_bis_date := bis_datepicker.DateTime; //TDateTimePicker temp_von_date := von_datepicker.DateTime; //TDateTimePicker temp_my_date := data_form.STRUCTURE.FieldByName('CREATE_DATE').AsDateTime; // Query auf Table x1:=CompareDateTime(temp_von_date,temp_my_date); x2:=CompareDateTime(temp_bis_date,temp_my_date); x3:=CompareDateTime(temp_bis_date,temp_von_date); memo2.Lines.Append(''); memo2.Lines.Append(datetostr(temp_von_date)+' x1:'+inttostr(x1)); memo2.Lines.Append(datetostr(temp_bis_date)+' x2:'+inttostr(x2)); memo2.Lines.Append(datetostr(temp_my_date)+' x3:'+inttostr(x3)); if ((x1=-1) or (x1=0)) AND ((x2=1) or (x2=0)) then begin showmessage('bin drin'); end; .. . Dort stehen die Datumswerte richtig - aber CompareDateTime "rechnet in dem Moment nicht richtig" ??? Text aus dem Memo2:
..ich versteh einfach nicht warum x1 und x2 den Wert "1" haben ! Hat jemand eine Idee ? Vielen Dank Erich |
Re: Fehler bei Datumsberechnung in Schleife-DbGridDrawDataCe
Besser
Delphi-Quellcode:
temp_bis_date := Trunc(bis_datepicker.Date); //TDateTimePicker
... |
Re: Fehler bei Datumsberechnung in Schleife-DbGridDrawDataCe
das "Trunc" ist die Lösung :-) ...
...vielen Dank! |
Re: Fehler bei Datumsberechnung in Schleife-DbGridDrawDataCe
Hallo,
Zitat:
|
Re: Fehler bei Datumsberechnung in Schleife-DbGridDrawDataCe
Und Trunc schneidet den Nachkommaanteil ab, was dann in jedem Fall zu 00:00:00.00 Uhr führt
|
Re: Fehler bei Datumsberechnung in Schleife-DbGridDrawDataCe
Zitat:
|
Re: Fehler bei Datumsberechnung in Schleife-DbGridDrawDataCe
War ja auch eine Ergänzung zu deiner Aussage
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 08:05 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