pillinetwork hesabınızla giriş yapın.

Siteniz için Online Döviz Kuru

Merhabalar, Günümüzde belki'de en çok yaptığımız uygulamalardan biriside döviz kuru'dur. Bende bu uygulamayı yaptım. Ancak problemler ortaya çıktı. IMKB ara sıra yayınlamayı kesiyordu. Sitede hatalar meydana geliyordu. Bu problemlerden ötürü site hiç çalışmıyordu. Haliyle site yayından kaldırılıyor ve otomatik olarak app_offline.html ekleniyor ve site yayından çekiliyordu. Bu problemlerin önüne geçebilmek adına farklı bir uygulama yaptım.
1-) IMKB sitesi ile bağlantı oluşturuluyor ve XML dosya okunuyor
2-) IMKB ile bağlantı varsa
a-) XML dosya okunuyor
b-) Okunulan bilgiler projemde oluşturduğum XML dosyaya kayıt ediliyor.
c-) IMKB sitesinde okunulan bilgiler sitede gösteriliyor
d-) işlem sonlandırılıyor.
3-) IMKB ile bağlantı yoksa
a-) En son kayıt edilen Projemde ki XML dosya okunuyor
b-) Okunulan bilgiler sitede gösteriliyor
c-) Proje sonlandırılıyor.
evet yukarıdaki işlemleri şimdi birde kod kısmına dökelim :) ilk olarak bir dosya oluşturalım (Tercihim User Control oluşturmanızdan yanadır)
aspx.cs dosyası

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
using System;
using System.Data;
using System.Web;
using System.Xml;
using System.IO;
using DataComments;
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
Doviz();
}
}
string dolarA, euroA;
public void XmlAl()
{
try
{
TextWriter tw = new StreamWriter(Server.MapPath("~/TempFile/Doviz.xml"));
tw.WriteLine(DataComment.Datas("http://www.tcmb.gov.tr/kurlar/today.xml").ToString());
tw.Close();
}
catch { }
}
public void Doviz()
{
FileStream fls;
try
{
fls = new FileStream("http://www.tcmb.gov.tr/kurlar/today.xml", FileMode.Open);
XmlAl();
}
catch
{
fls = new FileStream(Server.MapPath("~/TempFile/Doviz.xml"), FileMode.Open);
}
XmlTextReader okuyucu = new XmlTextReader(fls);
XmlDocument dokuman = new XmlDocument();
dokuman.Load(okuyucu);
XmlNode dolar = dokuman.SelectSingleNode("/Tarih_Date/Currency[CurrencyName='US DOLLAR']");
XmlNode euro = dokuman.SelectSingleNode("/Tarih_Date/Currency[CurrencyName='EURO']");
_Dolar.Text = double.Parse(dolar.ChildNodes[4].InnerText, new System.Globalization.CultureInfo("en-US")).ToString();
_Euro.Text = double.Parse(dolar.ChildNodes[4].InnerText, new System.Globalization.CultureInfo("en-US")).ToString();
okuyucu.Close();
}

aspx sayfası

1
2
<asp:label id="_Dolar" runat="server" text=""></asp:label> TL
<asp:label id="_Euro" runat="server" text=""></asp:label> TL

ve birde projemize class dosyası verelim ve adını da wDataRead koyalım. İçeriği de aynen aşağıdaki gibi olsun

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
namespace wDataRead
{
public class DataRead
{
public static string Datas(string U)
{
Uri S = new Uri(U);
WebRequest Wreqst = WebRequest.Create(S);
WebResponse Wrespns = Wreqst.GetResponse();
Stream Stm = Wrespns.GetResponseStream();
StreamReader Stmrdr = new StreamReader(Stm, Encoding.GetEncoding("windows-1254"));
U = Stmrdr.ReadToEnd();
return U;
}
}
}

projemiz bitti. Herkes istediği gibi kullanabilir umarım :) Bu uygulama biraz daha geliştirilebilir. Mesela outputcache kullanılarak her saat başı verilerin çekilmesi sağlanır. Böylelikle projenizi daha az kasmış olur.

Saygılarımla
Halit ÇOLAK.

Spacer
Spacer
/* HLTSofTiNG yazdı. 14 Şubat 2012 13:35. 13 yorum var */

Yorumlar

isterseniz buradaki altın ve döviz için olan kodları sitenize ekleyerek bu işi daha kolayca halledebilirsiniz. Hatta sadece tcmb ile sınırlı değil istediğiniz banka veya kapalı çarşı, altınkaynak gibi serbest piyasa değerlerini bile alabilirsiniz.

video izle teşekkürler eklenti için

bu modülün php versiyonunu yayınlayabilme imkanınız varmıdır acaba?

Gerçekten PHP olarak yayınlamak isterdim ancak ne yazık ki PHP bilgim bu kadar yeterli değil. Kusuruma bakmayın

Selamlar,

/* HLTSofTiNG Devoloper. */

yinede teşekkür ederim cevabınız için umarım ilerki zamanlarda oda olur .

Gerçekten ilginç, ama dikkatimide çekti hoş...

güncel blog

/* http://www.teklinkindir.biz/ http://www.drugrehabx.net/ http://www.karpuzmedya.com/ */

teşekkürler.

güzel olmuş teşekkürler

Selamlar. PHP versiyonu şöyle oluyor :


// kurları bu satırda seçiyoruz :
$tcmbCurrencies = array('TRY','USD','EUR','GBP');


$tcmbRates = array();
$tcmbRates['TRY'] = 1;
$xml = get_data('http://www.tcmb.gov.tr/kurlar/today.xml');
$currencies = simplexml_load_string($xml);
foreach ($currencies->Currency as $currency) {
$code = (string)$currency->attributes()->CurrencyCode;
$unit = (string)$currency->Unit;
$rate = (float)$currency->ForexSelling;
if (in_array($code,$tcmbCurrencies)) {
$rate = $unit*$rate;
$tcmbRates[$code] = $rate;
}
}

// değerleri burada yazdırıyoruz :
print_r($tcmbRates);



// basit bir curl fonksiyonu, görevi tcmb'den kur değerlerini içeren xml'i çekmek
function get_data($url) {
$ch = curl_init();
$timeout = 5;
curl_setopt($ch,CURLOPT_URL,$url);
curl_setopt($ch,CURLOPT_RETURNTRANSFER,1);
curl_setopt($ch,CURLOPT_CONNECTTIMEOUT,$timeout);
$data = curl_exec($ch);
curl_close($ch);
return $data;
}

$tcmbRates array'inden istediğiniz kurun değerini çekiyorsunuz. Örneğin USD için değer : $tcmbRates['USD'] oluyor. number_format ya da round'la da son rötuşu veriyorsunuz.

üye olunpillinetwork sitelerine yorum ekleyebilmek ve daha fazlası için, üye olun ya da giriş yapın.

İlgili Yazılar

Bu yazıyı rapor et. Kural dışı içeriğe rastladığınızda editörlerimize rapor ederek müdahale edilmesini sağlayabilirsiniz. (Hangi durumlarda rapor edebilirim?)

Bu site

Nokta ve pilli ortak yapımı olan kodaman.org kolektif bir kod yazarları blogudur. Siz de katılabilirsiniz.

son yorumlar

arama

pillinetwork