Vielleicht wäre es ganz nützlich, in
function monatsberechnung
mal zu überprüfen, ob da für den Monat ein Wert > 12 herauskommt:
Delphi-Quellcode:
monat := monat + monatfeld;
if monat > 12 then
begin
monat := monat - 12;
Inc(jahr)
end;
result := encodedate(jahr, monat, tag) - 1;
Nachfrage:
Worum geht's eigentlich? Vielleicht gibt es eine einfachere Lösung für die eigentliche Aufgabe?