Einzelnen Beitrag anzeigen

süden

Registriert seit: 20. Feb 2009
Ort: Lindau (Bodensee)
75 Beiträge
 
Delphi 2007 Professional
 
#1

Problem TDate/TDataTime >zu> Integer >zu> String

  Alt 7. Feb 2014, 12:24
Delphi-Version: 5
Hallo,

In meinem Programm werde Datumwerte als [Datum] Integer / [Std] Integer + [Min] Integer in der Datenbank gespeichert.
Das habe ich gemacht weil Datum und Zeit immer wieder zerlegt werden müssten.
Die Eingabe des Nutzers werden getrennt 1) Datum 2) von/bis als Std/Min.

Jetzt brauche ich die Stundenwerte des letzten Monats:

Code:
function DaysOfMonth(ADate:TDate; corrMonth):String;
...
    DecodeDate(ADate, Year,Month,Day);
    IncAMonth(Year,Month,Day,corrMonth);
    dtA := EncodeDate(Year,Month,1);
    dtE := EndOfAMonth(Year,Month);
dtA zeigt 41640 = 01.01.2014
dtE zeigt 41671 = 01.02.2014 - in den SQL_String kommt:

Code:
Result := ' (('+DateField+' >= '+sdtA+') AND ('+DateField+' < '+sdtE+')) ';
Ich wandele also die TDate-Werte in Strings um.
Code:
sdtE := IntToStr(Trunc(dtE));
dtE = 41671 !!!
sdtE = 41670 !!!

Es werden nur die Datumsanteile benutzt und Ganzzahlen angezeigt.

Wie kann das sein?
Welche Möglichkeiten gibt es das zu vermeiden?
Gruß süden

[Delphi 2007 Pro, WIN 7 Pro, DevEx, Fastreport, TMS]
  Mit Zitat antworten Zitat