Kod: Tümünü seç
procedure TForm1.Button1Click(Sender: TObject);
Var
ilk_t:TDate;
tarihler: array[1..12] of string;
i : integer;
yil,ay,gun:word;
ky,ka,kg:word;
begin
ilk_t:=DateTimePicker1.Date;
tarihler[1]:=DateToStr(ilk_t);
DecodeDate(ilk_t,yil,ay,gun);
For i:=2 to 12 Do tarihler[i]:='';
For i:=2 To StrToInt(edit1.Text) Do
Begin
ay:=ay+1;
if ay>12 Then
begin
yil:=yil+1;
ay:=1;
end;
if ilk_t=son_gun(ilk_t) Then tarihler[i]:=DateToStr(EncodeDate(yil,ay,1)-1);
if ilk_t<>son_gun(ilk_t) Then
begin
DecodeDate(son_gun(EncodeDate(yil,ay,1)),ky,ka,kg);
if kg<gun Then tarihler[i]:=DateToStr(son_gun(EncodeDate(yil,ay,1)));
if kg>=gun Then tarihler[i]:=DateToStr(EncodeDate(yil,ay,gun));
end;
End;
For i:=1 to 12 Do Memo1.Lines.Add(tarihler[i]);
end;
function TForm1.son_gun(tarih: Tdate): TDate;
var
yil,ay,gun:word;
begin
DecodeDate(tarih,yil,ay,gun);
ay:=ay+1;
if ay>12 Then
begin
yil:=yil+1;
ay:=1;
end;
result:=EncodeDate(yil,ay,1)-1;
End;