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;
taksit tarihi yazdırma
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
- IncMonth adında bir fonksiyonu kullanabilirsin. Ne olduğunu anlamışsındır. Tarihe (n) kadar ay ekleyerek yeni tarih belirler. Kullanımı şöyle:
- 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. 
Kod: Tümünü seç
YeniTarih := IncMonth( Tarih, 2 );

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;