program kisir donguye giriyor sanirim ve o yuzden hata veriyor... (Stack overflow hatasi)
3 tane alanim var
TUTAR
KUR
YTL KARŞILIĞI
YTLKarsiligi = Tutar * Kur
Kur = YTLKarsiligi / Tutar
Yani $öyle dü$ünün Tutar ve Kur günlük kurlardan geldi, YTL karsilgiina Tutar * Kur otomatikman yazildi...
Eger kisi YTLkarsiligini elle degistirirse, Kur alani otomatikman degisecek yani KUR = Ytlkarsilgi / Tutar oluyor.. Ama bu isleme girince tekrar Kurun degisme islemleri gerceklesiyor ve sanirim kisir dongu olusuyor. Bunlardan nasil kurtulabilirim?.. Şimdiden çok teşekkür ederim
Kodlarim $öyle
Kod: Tümünü seç
procedure Ttahsilatfisiekle.ListeQueryIDTUTARIValidate(Sender: TField);
begin
if ListeQueryIDKUR.text <> '' then
ListeQueryYTLTUTARI.AsFloat := ListeQueryIDKUR.AsFloat * ListeQueryIDTUTARI.AsFloat;
end;
procedure Ttahsilatfisiekle.ListeQueryYTLTUTARIChange(Sender: TField);
var
ytltutari, idtutari, kur : real;
begin
if (ListeQueryIDKUR.Text <> '') and (ListeQueryIDTUTARI.text <> '') and (ListeQueryYTLTUTARI.text <> '') then
begin
ytltutari := ListeQueryYTLTUTARI.AsFloat;
idtutari := ListeQueryIDTUTARI.AsFloat;
kur := ytltutari / idtutari;
listeQueryIDKUR.AsFloat := kur;
end;
end;
procedure Ttahsilatfisiekle.ListeQueryIDKURValidate(Sender: TField);
begin
if (ListeQueryIDTUTARI.Text <> '') then
ListeQueryYTLTUTARI.AsFloat := ListeQueryIDKUR.AsFloat * ListeQueryIDTUTARI.AsFloat;
end;
procedure Ttahsilatfisiekle.ListeQueryIDKURValidate(Sender: TField);
begin
if (ListeQueryIDTUTARI.Text <> '') then
ListeQueryYTLTUTARI.AsFloat := ListeQueryIDKUR.AsFloat * ListeQueryIDTUTARI.AsFloat;
end;