Einzelnen Beitrag anzeigen

sammynrw

Registriert seit: 1. Jul 2014
28 Beiträge
 
#1

Fortlaufende Monat Aufzählung Stoppt im Monat Dezember ???

  Alt 1. Aug 2014, 18:18
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
  Mit Zitat antworten Zitat