Döviz Kuru Bilgilerini Alma

Bu makale; sitesinde döviz kuru bilgilerini göstermek isteyenler içindir.

Bundan bir kaç yıl önce döviz kuru bilgilerini flash ile göstermek modaydı, veya insanlar çeşitli sitelerden hazır kodları kullanıyorlardı bu da istemediğiniz bir yerinde reklam barındırması demek oluyordu. Artık akıllı telefonlarda flash uygulamaları desteklenmediği için bunu daha geçer yöntemlerle yapmamız gerekir.

Nasıl yapacağız sorusunun cevabı elbette xml ile.

Xml ile online olarak döviz kurlarını T.C. Merkez Bankası 'ndan çekebiliriz. Günlük olarak güncellenen bu adreste tüm döviz kurları yayınlanmaktadır.

Tüm aşağıdaki kodları nereye nasıl yazacağını bilmeyenler; Sayfanın el altında Döviz Kurları projesini indirebilirsiniz ve ayrıca demo görünümüne de bakabilirsiniz.

İlk olarak bir class oluşturacağız ki daha sonra da bu kodları hızlıca kullanabilelim. DovizKurlari.cs isimli bir class oluşturup aşağıdaki gibi düzenleyin.

Class'ın en üst kısmına

using System.Xml;

kodunu ekleyin ve içeriğini aşağıdaki gibi düzenleyin

public class DovizKurlari
{
    XmlDocument xml = null;
    const string adres = "http://www.tcmb.gov.tr/kurlar/today.xml";

    public enum KurKodu : byte
    {
       USD, CAD, DKK, SEK, NOK, CHF, JPY, SAR, KWD, AUD, EUR, GBP, IRR, SYP, JOG, BGL, ROL, ILS,
    }

    public enum Tur : byte
    {
       ForexBuying, //Döviz alış
       ForexSelling, //Döviz satış
       BanknoteBuying, //Efektif alış
       BanknoteSelling, //Efektif satış
    }

    public DovizKurlari()
    {
       xml = new XmlDocument();
       xml.Load(new XmlTextReader(adres));
    }

       public string TlKarsiligi(KurKodu kodu, Tur turu)
    {
       string kod = kodu.ToString();
       string tur = turu.ToString();

       XmlNodeList MyNode = xml.SelectNodes("/Tarih_Date/Currency[@Kod ='" + kod + "']/" + tur);

       return MyNode.Item(0).InnerText;
    }
}

Class'ımızı oluşturduk. Bir tane default.aspx ekleyin. Page.Load olayına;

protected void Page_Load(object sender, EventArgs e)
{
    DovizKurlari dk = new DovizKurlari();

    NumberFormatInfo nfi = new NumberFormatInfo();
    nfi.CurrencyDecimalDigits = 4;
    nfi.NumberDecimalSeparator = ".";
    nfi.NumberGroupSeparator = ",";
    nfi.NumberGroupSizes = new int[] { 3 };

    double usdAlis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.USD, DovizKurlari.Tur.ForexBuying), nfi);
    double usdSatis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.USD, DovizKurlari.Tur.ForexSelling), nfi);
    double eurAlis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.EUR, DovizKurlari.Tur.ForexBuying), nfi);
    double eurSatis = Convert.ToDouble(dk.TlKarsiligi(DovizKurlari.KurKodu.EUR, DovizKurlari.Tur.ForexSelling), nfi);

    lblUSDAlis.Text = string.Format(usdAlis.ToString(nfi)) + " TL";
    lblUSDSatis.Text = string.Format(usdSatis.ToString(nfi)) + " TL";
    lblEURAlis.Text = string.Format(eurAlis.ToString(nfi)) + " TL";
    lblEURSatis.Text = string.Format(eurSatis.ToString(nfi)) + " TL";

    lblTarih.Text = DateTime.Now.ToShortDateString();
}

kodlarını ekleyin.

Html kısmına da 4 tane label ekleyip ID özelliklerini lblUSDAlis, lblUSDSatis, lblEURAlis, lblEURSatis olarak ayarlayın. Projeyi build edip F5 ile çalıştırdığınızda ekrana dolar ve euro bilgilerini çektiğini göreceksiniz.

Hazırladığım basit proje ile ilgili ön izleme ve indirme linkleri aşağıdadır.

Demo

Download

Umarım işinize yarar, bir sonraki makalede görüşmek üzere :)

Blog Yorumları (0 Yorum)

avatar
  1. avatar avatar

    {{comment.Name}} dedi ki

Bu makaleyi faydalı buldunuz mu?

Bu içerikle ilgili görüşleriniz önemlidir. Ne düşündüğünüzü söyleyin.

Bu makale faydalı mıydı?

Üzgünüm faydalı değil.
Bildiriminiz gönderiliyor...
Geri bildiriminiz için teşekkürler!
Gönderme sırasında hata alındı!