Ondalıklı Sayılarda Hata (Virgül hatası) Örn:50,6
Forum kuralları
Forum kurallarını okuyup, uyunuz!
Forum kurallarını okuyup, uyunuz!
Ondalıklı Sayılarda Hata (Virgül hatası) Örn:50,6
Merhaba Arkadaşlar
var
sayi1,Sayi2:integer;
begin
begin
if edit4.Text ='' then
edit4.Text:=Edit3.Text;
end;
begin
sayi1:=StrToint (Edit3.text);
sayi2:=StrToint (Edit4.text);
sayi1:=sayi1-1; // Yazılanıda Araması için
sayi2:=sayi2+1; // Yazılanıda Araması İçin
sistem.AckQuery.Close;
sistem.AckQuery.Sql.Clear;
sistem.AckQuery.sql.text:='Select * From FINSAT4'+Giris.SdkQueryKod.Text+'.ACK Where Tutar>'''+inttostr(sayi1)+''' and Tutar <''' +inttostr(sayi2)+'''';
sistem.AckQuery.Open;
end;
end;
Arkadaşlar Bu kod Düzgün çalışıyor ama tek sorunu tam sayı olmayan kayıtlarda
örn :edit1e 50 edit 2 ye 100 yazdığımda hiçbir sorun yok
ama mesela edit1 e veya edit 2 ye 50,5 yazdığımda yani ondalıklı yazdığımda hata veriyor.
Bir türlü düzeltemedim.
Sorunun tanımlamadan olduğunu düşünüyorum
Teşekkür ederim.
var
sayi1,Sayi2:integer;
begin
begin
if edit4.Text ='' then
edit4.Text:=Edit3.Text;
end;
begin
sayi1:=StrToint (Edit3.text);
sayi2:=StrToint (Edit4.text);
sayi1:=sayi1-1; // Yazılanıda Araması için
sayi2:=sayi2+1; // Yazılanıda Araması İçin
sistem.AckQuery.Close;
sistem.AckQuery.Sql.Clear;
sistem.AckQuery.sql.text:='Select * From FINSAT4'+Giris.SdkQueryKod.Text+'.ACK Where Tutar>'''+inttostr(sayi1)+''' and Tutar <''' +inttostr(sayi2)+'''';
sistem.AckQuery.Open;
end;
end;
Arkadaşlar Bu kod Düzgün çalışıyor ama tek sorunu tam sayı olmayan kayıtlarda
örn :edit1e 50 edit 2 ye 100 yazdığımda hiçbir sorun yok
ama mesela edit1 e veya edit 2 ye 50,5 yazdığımda yani ondalıklı yazdığımda hata veriyor.
Bir türlü düzeltemedim.
Sorunun tanımlamadan olduğunu düşünüyorum
Teşekkür ederim.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________
benimki sadece fikir
integer tam sayı kodunda floattostr kullansan 50,5 ondalık o yüzden.
yalınız öneriyorum ama denemedim
kolay gelsin
integer tam sayı kodunda floattostr kullansan 50,5 ondalık o yüzden.
yalınız öneriyorum ama denemedim
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Bence normaldir hata vermesi çünkü
şöle yap;
İnteger dersen integer sadece tamsayıları temsil eder.float tipinde bir sayıyı işlem gördüremezsin. kolay gelsin.
tam sayıyı temsil eder.integer
şöle yap;
Kod: Tümünü seç
var
sayi1,sayi2:currency (yada double)
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Hepsini Denedim
Yani Currencry de denemdim ama yine olmuyor.
Anlayamıyorum..
Teşkkür ederim Arkadaşlar..
Anlayamıyorum..
Teşkkür ederim Arkadaşlar..
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________
ustam saygısızlık ettik ise affola iki dakke önce sözünüzü kesmişim
kolay gelsin
kolay gelsin
Şefkat-u Merhamette Güneş Gibi Ol.
Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Başkalarının Kusurunu Örtmekte Gece Gibi Ol.
Sehavet-u Cömertlikte Akarsu Gibi Ol.
Hiddet-u Asabiyette Ölü Gibi Ol.
Tevazu-u Mahviyette Toprak Gibi Ol.
Ya Olduğun Gibi Görün Ya Göründüğün Gibi Ol.

Hata Varchar tanımıdan
Yani ben ara prog yazdığım için işlem yaptığım alan varchar tanımlı
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________
Hocam estafurullah benden hızlı hareket ,refleks meselesi. Ama benim anlamadığım olmaması
hocam currency ve double haliyle ve hatasıyla yazabişlirseniz yardımcı olcaz.normalde bu tip alanlar float tipli olmalı.o zaman veritabanından kaynaklanan bir hata.
Kod: Tümünü seç
currency,double
hocam currency ve double haliyle ve hatasıyla yazabişlirseniz yardımcı olcaz.normalde bu tip alanlar float tipli olmalı.o zaman veritabanından kaynaklanan bir hata.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Değiştirdim ama hata var
şu anki yazdığım ama hata veren kod
var
sayi1,Sayi2:currency;
begin
begin
if edit4.Text ='' then
edit4.Text:=Edit3.Text;
end;
begin
sayi1:=StrToCurr (Edit3.text);
sayi2:=StrToCurr (Edit4.text);
sayi1:=sayi1-1; // Yazılanıda Araması için
sayi2:=sayi2+1; // Yazılanıda Araması İçin
sistem.AckQuery.Close;
sistem.AckQuery.Sql.Clear;
sistem.AckQuery.sql.text:='Select * From FINSAT4'+Giris.SdkQueryKod.Text+'.ACK Where Tutar>'''+FloatToStr (sayi1)+''' and Tutar <''' +FloatToStr (sayi2)+'''';
sistem.AckQuery.Open;
end;
end;
var
sayi1,Sayi2:currency;
begin
begin
if edit4.Text ='' then
edit4.Text:=Edit3.Text;
end;
begin
sayi1:=StrToCurr (Edit3.text);
sayi2:=StrToCurr (Edit4.text);
sayi1:=sayi1-1; // Yazılanıda Araması için
sayi2:=sayi2+1; // Yazılanıda Araması İçin
sistem.AckQuery.Close;
sistem.AckQuery.Sql.Clear;
sistem.AckQuery.sql.text:='Select * From FINSAT4'+Giris.SdkQueryKod.Text+'.ACK Where Tutar>'''+FloatToStr (sayi1)+''' and Tutar <''' +FloatToStr (sayi2)+'''';
sistem.AckQuery.Open;
end;
end;
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________
çevirme işlemini olarak uygula bundan önceki mesajında varchar olarak alan demişsin alan tipini double yap o şekilde dene.hatayı yine yazmamışsın problem çözmede hatanın ne olduğunu bilmek problemiin yarınıs çözmek demek aslında.
kolay gelsin.
Kod: Tümünü seç
currtostr(sayi1)
kolay gelsin.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Hocam olmuyor
Neyi Denediysen olmadı.
Veri Tabanında tipide değiştiremiyorum
çünkü ben ara prog yazıyorum yani başka programın veri tabnında bu işlemi yapıyorum.
Hata Msj = data type varchar to numeric
Ne yaptıysam olmuyor.
Teşekkür ederim
Kolay gelsin
Veri Tabanında tipide değiştiremiyorum
çünkü ben ara prog yazıyorum yani başka programın veri tabnında bu işlemi yapıyorum.
Hata Msj = data type varchar to numeric
Ne yaptıysam olmuyor.
Teşekkür ederim
Kolay gelsin
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________
hata belli veri tipinde hata var değiştirmen lazım.değiştiremezsen nasıl olcak aklıma birşey gelmiyor.
Kod: Tümünü seç
data type to numaric
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Kamil odur ki; koya dünyada bir eser,
Eseri olmayanın, yerinde yeller eser.
***********************************
Merhaba,
aşağıdaki kod String şekilde virgüllü yada noktalı verilmiş sayıyı Double olarak geri döndürür zamanında laım olmuştu hazırda yaptığım fonksiyonu veriyorum.
kolay gelsin.
aşağıdaki kod String şekilde virgüllü yada noktalı verilmiş sayıyı Double olarak geri döndürür zamanında laım olmuştu hazırda yaptığım fonksiyonu veriyorum.
Kod: Tümünü seç
function StringToDouble(Deger: String): Double;
var
tur,Pz:Byte;
tam,SonTam,ondalik:String;
begin
tur:=0;
if pos(',',Deger)>0 then
begin
tur:=pos(',',Deger);
tam:=copy(deger,1,tur-1);
ondalik:=copy(deger,tur+1,length(deger)-tur);
pz:=Pos('.',tam);
if pz>0 then
begin
SonTam:=Copy(tam,1,pz-1);
SonTam:=SonTam+copy(tam,pz+1,Length(tam)-pz);
end else SonTam:=tam;
if ondalik<>'' then Result:=StrTOFloat(sontam+DecimalSeparator+ondalik) else
Result:=StrToFloat(sontam+DecimalSeparator+'0');
end else
begin
tur:=pos('.',Deger);
if tur=0 then Result:=0 else
begin
Tam:=copy(deger,1,tur-1);
Ondalik:=copy(deger,tur+1,Length(deger)-tur);
Result:=StrTOFloat(tam+DecimalSeparator+ondalik);
end;
end;
end;
Volkan KAMADAN
www.polisoft.com.tr
www.polisoft.com.tr
Teşekkür Ederim
Herkeze çok teşekkür ederim arkadaşlar.
Halen yapamasamda yardımlarınız için saolun.
Sorun Varsa Çözümde vardır muhakkat.
Saygılarımla
Halen yapamasamda yardımlarınız için saolun.
Sorun Varsa Çözümde vardır muhakkat.
Saygılarımla
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________
Tip değeri
Tip olarak var char tanımlı bunun nedeni ara program yazmış olmama yani bunu değiştirmemeliyim.
Volkan abi yazmış olduğun functionu kullanıcam.
Teşekkür ederim
Kolay Gelsin.
Volkan abi yazmış olduğun functionu kullanıcam.
Teşekkür ederim
Kolay Gelsin.
Gün gelecek, dilleri, elleri ve ayakları yapmış oldukları bütün kötülükleri tek tek bildirerek aleyhlerinde şahitlik edecektir. [Nur Suresi 24]
_________________
_________________