Birbirini Takip Eden Sıralı Aylar ???

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
ulu coder
Üye
Mesajlar: 838
Kayıt: 01 Nis 2006 06:46
Konum: Ankara

Mesaj gönderen ulu coder »

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;
Son hal bu. Umarım ihtiyaçları karşılar
Cevapla