Döviz Kurları


Eklenti: Alttaki çalışmayı Özkan arkadaşımız geliştirerek tüm döviz kurlarını içine alacak şekle getirmiştir.Çalışmasını sayfama ekleme izni verdiği için kendisine çok teşekkür ederim. Lütfen sayfanın altındaki örneği indirmeyi unutmayınız.

--------------------------------------------------------------------------------------------------------------------------------

Flash-mx versiyonuyla beraber güvenlik nedeni ile Flash bazı uygulama kısıntılarına başladı.Txt dosyasına veri yazmak, bir exe dosyasını doğrudan çalıştırmak gibi.Benzer kısıtlamalar başka bir serverdaki veri içeren asp,php,xml veya txt gibi dosyaların flash içine alınmasında da uygulandı.Hatta daha ileri gidilerek başka bir serverdaki swf dosyasının yüklenmesinde engellemeler yapıldı.

Bir html sayfasına bu tür dosyaları yükleyerek hava durumu, döviz kurları rahatlıkla görüntülenirken flash programının kısıtlamaları nedeni ile swf dosyasında küçük bir hileye başvurulmak zorunda kalınmıştır.

Aşağıdaki uygulamada flash içinden önce php dosyası çalıştırılıp http://www.tcmb.gov.tr/kurlar/today.xml adresindeki veriler kendi serverımızdaki bir xml dosyasına yazdırılmaktadır.Burada flash dosyasına bir yükleme yapılmadığından sorun çıkmamaktadır. Şimdi serverımızdaki güncel değerleri içeren xml dosyası flash içine yüklenip veriler dinamik metin kutularında kolaylıkla görüntülenebilir.Çünkü xml dosyası başka bir serverda değil artık kendi serverımızdadır.

DOSYAYI İNDİR

Uygulama:

