Belki sizin için basittir ama...

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
lazanya
Üye
Mesajlar: 23
Kayıt: 13 Haz 2003 12:34
Konum: trabzon
İletişim:

Belki sizin için basittir ama...

Mesaj gönderen lazanya »

Selam herkese, DbEdit ve Editlerde veri alanına girdiğim (,) virgüllü sayıları ( mesela 5,5 gibi bir puanlama) yukarı veya aşağıya yuvarlıyor. Ben öyle ce kalmasını istiyorum Aşağıda nerede hata yapıyorum.Teşekkürler.
Arkadaşlar aşağıda kodları da verdim;
var
Form1: TForm1;
i:integer;
t,r,g,h:real;
x,y:single;
implementation
{$R *.DFM}
procedure TForm1.Button1Click(Sender: TObject);
begin
i:=4;
begin
if i=4 then
t:=strtofloat(DBEdit5.Text);
r:=strtofloat(DBEdit3.Text);
g:=strtofloat(DBEdit4.Text);
h:=strtofloat(DBEdit6.Text);
begin
Edit1.Text:=floattostr((g-(t/r))/h);
y:=strtoFloat(Edit1.Text);
x:=sqr(y);
Edit2.Text:=floattostr(x);
end;
end;
end;
procedure TForm1.FormCreate(Sender: TObject);
begin
Edit1.MaxLength:=20;
Edit2.MaxLength:=20;
i:=1;
Edit1.Text:=inttostr(0);
Edit2.Text:=inttostr(0);
end;
end.
Kullanıcı avatarı
rsimsek
Admin
Mesajlar: 4482
Kayıt: 10 Haz 2003 01:48
Konum: İstanbul

Mesaj gönderen rsimsek »

sanırım aşağıdaki begin bloklarında bir sıralama hatası olmuş :?:

Kod: Tümünü seç

procedure TForm1.Button1Click(Sender: TObject); 
begin 
  i:=4;  
  if i=4 then  // zaten 4
  begin 
     t:=strtofloat(DBEdit5.Text); 
     r:=strtofloat(DBEdit3.Text); 
     g:=strtofloat(DBEdit4.Text); 
     h:=strtofloat(DBEdit6.Text); 
  end
  else
  begin 
     Edit1.Text:=floattostr((g-(t/r))/h); 
     y:=strtoFloat(Edit1.Text); 
     x:=sqr(y); 
     Edit2.Text:=floattostr(x); 
   end; 
end; 
böyle bir kod mu düşünülmüş??
lazanya
Üye
Mesajlar: 23
Kayıt: 13 Haz 2003 12:34
Konum: trabzon
İletişim:

Mesaj gönderen lazanya »

bu hiç işe yaramadı. Yanlış anlattım galiba. DBEdit e 5,5 diye bir veri girdiğinizde 6 ya yuvarlıyor. Ben bu sayının yuvarlanmasını istemiyorum.
Çünkü bir çarpım işlemi gerçekleştireceğim. 5.5 la 6 nın çarpımında fark oluşur. Yanlış sonuç elde edilir.
Bilmiyorum anlatabildimmi?
Kullanıcı avatarı
mussimsek
Admin
Mesajlar: 7586
Kayıt: 10 Haz 2003 12:26
Konum: İstanbul
İletişim:

Mesaj gönderen mussimsek »

Merhaba,

gördüğüm kadarıyla kodunuzda herhangi bir yuvarlama fonksiyonu yok.

1. Table'daki alanın float değerler alabilecek bir alan tipinde olduğunu kontrol edin.

2. eğer herhangi bir mask vermişseniz buda etkili olabilir. Mesela Display Mask #,### ise sayı yuvarlanarak gösterilir ancak değer yine küsuratlıdır.

Aklıma ilk etapta gelenler bunlar.

Kolay gelsin.
Cevapla