Edit İçinde Matematik İşlemleri

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
akissoftware
Üye
Mesajlar: 118
Kayıt: 17 Ağu 2010 09:08

Edit İçinde Matematik İşlemleri

Mesaj gönderen akissoftware »

Arkadaşlar merhaba..

Ufak bir sistem yazıyorum fakat takıldım bir türlü beceremedim. Şöyle açıklayayım..

3 Tane editbox ve 1 tane combobox var. Combobox için 0,7 ve 19 itemsleri var. Bunlar KDV oranlarını belirtiyor ve değişebilir. Edit1(ürünün brüt fiyatı) de ürün fiyatı giriliyor. Comboboxtan kdv oranını seçiyoruz. Seçtiğimiz KDV oranını Edit2 de yazması lazım. Edit3 te Ürün brüt fiyatından(Edit1 den) KDV oranını (Edit2 deki miktarı) çıkarıp Edit3 e yazması gerek... Fakat bir türlü halledemedim. Ondalık değer çıkınca hata veriyor 3,5 gibi bir değer girdiğimde hata veriyor vs vs...

Bu konuda yardımcı olabilicek arkadaş varmıdır :S
Kullanıcı avatarı
tuna
Üye
Mesajlar: 300
Kayıt: 07 Tem 2008 04:39
Konum: İstanbul

Re: Edit İçinde Matematik İşlemleri

Mesaj gönderen tuna »

Verdiği hata nedir.
Birde işlemi nasıl yapıyorsunuz. Kodu da yazarmısınız. Yardımcı olalım.
akissoftware
Üye
Mesajlar: 118
Kayıt: 17 Ağu 2010 09:08

Re: Edit İçinde Matematik İşlemleri

Mesaj gönderen akissoftware »

Kod: Tümünü seç

procedure TForm5.KDVHesapla;
var
  sayi1,sayi2: Longint;
begin
try
sayi1:=StrToInt(suiNumberEdit1.Text);
sayi2:=StrToInt(ComboBox3.Text);
suiNumberEdit3.Text := floattostr((sayi1 * sayi2)/100);
suiNumberEdit2.Text:=  FloatToStr(StrToFloat(suiNumberEdit1.Text) - StrToFloat(suiNumberEdit3.Text));
except;
end;

Bu şekilde yaptım. Fakat bu kodun kullanımda bir problem olurmu bilmiyorum. Hesaplaması da doğru gibi gözüküyor. Gerçi tam kontrol etmedim ama
Kullanıcı avatarı
tuna
Üye
Mesajlar: 300
Kayıt: 07 Tem 2008 04:39
Konum: İstanbul

Re: Edit İçinde Matematik İşlemleri

Mesaj gönderen tuna »

Eğer hesaplamada küsürat hatası yapıyorsa Longint yerine Double kullanabilirsin.

sayi1,sayi2:double;
3ddark
Üye
Mesajlar: 89
Kayıt: 14 Eyl 2010 10:55
Konum: İstanbul

Re: Edit İçinde Matematik İşlemleri

Mesaj gönderen 3ddark »

parasal değer double yaparsan daha dogru olur. Birde strtoint veya strtofloat fonksiyonları editlerin içi boş olması durumumda hata verir.

Bunun çözümü StrToFloatDef kodunu kullanıp default değer olarak 0 girersen edite değer girilmemesi strtofloat dönüşümünde hata durumunda varsayılan değeri alacaktır.
PostgreSQL - Delphi - Linux :!:
Cevapla