taksit tarihi yazdırma

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
zaxacm
Üye
Mesajlar: 129
Kayıt: 05 Ara 2005 05:48

taksit tarihi yazdırma

Mesaj gönderen zaxacm »

Merhaba forumda aradım ama ihtiyacıma göre bir kodlama bulup anlayamadım yardımcı olursanız sevinirim.
edit13de taksit sayısı yazıyor.Taksit sayısı kadar aşağıdaki kayıdı yapıyor.Mesela taksit sayısı 4 ise 4 kere ard arda kayıt ediyor ama hepsinde de aynı tarihi yazıyor.01.01.2007 oysa 1 ay artarak yazmasını istiyorum.Nasıl bir ekleme yapmam lazım koda acaba.
fdata.ADOQuery4_taksit.First;
for i:=1 to strtoint(edit13.text) do
begin

fdata.ADOQuery4_taksit.Append;
fdata.ADOQuery4_taksit.Prepared;
fdata.ADOQuery4_taksit.FieldByName('tarih').AsString:=Edit11.Text;
fdata.ADOQuery4_taksit.FieldByName('urun').AsString:=Edit9.Text;
fdata.ADOQuery4_taksit.FieldByName('taksit').AsString:=Edit14.Text;
fdata.ADOQuery4_taksit.Next;
Kullanıcı avatarı
mrmarman
Üye
Mesajlar: 4741
Kayıt: 09 Ara 2003 08:13
Konum: İstanbul
İletişim:

Mesaj gönderen mrmarman »

- IncMonth adında bir fonksiyonu kullanabilirsin. Ne olduğunu anlamışsındır. Tarihe (n) kadar ay ekleyerek yeni tarih belirler. Kullanımı şöyle:

Kod: Tümünü seç

  YeniTarih := IncMonth( Tarih, 2 );
- Yani Tarih 29.01.2007 ise YeniTarih 29.03.2007 olacaktır. Burada hemen akla gelen soru şu alacaktır. 1 eklesek Şubat ayı ne olurdu. Bu durumda 28 olurdu. Bunu şunun için örnekledim; taksit belirlerken her zaman ilk tarihe 1, 2, 3, 4 ne ise onu ekleyin. Mevcut son tarihe ekleme yaparsanız model ay en son ay olacağından şablon 1 gün öne kayar, müşterilerinizi üzersiniz. :wink:
Resim
Resim ....Resim
ng
Üye
Mesajlar: 192
Kayıt: 01 Mar 2004 11:49
Konum: Bursa
İletişim:

Mesaj gönderen ng »

Ben şöyle halletmişim elbette daha pratik yollarda vardır.

Kod: Tümünü seç

procedure Tfrmtaksit.BitBtn1Click(Sender: TObject);
var
  say, son, a: integer;
  ay, gun, yil: Word;
  tarih: TdateTime;
begin
  DecodeDate(DateTimepicker1.DateTime, yil, ay, gun); //Datetimepicker taksitin başladığı tarihi gösteriyor
  for say := 1 to strtoint(Edit2.text) do begin //edit2 taksit sayısını gösteriyor
    inc(ay);
    if ay > 12 then begin ay := 1; inc(yil); end;
    Form9.taksit.Append;
    Form9.taksittarih.AsDateTime := EnCodeDate(yil, ay, gun);
    Form9.taksitFirmaNo.AsString := Form9.DBText1.Caption;
    Form9.taksitAciklama.AsString := Edit3.Text + inttostr(say) + '. Taksit';
    Form9.taksitMiktar.AsFloat := me1.textasFloat / strtoFloat(Edit2.text);
    Form9.taksitHesapNo.AsString := Combobox1.Text;
    form9.taksit.Post;
  end;
  .
  .
  .
end;
Kullanıcı avatarı
AliErdem
Üye
Mesajlar: 157
Kayıt: 16 Nis 2006 02:57

Mesaj gönderen AliErdem »

gördüğüm kadarıyla databaseinde tarih alanı string önce onu date olarak değiştir. tarih ile olan hesaplamalarında herzaman sorun yaratır o şekilde. iyi çalışmalar
Cevapla