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.
Umarım işinize yarar, bir sonraki makalede görüşmek üzere :)