Merkez bankazı xml den döviz kuru alırken..

Delphi'de kod yazma ile ilgili sorularınızı bu foruma yazabilirsiniz.
Cevapla
serkan
Üye
Mesajlar: 666
Kayıt: 10 Tem 2003 12:08
Konum: bursa

Merkez bankazı xml den döviz kuru alırken..

Mesaj gönderen serkan »

selam arkadaşlar merkez bankasının web sitesinden döviz kurlarını alıp memory tabloya yazdırıyorum bunda problem yok ancak.
alış,satış fiyatları string olarak geliyor örneğiş USD: 1.165 gibi fakat beni databasede bunu double olarak saklamam lazım bunu bir türlü double veya floata çeviremedim.nasıl bir yol izlemeliyimki 1.165 gibi bir stringi double olarak kaydedeyim..
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Mesaj gönderen White Rose »

tablealani.value:=strtofloat(Text_degeri);
serkan
Üye
Mesajlar: 666
Kayıt: 10 Tem 2003 12:08
Konum: bursa

Mesaj gönderen serkan »

onu denemiştim...
1.165 is not a valid floating point value diye uyarı veriyor.

xml deki alan tipi string değil widestring miş..ayrı bir fonksiyonmu var acaba..
Kullanıcı avatarı
White Rose
Üye
Mesajlar: 726
Kayıt: 06 Tem 2005 09:41
Konum: Güneyden
İletişim:

Mesaj gönderen White Rose »

o zaman çeviriden önce rakamların içindeki noktayı temizlemeniz(atmanız) lazım.
serkan
Üye
Mesajlar: 666
Kayıt: 10 Tem 2003 12:08
Konum: bursa

Mesaj gönderen serkan »

formun oncreate olayına

Kod: Tümünü seç

DecimalSeparator:='.';
eklediğimde oldu..bunu logodan xml'le bilgi alırkende kullanmıştım neden aklıma gelmedi.. :shock:

teşekkürler
PROGRAMADOR
Üye
Mesajlar: 239
Kayıt: 04 Oca 2008 01:53
Konum: Karşıyaka/İzmir

Mesaj gönderen PROGRAMADOR »

Text_degeri:=StringReplace(Text_degeri,'.',',',[RfReplaceAll]);
tablealani.value:=strtofloat(Text_degeri);
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

PROGRAMADOR yazdı:Text_degeri:=StringReplace(Text_degeri,'.',',',[RfReplaceAll]);
tablealani.value:=strtofloat(Text_degeri);
decimal separator kullanımı bu işlemi gereksiz kılıyor. kısaca hız ve performans açısından daha verimli. ayrıca windows standartı kod yazmayıda kolaylaştırıyor.

sizin örneğinizde yazdığınız kod ABD de bir bilgisayarda çakılıp kalabiliyor. çünkü sonuçta elde edilen değer orası için uygun bir float değil
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
PROGRAMADOR
Üye
Mesajlar: 239
Kayıt: 04 Oca 2008 01:53
Konum: Karşıyaka/İzmir

Mesaj gönderen PROGRAMADOR »

ikutluay yazdı:
PROGRAMADOR yazdı:Text_degeri:=StringReplace(Text_degeri,'.',',',[RfReplaceAll]);
tablealani.value:=strtofloat(Text_degeri);
decimal separator kullanımı bu işlemi gereksiz kılıyor. kısaca hız ve performans açısından daha verimli. ayrıca windows standartı kod yazmayıda kolaylaştırıyor.

sizin örneğinizde yazdığınız kod ABD de bir bilgisayarda çakılıp kalabiliyor. çünkü sonuçta elde edilen değer orası için uygun bir float değil
Neden çakılsın anlamadım. Float türü delphi'de virgül ile ayrılıyor. Bilgisayara özgü bir şey değil ki.
ikutluay
Üye
Mesajlar: 2341
Kayıt: 03 Tem 2007 10:13

Mesaj gönderen ikutluay »

delphi windowsta ne tanımlı ise onu kullanıyor.
Kişi odur ki, koyar dünyada bir eser. Eseri olmayanın yerinde yeller eser./Muhammed Hadimi
http://www.ibrahimkutluay.net
http://www.ibrahimkutluay.net/blog
PROGRAMADOR
Üye
Mesajlar: 239
Kayıt: 04 Oca 2008 01:53
Konum: Karşıyaka/İzmir

Mesaj gönderen PROGRAMADOR »

ikutluay yazdı:delphi windowsta ne tanımlı ise onu kullanıyor.
Bilgi için çok teşekkür ederim.
Cevapla