Asp ile güncel döviz kurlarını almak çok basittir. Aşağıdaki fonksiyon ile döviz kurlarını sayfamızda istediğimiz yere yazdırabiliriz.
<% ' Güncel döviz bilgisi Set kurlar = Server.CreateObject("msxml2.DOMDocument" ) kurlar.async = false kurlar.resolveExternals = false kurlar.setProperty "ServerHTTPRequest" ,true kurlar.load("http://www.tcmb.gov.tr/kurlar/today.xml" ) Set sonuc =kurlar.getElementsByTagName("Currency" ) USDA=sonuc.item(0).childnodes.item(3).nodeTypedValue USDS=sonuc.item(0).childnodes.item(4).nodeTypedValue EURA=sonuc.item(3).childnodes.item(3).nodeTypedValue EURS=sonuc.item(3).childnodes.item(4).nodeTypedValue Function EditCurrency(strCurrency) EditCurrency = Replace(strCurrency, "." , "," , 1, -1, 1) End Function %>
Yukarıdaki kod ile Merkez Bankasının sitesinden döviz kurlarını aldık.
Sayfamıza yazdırmak için ise :
Dolar Alış : <%=EditCurrency(USDA)%> Dolar Satış :<%=EditCurrency(USDS)%> Euro Alış : <%=EditCurrency(EURA)%> Euro Satış : <%=EditCurrency(EURS)%>
37 yorum
Merhaba
Include ettiğim zaman Function EditCurrency(strCurrency) satırında neden hata verir ? Normal olarak çalışmakta
include etmeyin. Kodları döviz kurlarının çıkmasını istediğiniz yere aynen yapıştırın.
merhabalar makaleniz için teşekkürler ancak ekstra bir şey yapamaz mıyız buna, mesela artış oldugunda artış var veya düştüğünde düştü yazan bir label eklemek istersek onu nasıl yapabiliriz ? şimdiden teşekkürler.
Onu da şöyle yapabilirsiniz :
döviz kurları merkez bankası tarafından her gün 15:30 da güncellenmekte. Veritabanında döviz kurları için bir tablo açın , dün ve bugün diye alan açın. her gün için veritabanını otomatik güncellesin .
kayıtları çekerken de dün ile bugünkü kurları karşılaştırıp , düşük mü yüksek mi olduğunu bulabilirsiniz. Mantığı genel olarak bu şekilde. Vaktim olursa kod olarak da yazarım ilerde.
kardeş diğerlerinide yazarmısın ya sterlin falan
Sterlin için
GBPA=sonuc.item(12).childnodes.item(3).nodeTypedValue
GBPS=sonuc.item(12).childnodes.item(4).nodeTypedValue
Ellerine sağlık faydalı…
merhaba kodlama işini bilmediğim için yazıyorum kusura bakmayın. verdiğiniz kodları aynı sayfaya mı yapıştıracağız ve uzantıları ne olacak daha detaylı bilgi verirseniz sevinirim. teşekkürler.
aynı sayfaya yapıştırabilirsiniz.
Enver Bey Merhaba
Sorunu Şöyle çözdüm:
Kodu da aşağıya yazıyorum.. ilgilenen olursa aynen kullanabilsin diye … Teşekkürler…
Bu Kod Tam sayıdan sonra 2 basamak yazdırıyor…
//Yukarıdaki kod 775 doları günlük kurdan hesaplar ve virgülden sonra 2 basamak alıp ekrana basar…
Asp Tagı ac
=Round(EditCurrency(USDS),2)*775
Asp Tagı Kapat
Merhabalar, bu kod yaklasık 3 yıldır calısıyordu, Fakat 2 gündür hata veriyor.
hata satırı : Object required: ‘sonuc.item(…)’
sizce ne olabilir.
Çok eski bir kod bu. Merkez bankası sayfayı güncellemiş olabilir.
Microsoft VBScript runtime error ‘800a01a8’
Object required: ‘sonuc.item(…)’
Bu hata neden olabilir. 2 gün önce olmuyordu.
Enver bey merhaba,
Yukarıdaki kodu aynen yapıştırıp çalıştırmak istedim.
8nci satırda hata veriyor :
Microsoft VBScript runtime error ‘800a01a8’
Object required: ‘sonuc.item(…)’
/kurtest.asp, line 8
Kod ise şöyle :
Dolar Alış :
Dolar Satış :
Euro Alış :
Euro Satış :
Enver Bey çok teşekkür ederim. İstediğim döviz bilgilerini çekebiliyorum sayenizde elinize sağlık.
Veriler TCMB de 2.2770 iken bu kod ile 2.277 olarak gelmektedir.
kod sondaki 0 ları iptal ediyor bu sorunu nasıl aşabiliriz.
FormatCurrency fonksiyonunu kullanabilirsiniz.
örnek FormatCurrency(2.2770)
Teşekür ederim kardeşim.Ellerine sağlık siteme ekledim.Güzel bir çalışma yapmışsın 😉
teşekkür ederim. Yardımcı olabildiysem ne mutlu bana 🙂
Merhabalar,
Aşağıdaki hatayı alıyorum. İlginize şimdiden teşekkürler
Microsoft VBScript compilation error ‘800a0400’
Expected statement
/www.asp, line 5
02 Set kurlar = Server.CreateObject(“msxml2.DOMDocument” )
^
02 nerden geliyor? kodları kopyalarken solundaki numaraları da kopyaladınız sanırım. kodların solundaki 01,02,03 vs numaraları silip öyle deneyin.
Bu işlemi yapıp aldıgımız veri nasıl veritabanına yazbiliriz
şu makalemde insert işlemini anlatmıştım. İnceleyebilirsiniz
http://www.eyurtsever.com/index.php/asp-ile-veri-ekleme-duzenleme-silme-islemleri
Teşekkür ederim problemi hallettim sayenizde
Merhaba,
Kodu aynen yapıştırdım.
Ancak, 8nci satırda hata alıyorum
Microsoft VBScript runtime error ‘800a01a8’
Object required: ‘sonuc.item(…)’
/kurtest.asp, line 8
Dolar Alış :
Dolar Satış :
Euro Alış :
Euro Satış :
Enver Bey merhaba diğer döviz bilgilerinide almak için sterlin örneğindeki gibi aynı teknikle çoğaltarak alabilirmiyiz, daha doğrusu ayn yöntemle isveçre frangınıda almak istedim ama rus rublesini çekti
CHFA=sonuc.item(5).childnodes.item(3).nodeTypedValue
CHFS=sonuc.item(5).childnodes.item(4).nodeTypedValue
Bu kodun isviçre frangını getirmesi gerek. Deneyebilir misiniz?
Çok teşekkürler. İsviçre frangını getiriyor. O zaman aynı teknikle istediğimiz ülkenin birimini çekmek mümkün doğrumu? Ayrıca birşey sormak istiyorum. 0 , 11, 12, 5 rakamları neye göre tespit ediliyor. http://www.tcmb.gov.tr/kurlar/today.xml adresindeki satır numarasımı yoksa
Aynen öyle. childnodes xml’deki satırları ifade ediyor. Satıra göre istediğiniz döviz kurunu çekebilirsiniz
Bilgilendirme için çok teşekkürler…
Çok işimize yarayacak bir paylaşım…
Saygılarımla,
Olcayto Akkoyunlu
Merkez bankası döviz kurlarını verdiği XML dosyasında sanki değişiklik var,
bu koda artık hata dönüyor.
msxml3.dll hata ‘80070005’ erişim engellendi.
yardımlarınızı bekleriz, sevgiler.
Sıkıntı yok, denedim çalışıyor.
Microsoft VBScript runtime error ‘800a01a8’
Object required: ‘sonuc.item(…)’
aynı şekilde ben de hata alıyorum. bugün başladı.
Enver Bey Merhaba
Sitienizdeki bilgiyi faziletturizm.com sitesine uyarlamaya çalıştım Riyal fiyatını TL ye çevirip yazdırmak istiyorum. Siteye uyarladım kodunuzu fakat bazen TL fiyatını yazdırdıktan sonra virgülden sonra 3 basamak geliyor. Ben en fazla 2 basamak yada rakamı yuvarlayıp yazdırmak istiyorum bunu başaramadım çok fazla asp bilgim de yok bu konuda nasıl yardımcı olabilirsiniz.. bir kod varmı acaba siteye uyarlayabileceğim
Teşekkürler
Mustafa Çalışkan
FormatCurrency metodunu araştırıp yapabilirsiniz.
Çok başarılı, teşekkür ederim