ard arda girilen sayıların çıkartımı

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

ard arda girilen sayıların çıkartımı

Mesaj gönderen true_false »

merhabalar ;
bir çıkarma rutinim var değerler butonlardan giriliyor(calculator);
kodum şu;

Kod: Tümünü seç

 Memo1.Lines.Add(m_gir.Text+'-');
             x:= StrToFloat(m_gir.Text);
             y:= (y-x);
             islem:=2;
             Memo1.Lines.Add(FloatToStr(y));
ilk değer x ;
y ise sonuç değeri ;
ama sonuçlar - çıkıyor

Kod: Tümünü seç

y:=(x-y);
olark da denedim ama yine aynı muhabbet;


not şimdiden vermiş olduğunuz güzel cevaplar için teşekkür ederim;
type
Tform1 = class(Tform)
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

Memo1.Lines.Add(m_gir.Text+'-');
burdaki eksi isaretindendir...
ÜŞENME,ERTELEME,VAZGEÇME
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

Mesaj gönderen true_false »

yok hocam ondan deil;
öncelikle programı açıklamadığım için özür dilerim;
program şeritli hesap makinası;
memo1.lines.add(m_gir.text+'-');
ise şeride basılacak eksi işareti ;
bunula ilgili bir sorun yok
zaten yazdığım kodda sorun ortada ama işin içinden çıkamadım :?: yani
memo şerit
m_gir sayıların yazıldığı hesap alanı
sayılar hesaplanıyor
ve memoda sıralı biçimde gözüküyor;
teşekkürler.
type
Tform1 = class(Tform)
Kullanıcı avatarı
gkimirti
Admin
Mesajlar: 1956
Kayıt: 02 Eyl 2003 04:44
Konum: İstanbul

Mesaj gönderen gkimirti »

tamam memo da gosterirken - goster ama sayıya donusum yaparken bu ekside hesaba katılıyor.
donusum yaparken sondaki eksi karakteri silip dene birde
///////////////////////////////////////////////////////////////////
pardon yanlıs gormusum
editteki sayıyı kullanıyormussun...
ÜŞENME,ERTELEME,VAZGEÇME
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

S.A.

Kod: Tümünü seç

 y:=(y-x)
y nin ilk değerini veriyormusun. çıkarma işlemi için şöle bişi yap adım adım git.
3 tane edit koy. editlere rakam giriyorsun (doğal olarak) buttonun click inede

