[edit]
ich glaub ich tipp zu langsam, die anderen antworten waren
am anfang noch nicht da
, naja such dir einfach einen
weg aus. ich halte von minus 30 nicht so bei date weil du damit
den tag veränderst. ausserdem wenn du den 31. eines Monats
hast landest du auf dem ersten des selben monats. kannst ja
einfach mit allen ethoden ein wenig rumprobieren.
[/edit]
Hallo, mit dem Datentyp TDate kannst du genau so rechnen wie mit dem
Typ Integer z.B. Du kannst von der Eigenschaft Date deines jetzigen einfach 30 abziehen und landest 30 Tage in der vergangenheit.
Besser ist es aber wenn du dein aktuelles Datum mittels DecodeDate
in die einzelnen Teile zerlegst, den Monat um 1 verringerst, ggf. das
Jahr und den Tag anpasst und mittels EncodeDate das ganze wieder
zusammenschusterst.
ungefähr so.
var
Jahr, Monat, Tag : Word;
Datum : TDate;
decodedate(heutekalender.date,Jahr,Monat,Tag);
If Monat > 1 then
Monat := Monat - 1
else
begin
Monat := 12;
Jahr := Jahr - 1;
end;
IF Tag > DaysInAMonth(Jahr, Monat) then
Tag := DaysInAMonth(Jahr, Monat);
Datum := EncodeDate(Jahr, Monat, Tag);
Vormonatskalender.date := Datum
ich hoffe ich konnte ein wenig helfen,
mfg, Michael.