taksitlendirme

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
must_sargin
Üye
Mesajlar: 216
Kayıt: 14 Şub 2004 03:13
Konum: Gebze
İletişim:

taksitlendirme

Mesaj gönderen must_sargin »

iyi çalışmalar,
forumda arattım ancak bulamadım, taksitli satış programı yapmaya çalışıyorum. istediğim olay müşterinin verdiği parayı taksit sayısına bölüp en son taksit küsürlü miktar olsun istiyorum. yani müşteri 210 milyon verip 5 yaksit istediğinde ilk 4 taksit 40 milyon son taksit 10 milyon şeklinde olabilir mi?
şimdiden teşekkürler.
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Mesaj gönderen yusuf simsek »

kolay gelsin.

Dediğin olay için taksit sayısının bir eksiğine bölüp döngü içinde her taksit değerini istediğin oranda artırabilir ve kalanı da son taksit olarak yapabilirsin diye düşünüyorum...

Kod: Tümünü seç

tutar := 100,000,000
taksit_sayi := 5

taksitler:=tutar / (taksit-1)

for i:=1 to 4 do
begin
taksitler+4,000,000;
tablo.insert;
tabloTAKSİT.value:=taksitler;
taplo.post;
end;

kalan:=tutar - (4 * (taksitler+4,000,000));


ne kullanacağını bilmediğim için tam kod olarak yazamadım.

Umarım bu mantık işine yarar..

ÜSTADLARA SELAM EDERİM..

iyi çalışmalar[/quote]
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
must_sargin
Üye
Mesajlar: 216
Kayıt: 14 Şub 2004 03:13
Konum: Gebze
İletişim:

Mesaj gönderen must_sargin »

iyi çalışmalar,
taksitler+4,000,000
şeklinde kod yazmışsınız ama o değeri taksit tutarları değilde bir değişkene tanımlayabilirmiyim?
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Mesaj gönderen yusuf simsek »

Kod: Tümünü seç

//genel toplam = 200,000,000
//taksit = 5
//birim_taksit = 35,000,000

birim_taksit:=strtofloat(edit1.text);  //edit nesnesi ile alıyosun
taksit_sayi:=strtoint(edit2.text);      //edit nesnesi ile alıyosun

for i:= 1 to ( taksit_sayi - 1 ) do  // ilk 4 taksiti veritabanına yazıyor..
begin
   tablo.insert;
   tabloTAKSİTSAYİ.value:= i ;
   tabloTAKSİT:=birim_taksit;
   tablo.post;
end;

toplam:=( birim_taksit *  (taksit_sayi - 1) )  // ilk 4 taksitin toplamı
kalan:= genel_toplam - toplam;                  // son taksit için kalan tutar

   tablo.insert;
   tabloTAKSİTSAYİ.value:= taksit_sayi  ;   //son taksit noyu yazıyor 
   tabloTAKSİT:=birim_taksit;                    //son taksit tutarını yazıyor  
   tablo.post;
toplam 5 taksit için sabit taksit tutarını editle alabilirsin...ve bu tutarı ilk 4 taksit oranı olarak girersin...

toplam taksit sayısını da editle alırsın ve bir eksiği ile sabit taksit tutarını çarparsın.Sonuç ile genel toplam arasındaki farkı da en son taksit tutarı olarak atarsın..

Tabi bu sağ elle sol kulağı tutmak gibi bişey oluyo ama bana lazım olduğunda böyle bir mantık izlemiştim...

İNŞAALLAH ilerledikçe çok daha az kodlarla bu işlemleri halledeceğim..

Tüm ÜSTADLARA SELAM EDERİM...

Kolay gelsin..
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
must_sargin
Üye
Mesajlar: 216
Kayıt: 14 Şub 2004 03:13
Konum: Gebze
İletişim:

Mesaj gönderen must_sargin »

iyi çalışmalar,
tablolarınızdan alanları yazabilir misiniz? taksit sayısını ayrı bir tablodanmı almam gerekiyor acaba?
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Mesaj gönderen yusuf simsek »

S.A.