Kod: Tümünü seç

 edit3.text:=inttostr(strtoint(edit1.text)-(strtoint(edit2.text));
daha sonra bu işlemi kendi yazdığın koda uyarla. sanırım y ye değer atamadığın için sonucu - veriyor. (y değer atıyorsan bilemem) bide rakamlarla örnek verseydin daha iyi olurdu. mesala
x y sonuc
5 3 -2
gibi bişey olabilirdi.
kolay gelsin.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

Mesaj gönderen true_false »

a.s
y değer vermiyorum
kodu

Kod: Tümünü seç

y:= (x-y)
olarak yaptım programı çalıştırıyom
12 - 10
dediğimde bana -2 sonucunu veriyor
tekrar -2 - 5 dediğmde 7 sonucunu veriyor artılar eksi
eksiler atı oluyor.
aynı kodu toplama işlemine uyguladım
takır takır çalışıyor
ama çıkarmada sorun var
type
Tform1 = class(Tform)
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Eğer çıkartma işleminde tam sayı olarak netice almak istiyorsan 2 değer arasında karşılaştırma yap hangisi hangisinden büyük ona bak ona göre çıkart :wink:


Kolay Gelsin...

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

Mesaj gönderen true_false »

husonet abi
bu devemlı gerçekleşecek bir durum yani çıkarma işlemi hep olacak bir (hesap makinesi)
sonuçlar artıda çıkar ekside
ama sorun doğru yerde eksi çıkması eğer karşılaştırma yapmaya kalkarsam program mantığından uzaklaşır. teşekkür ederim
type
Tform1 = class(Tform)
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

true_false yazdı:y değer vermiyorum
y değer vermeden nasıl y yi çıkarmada kullanıyorsun.

Kod: Tümünü seç

y:=(x-y);
satırında y de bir değer varmı yokmu?
eğer y de bir değer yoksa ne oluyor :?: :?: :?:
o satıra breakpoint koy(f5 ile) programı çalıştır. o satıra gelince program duracaktır. fare ile x ve y nin üzerine gel bakalım sana değerlerini gösterecektir. ona göre x vey nin değerlerini kontrol et.
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

Mesaj gönderen true_false »

y değerine sonuç atıyorum
ard arda çıkarma yapacağım için m_gir.text 'i x 'e atıyorum eşittir' bastığım zaman y değerini basıyorum yani sonuç y olacak
y'de 0 var
x'e 12 girdim
y = 12 - 0 =12
tekrar çıkarma için bir rakam yazdığımda mesela m_gir.text ' 5 girdiğimde
(x 5 oluyor)
y:=(12 - 5 )=7 olcak devam edecek burda mantığım bu ama sayılar girildiğinde daha öncede yazdığım gibi artılar eksi eksiler artı oluyor
illede break point koymamı istersen işte sonuçar
y:=(x-y);yazdım
12 yazdım
x'de 12 var
y'dede 12 var

çıkarma butonuna bastım 5 yazdım

x'de 5 var
y de -7 oldu

y:= (y-x) yazdığımda
y 0 olduğu için yazdığım ilk değer (0-12) y de -12 oluyor ve saçmalamaya başlıyor
teşekkürler.
type
Tform1 = class(Tform)
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Kodunuzu Tam olarak verirmisiniz?

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

Mesaj gönderen true_false »

hocam hangi kodu istiyorsun yukarıda çıkarma kodlarını verdim tam olarak anlıyamadım
type
Tform1 = class(Tform)
Kullanıcı avatarı
husonet
Admin
Mesajlar: 2962
Kayıt: 25 Haz 2003 02:14
Konum: İstanbul
İletişim:

Mesaj gönderen husonet »

Buton click eventindeki kodları? Sizin yaptığınız şekilde deniyecem!

Gazete manşetleri
* DİKKAT :Lütfen forum kurallarını okuyalım ve uyalım...!
* Warez,crack vs. paylaşımı kesinlikle yasaktır.
Kullanıcı avatarı
aslangeri
Moderator
Mesajlar: 4322
Kayıt: 26 Ara 2003 04:19
Konum: Ankara
İletişim:

Mesaj gönderen aslangeri »

true_false yazdı:y:=(x-y);yazdım
12 yazdım
x'de 12 var
y'dede 12 var

çıkarma butonuna bastım 5 yazdım

x'de 5 var
y de -7 oldu
tamam doğru yapıyor ozaman
x=5 ; y=12;
x-y=5-12=-7
doğru değilmi?
Duyduğun Şeylerin Söylediklerim Olduğuna Eminim Ama
Anladığın Şeylerin Anlatmak İstediklerim Olduğuna Emin Değilim
true_false
Üye
Mesajlar: 401
Kayıt: 22 Tem 2004 02:03
Konum: sıkıntı çekmişlere yakın bi yerden

Mesaj gönderen true_false »

emeklerinizden dolayı sağolun
size cevap yazarken aklıma geldi ilk değer y hep sıfır olduğu için bunun kontrolünü yapmam gerekiyordu ve birnebze olsada hallettim
işte kod

Kod: Tümünü seç

 begin
           if ilk then
             begin
             Memo1.Lines.Add(m_gir.Text+'-');
             x:= StrToFloat(m_gir.Text);
             y:= (y-x);
             islem:=2;
             Memo1.Lines.Add(FloatToStr(y));
             end else
               begin
               memo1.Lines.Add(m_gir.Text+'-');
               y:=StrToFloat(m_gir.Text);
               m_gir.Clear;
               ilk:=True;
               end;
             end;
hepinize çok teşekkür ederim.
ilk değerini formun createsinde false ediyorum.
type
Tform1 = class(Tform)
Cevapla