Burada uygulamanın detaylarından bahsedilmeyecektir. Asıl işlemi php dosyası yapmaktadır. Flash`ın yaptığı şey xml dosyasını yüklemek verileri ayrıştırarak dinamik metin kutlarına yazdırmaktan ibarettir.

Örnekte gördüğünüz gibi sadece dolar,euro ve sterlin görüntülenmektedir. Diğer para birimlerini de görüntülemek istiyorsanız indirdiğiniz xml,php ve flash dosyasında bazı değişiklikler yapmalısınız.

XML dosyamızın içeriği şöyledir:

<?xml version="1.0" encoding="iso_8859-9"?>
<menu>
<item al="" sat="">
</item>
<item al="" sat="">
</item>
<item al="" sat="">
</item>
</menu>

Dikkat ettiyseniz alış ve satış değerleri boştur. Burada php dosyası önce çalıştırılarak güncel veriler yazdırılacak daha sonra flash içine alınacaktır.Üç eleman görüyorsunuz. İlki dolar, ikincisi euro üçümcüsü sterlin değerlerini alacaktır. 4. eleman eklemek istiyorsak ek bir item yazmamız gerekecektir.Örneğin Kanada doları eklemeyi planlayalım.Xml dosyamızı alttaki gibi değiştirmeliyiz:

<?xml version="1.0" encoding="iso_8859-9"?>
<menu>
<item al="" sat="">
</item>
<item al="" sat="">
</item>
<item al="" sat="">
</item>
<item al="" sat="">
</item>
</menu>

Gördüğünüz gibi yapılan tek eklenti

<item al="" sat="">
</item>

şeklindedir.Şimdi php dosyamızı açalım. Dosya girişinde bu php kodunu yazan 2 arkadaşımızın adını göreceksiniz.Kendilerine çok teşekkür ediyorum:

<?php
// php ile doviz kuru
// e : bugrakaan[@]gmail.com
// edit : goktug.ozturk[@]hurbilisim.com

$currency = array(
"USD" => "",
"EUR" => "",
"GBP" => "",

"CAD" => "",
);

$convert = array( "isim" => "I",
"forexbuying" => "A",
"forexselling" => "S",

);

$content = file_get_contents( "http://www.tcmb.gov.tr/kurlar/today.xml" );
echo $content;
foreach( $currency as $code => $arr )
{
preg_match( "'<currency Kod=\"(" . $code . ")\".*>(.*)</currency>'Uis", $content, $crst );
foreach( $convert as $field => $value )
{
preg_match( "'<" . $field . ">(.*)</" . $field . ">'Uis", $crst[2], $frst );
$currency[$code][$value] = $frst[1];
}
}

$baslik = "<?xml version=\"1.0\" encoding=\"iso_8859-9\"?><menu>";
$kapatag = "</menu>";

$dolar = "<item al=\"".$currency['USD']['A']."\" sat=\"".$currency['USD']['S']."\">"."</item>";

$euro = "<item al=\"".$currency['EUR']['A']."\" sat=\"".$currency['EUR']['S']."\">"."</item>";

$pound = "<item al=\"".$currency['GBP']['A']."\" sat=\"".$currency['GBP']['S']."\">"."</item>";

$kanadadolar = "<item al=\"".$currency['CAD']['A']."\" sat=\"".$currency['CAD']['S']."\">"."</item>";

$sonuc = $baslik.$dolar.$euro.$pound.$kanadadolar.$kapatag;

$fp = fopen ("kurlar.xml", "w+");
fwrite($fp,$sonuc);
fclose($fp);
if ($fp) {
echo '&faultCode=0&';
} else {
echo '&faultCode=1&';
}

Kırmızı renkle yazılmış üç dizin görüyorsunuz.Bu üç dizin Kanada dolarının flash içinde görülmesini sağlayacaktır.

"USD" => "",
"EUR" => "",
"GBP" => "",

"CAD" => "",
);

Php dosyasındaki yukarıdaki para birimlerinin kodları doğru girilmelidir. Bu kodlar merkez bankası döviz kurlarındaki kodlardır ve hatalı giriş yapılırsa sonuç okunamayacaktır.CAD kanada doları kodudur.Şayet başka para birimlerini de görüntülemek istiyorsanız yukarıdaki gibi eklentileri yapmalısınız.Peki bu kodları nerede bulacağız.

Üstteki resimde gördüğünüz gibi sol tarafta döviz kodları yazılmaktadır. Bunun için:

http://www.tcmb.gov.tr/kurlar/today.xml

adresine tıklayıp değerlere ulaabilirsiniz.

$kanadadolar = "<item al=\"".$currency['CAD']['A']."\" sat=\"".$currency['CAD']['S']."\">"."</item>";Bu php dosyasına yapılan ikinci eklenti döviz alış satış değerlerini xml dosyasına yazdırmak için gereklidir.

$kanadadolar. bu eklenti sonuc kısmına yapılır.Sonuc değerleri okutularak flash içine yazılmaktadır.

Son işlem flash dosyasında yapılacaktır.Flash dosyanızı açtığınızda 2 li sıra halinde 3 dinamik kutusu mevcut. Dolara ait olan dinamik metin kutularının ismi a0 ve s0 dır.Euro`nun a1 ve s1 Sterlin`in a2 ve s2 dir.Kanada doları için alta yanyana 2 dinamik metin kutusu çizin,ilkine a3 yanındakine s3 ismini atayın.Şimdi sahnede 8 dinamik metin kutusu var.Soldakiler a0,a1,a2,a3 sağdakiler s0,s1,s2,s3 instance name`ine sahiptir.Başka eklentiler yapacaksanız bu sırayı takip etmelisiniz.Görsel eklenti bu kadar. Şimdi kodlara küçük bir eklenti yapmanız gerekiyor:

Ana timeline da 30.karedeki kodları açın. En sonda şu kod grubunu göreceksiniz:

var giris=3
function yazdir () {
for (k = 0; k < giris; k++) {
kutua="a"+k;
kutus="s"+k;;
_root[kutua].text=alis[k];
_root[kutus].text=satis[k];
}
}

Buradaki 3 değeri dolar,euro ve sterlin içindir.Biz dördüncü değer olan kanada dolarını eklediğimiz için dizideki 4.değeri alabilmeniz için giriş değerini 4 yapmalısınız.Yani kaç adet para birimi görüntüleyecekseniz o değeri buraya yazmalısınız.

Bu işlemleri her para birimi için ayrı ayrı yaparak tüm döviz kurlarını görüntüleyebilirsiniz. Son bir uyarı yapmakta yarar var.Bazı serverlarda xml dosyasına yazma için izin vermeniz gerekebilir. Yukarıdaki işlemleri hatasız yapmanıza rağmen görüntülemeyi sağlayamıyorsanız serverınızdaki xml dosyasına yazma izni vermelisiniz. Bunun için kurlar.xml dosyasının CHMOD değerini 777 olarak ayarlamalısınız. CHMOD ayarlaması için:(SmartFTP)

SmartFTP ile serverınıza bağlanarak kurlar.xml dosyanızın üzerine sağ klik yapın.Buradan Properties/CHMOD kısmını tıklayın:

Açılan panelden:

permission alanını 777 yapmak için yukarıdaki gibi ilgili kutucukları işaretleyip okeyleyin. Bu ayarlama yazma iznini sağlayacaktır.

------------------------------------------------------------------------------------------------------------------------------------

Özkan Arkadaşımızın Çalışması

 

DOSYAYI İNDİR