Hallo Delphi Freunde
Ich habe ein Problem fortlaufende Monate zu berechnen.
Beispiel:
Vertragsbeginn am 1.8.2014 Vertragsende 1.8.2015
Delphi-Quellcode:
function monatsberechnung(monatfeld: Integer): TDate;
var
jahr, monat, tag: word;
Tage : Integer;
begin
decodedate(now, jahr, monat, tag);
tage := tag;
jahr := jahr ;
monat := monat-1;
tag := tag - tage+2;
result := encodedate(jahr, monat + monatfeld, tag) - 1;
end;
Delphi-Quellcode:
function letztertagdesmonats(plusminusmonat : Integer): TDate;
var
y, m, d: word;
begin
decodedate(now, y, m, d);
m := m + 1;
if m > 12 then
begin
y := y + 1;
m := m;
End;
result := encodedate(y, m + plusminusmonat, 1)-1 ;
end;
Jetzt lasse ich eine Schleife laufen:
Delphi-Quellcode:
for i := 1 to Anzahl do
Form1.rzstringgrid1.Cells[1,i] := DateToStr(monatsberechnung(2))+' - ' + DateToStr(letztertagdesmonats(i)) ;
ich bekomme folgende Datum Werte berechnet:
01.09.2014 - 30.09.2014
01.10.2014 - 31.10.2014
01.11.2014 - 30.11.2014
Danach bekomme ich eine Nachricht: Ungültiges Argument zum Codieren des Datum
Was mache ich falsch ... ich verzweifel langsam