(Gast)
n/a Beiträge
|
Re: Vorjahr und Vormonat berechnen.
13. Dez 2006, 08:22
Wie wäre es damit?
Delphi-Quellcode:
procedure VorWerte(datum: TDateTime; var vTag, vMonat, vJahr: Word);
begin
DecodeDate(datum, vTag, vMonat, vJahr);
//Überall eins abziehen
dec(vTag);
dec(vMonat);
dec(vJahr);
//von Januar nach Dezember
if vMonat < 1 then
vMonat := 12;
//vom 1. des Monats zum letzten von vMonat
if vTag < 1 then
case vMonat of
1, 3, 5, 7, 8, 12: vTag := 31;
4, 6, 9, 11: vTag := 30;
2:
begin
//Februar im Schaltjahr oder nicht?
if IsLeapYear(vJahr) then
vTag := 29
else
vTag := 28;
end;
end;
end;
Ist jetzt gerade aus der Hand getippt, bin mir z.B. bei der Reihenfolge der Parameter für DecodeDate nicht sicher. AUch über vTag müsste man evtl. nachdenken
|
|
Zitat
|