Einzelnen Beitrag anzeigen

Thanatos81
(Gast)

n/a Beiträge
 
#6

Re: Vorjahr und Vormonat berechnen.

  Alt 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
  Mit Zitat antworten Zitat