Asp ile Döviz Kurları Almak

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)%>

You may also like

37 yorum

  1. Merhaba
    Include ettiğim zaman Function EditCurrency(strCurrency) satırında neden hata verir ? Normal olarak çalışmakta

  2. 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.

    1. 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.

  3. 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.

  4. 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…

  5. 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.

  6. Microsoft VBScript runtime error ‘800a01a8’

    Object required: ‘sonuc.item(…)’

    Bu hata neden olabilir. 2 gün önce olmuyordu.

  7. 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ış :

  8. Enver Bey çok teşekkür ederim. İstediğim döviz bilgilerini çekebiliyorum sayenizde elinize sağlık.

  9. 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.

  10. Teşekür ederim kardeşim.Ellerine sağlık siteme ekledim.Güzel bir çalışma yapmışsın 😉

  11. 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” )
    ^

    1. 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ış :

  12. 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

    1. 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?

      1. Ç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

  13. Bilgilendirme için çok teşekkürler…
    Çok işimize yarayacak bir paylaşım…
    Saygılarımla,
    Olcayto Akkoyunlu

  14. 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.

      1. Microsoft VBScript runtime error ‘800a01a8’
        Object required: ‘sonuc.item(…)’

        aynı şekilde ben de hata alıyorum. bugün başladı.

  15. 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

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

This site uses Akismet to reduce spam. Learn how your comment data is processed.