tablonda taksit sayısını tutmana gerek yok..
edit1 = taksit sayısı => 5
edit2 = sabit taksit tutarı => 35.000.000 TL.
edit3 = toplam borç => 200.000.000 TL.
bu değerleri edit nesneleri ile al..

***tabi istersen tarihleri de ekleyebilirsin..

Kod: Tümünü seç

procedure button1.click;
var
birim_taksit:double;
taksit_sayi:integer;

begin
birim_taksit:=strtofloat(edit2.text);  // =>35.000.000
taksit_sayi:=strtoint(edit1.text);      // =>5

for i:= 1 to ( taksit_sayi - 1 ) do  //  4 defa işlem yapacak...
begin 
   tablo.insert; 
   tabloM_NO.value:='1';
   tabloTARIH.value:=IncMonth ( Date + i ) //tarihi her seferinde 1 ay sonrası ***
   tabloTAKSİTSAYİ.value:= i ; //taksitsayi=1,2,3,4
   tabloTAKSİT:=birim_taksit;   // taksit=35,000,000 , 35,000,000, 35,000,000, 35,000,000
   tablo.post; 
end; 

toplam:=( birim_taksit *  (taksit_sayi - 1) )  // 35,000,000 * 4 = 140,000,000
kalan:= genel_toplam - toplam;                  // 200,000,000 - 140,000,000 = 60,000,000

   tablo.insert; 
   tabloM_NO.value:='1';
   tabloTARIH.value:=IncMonth ( Date + taksit_sayi) //5 ay sonrasının tarihini atar  ***
   tabloTAKSİTSAYİ.value:= taksit_sayi  ;   //taksit sayi = 5
   tabloTAKSİT:=birim_taksit;                    //taksit = 60,000,000  
   tablo.post; 
tablo

Kod: Tümünü seç

M_NO    TAKSITSAYI      TAKSIT                 TARIH

1             1                   35,000,000            07.09.2004
1             2                   35,000,000            07.10.2004
1             3                   35,000,000            07.11.2004
1             4                   35,000,000            07.12.2004
1             5                   60,000,000            07.01.2005 
http://www.delphiturkiye.com/index.php? ... tetime.htm
burada tarih fonksiyonlarının detayları var..

yardımcı olabildiysem ne mutlu..

TÜM ÜSTADLARA SELAM EDERİM..
En son yusuf simsek tarafından 07 Eyl 2004 02:39 tarihinde düzenlendi, toplamda 1 kere düzenlendi.
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
must_sargin
Üye
Mesajlar: 216
Kayıt: 14 Şub 2004 03:13
Konum: Gebze
İletişim:

Mesaj gönderen must_sargin »

sizin örneğinize göre son taksit diğerlerinden fazla, acaba son taksitin diğerlerinden az olması için nasıl bir yol izlememiz gerekir?
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Mesaj gönderen yusuf simsek »

o zaman sabit taksit tutarını artırırsın...

sabit taksit=45.000.000
taksit sayısı= 5

son taksit = 20.000.000

şeklinde halledersin
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
must_sargin
Üye
Mesajlar: 216
Kayıt: 14 Şub 2004 03:13
Konum: Gebze
İletişim:

Mesaj gönderen must_sargin »

acaba taksit sayısına göre program kendisi taksit tutarını hesaplayabilir mi?
yusuf simsek
Üye
Mesajlar: 330
Kayıt: 09 Mar 2004 11:18
Konum: Konya
İletişim:

Mesaj gönderen yusuf simsek »

zaten sen bu kodu butonun altına yazacaksın..

kullanıcı edit nesnelerine
1: toplam borcu,
2: genel taksit tutarını,
3: taksit sayısını girecek...

taksit hesapla butonu nu tıkladığında (kodları yazcağın buton) otomatik olarak taksitleri hesaplayıp veri tabanına yazacak...

kodları butona yaz ve değerleri gir...sonucu da seyretmen için aynı dataset e bağlı bir grid koy....

hesaplamaları ve veri tabanına yazılan sonuçları böylece görebilirsin...canlı yayından :D
Bugün bir kez daha,
Hiç Birşey Bilmediğimi Öğrendim!!!

https://extrayazilim.com
Cevapla