Kod
/ başlamadan önce uses satırına dateutils ekleyin
 
 procedure SonTarihHesapla(BaslangicTarihi:TDate; ArtisRakami:Integer; Hafta,Ay,Yil,Gun:Boolean; NereyeYazayim:TEdit);
  var
  BitisTarihi:TDate;
  //GelenSayi:Integer;
  begin
 
   if gun then
    begin
     BitisTarihi:=IncDay(BaslangicTarihi,ArtisRakami);
     NereyeYazayim.Text:=DateToStr(BitisTarihi);
    end
 
      else if Hafta then
      begin
      BitisTarihi:=IncWeek(BaslangicTarihi,ArtisRakami);
      NereyeYazayim.Text:=DateToStr(BitisTarihi);
      end
 
        else if Ay then
        begin
        BitisTarihi:=IncMonth(BaslangicTarihi,ArtisRakami);
        NereyeYazayim.Text:=DateToStr(BitisTarihi);
        end
 
          else if Yil then
            begin
            BitisTarihi:=IncYear(BaslangicTarihi,ArtisRakami);
            NereyeYazayim.Text:=DateToStr(BitisTarihi);
            end;
 
  end;
   
// hafta hesaplamak için buton click
   
  var
  GelenTarih:Tdate;
  begin
   
  GelenTarih:=strtodate(edit1.text);
   
  SonTarihHesapla(GelenTarih,RzNumericEdit1.IntValue,true,false,false,false,Edit2);
  end;
   
 
  // ay hesaplamak için buton click
 
  var
  GelenTarih:Tdate;
  begin
 
  GelenTarih:=strtodate(edit1.text);
 
  SonTarihHesapla(GelenTarih,RzNumericEdit1.IntValue,false,true,false,false,Edit2);
  end;
 
  // yıl hesaplamak için buton click
 
  var
  GelenTarih:Tdate;
  begin
 
  GelenTarih:=strtodate(edit1.text);
 
  SonTarihHesapla(GelenTarih,RzNumericEdit1.IntValue,false,false,true,false,Edit2);
  end;
   
  // güm hesaplamak için buton click
 
  var
  GelenTarih:Tdate;
  begin
 
  GelenTarih:=strtodate(edit1.text);
 
  SonTarihHesapla(GelenTarih,RzNumericEdit1.IntValue,false,false,false,true,Edit2);
  end;
 
 
 // dördünü bir arada desteklemez. dördünü desteklesin derseniz procedure içinde ki else if leri if diye değiştirin