![]() |
| |||||||
| Oyunlar | Fan Kulüpler | Kayıt ol | Albümler | Bloglar | Arama | Bugünkü Mesajlar | Bütün Forumları okunmuş kabul et |
| Donanim Donanim, Donanım problemleri, Donanım İnceleme & Haber |
![]() |
| | Konu Seçenekleri | Modları Göster |
| | #1 | |
| . . ÀdventChiLdrén . . ★★ is Clòud !! ★★ ![]()
Mesajlar: 10.174
Teşekkür Etme: 3.707
1.396 Mesajina 3.773 Defa Tesekkur edildi
Blog Yazıları: 7
Tecrübe Puanı: 29179996 ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() | Muhasebe projeleri yazarken yaşanılan en büyük sıkıntı YTL ile diğer para birimleri arasındaki farkın sürekli değişmesidir. Bu makalede MERKEZ BANKASININ (TCMB) günlük olarak güncellediği kurları alarak bu sıkıntının nasıl ortadan kaldıracağımızı anlatatılmıştır. Bunun için TCMB’ının web sayfasında yayınladığı günlük para kurlarını içeren XML dosyasını okuyacağız. Bu XML belgesini okuyarak elde ettiğimiz değerler ile YTL arasındaki dönüşümleri yapabileceğiz. Bu proje sayesinde bir alışveriş programında günlük kurları elde ederek güncel bir işlemin yapılmasını sağlayacağız. Program kullanıcısı başka yerlerden diğer para birimleri ile YTL arasındaki fiyat farklarını bulmak zorunda kalmayacak. Bunun için bir Windows Uygulaması oluşturacağız. Bu uygulamada bir ComboBox nesnesi içersinde TCMB’ının sayfasından çektiğimiz para isimlerini göstereceğiz. Kullanıcı istediği para birimini Bu ComboBox nesnesinden seçerek kaç tane bu para türünden alınacağını bir TextBox nesnesine girecek ve hesaplama işleminin gerçekleşmesi için button nesnesine tıklaması yeterli. Sonucun gösterilmesi için de bir Label nesnesinden yararlanacağız. Aşağıdaki gibi bir Windows uygulaması görsel tasarımını yapıyoruz. Adrese gidildiğinde alttaki gibi bir XML belgesi çıkıyor karşımıza; Karşımıza bir xml belgesi değil de sanki bir html belgesi çıkmış gibi geliyor fakat kod kısmın baktığımızda bunun bir XML belgesi olduğunu anlıyoruz. Yalnızca XSLT ile bir html dosyası gibi gözükmesi sağlanmış. Bu sayede bu dosya üzerinde XML belgeleri üzerinde yapabildiğimiz her türlü işlemi yapabiliyoruz. Ilk önce bu XML belgesinin içeriğini inceleyelim; <?xml version="1.0" encoding="ISO-8859-9" ?> <Tarih_Date Tarih="24.02.2006" Date="02/24/2006"> <Currency Kod="USD" CurrencyCode="USD"> <Unit>1</Unit> <Isim>AMERİKAN DOLARI</Isim> <CurrencyName>US DOLLAR</CurrencyName> <ForexBuying>1.3145</ForexBuying> <ForexSelling>1.3208</ForexSelling> <BanknoteBuying>1.3136</BanknoteBuying> <BanknoteSelling>1.3228</BanknoteSelling> <CrossRateUSD>1</CrossRateUSD> <CrossRateOther></CrossRateOther> </Currency> <Currency Kod="CAD" CurrencyCode="CAD"> <Unit>1</Unit> <Isim>KANADA DOLARI</Isim> <CurrencyName>CANADIAN DOLLAR</CurrencyName> <ForexBuying>1.14</ForexBuying> <ForexSelling>1.1452</ForexSelling> <BanknoteBuying>1.1358</BanknoteBuying> <BanknoteSelling>1.1496</BanknoteSelling> <CrossRateUSD>1.1533</CrossRateUSD> <CrossRateOther></CrossRateOther> </Currency> </Tarih_Date> Görüldüğü gibi “Tarih_Date” isimli root element ve onun altındaki “Currency” isimli Elementlerden oluşuyor. Yukarıdaki XML belgesinde yalnızca 2 tane para birimi için listeleme yapılmıştır. Gerçek XML belgesinde daha fazla sayıda para türü için listeleme yapılmıştır. “Currency” Elementinin altında ise bu paranın alış,Satış değerleri gibi bazı alt elementler bulunmaktadır. Bizim için de gerekli olan kısımlar da zaten bunlardır. Projemize bir tane Doviz isimli Class ekliyoruz. Bu Class’ın amacı her para birimi için bir nesne oluşturup bu para değerlerinin hepsini bir liste haline getirebilmektir; Imports System.Xml Imports System.Xml.XPath Public Class Doviz Private mKod As String Private mAd As String Private mAlisFiyati As String Private mSatisFiyati As String Public Property Kod() As String Get Return mKod End Get Set(ByVal Value As String) mKod = Value End Set End Property Public Property Ad() As String Get Return mAd End Get Set(ByVal Value As String) mAd = Value End Set End Property Public Property AlisFiyati() As String Get Return mAlisFiyati End Get Set(ByVal Value As String) mAlisFiyati = Value End Set End Property Public Property SatisFiyati() As String Get Return mSatisFiyati End Get Set(ByVal Value As String) mSatisFiyati = Value End Set End Property Public Shared Function KuruGetir() As ArrayList Dim Liste As New ArrayList Dim Xd As XPathDocument Try Xd = New XPathDocument("http://www.tcmb.gov.tr/kurlar/today.xml") Catch ex As Exception MsgBox(ex.Message) End Try Dim Xp As XPathNavigator = Xd.CreateNavigator Dim Ni As XPathNodeIterator = Xp.Select("/Tarih_Date/Currency") While Ni.MoveNext Dim Ri As New Doviz Dim Ni2 As XPathNodeIterator Ni2 = Ni.Current.Select("Isim") Ni2.MoveNext() Ri.Ad = Ni2.Current.Value Ni2 = Ni.Current.Select("ForexBuying") Ni2.MoveNext() Ri.AlisFiyati = Ni2.Current.Value Ni2 = Ni.Current.Select("ForexSelling") Ni2.MoveNext() Ri.SatisFiyati = Ni2.Current.Value Liste.Add(Ri) End While Return Liste End Function End Class Kod’ta da gözüktüğü gibi bu XML belgesindeki Alış,Satış,Kod ve Ad alanları bizim için gereklidir. Diğer alanları almaya gerek yok. “KuruGetir” isimli Function bize Bir ArrayList türünde bir lsite ile geri dönüt veriyor. Bu listede para birimleri ve değerleri yer alıyor. Function’un içeriğinde Xpath’ten yararlanıyoruz. Bu yüzden Class’ın basında XXML ve XPATH NameSpace’lerini programımıza imports ediyoruz. Her “Currency” elementi için dönen bir döngüde para biriminin değerleri alınıyor ve listeye ekleniyor. Para değerlerini içeren Listeyi aldıktan sonra Windows uygulamasının kodlarını yazmaya başlayalım. Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Me.ComboBox1.DisplayMember = "Ad" Me.ComboBox1.DataSource = Doviz.KuruGetir End Sub Form’un Load olayında ComboBox nesnensinin içersinde gözükecek alan ismini ve bu nesnenin göstereceği değerleri alacağı kaynağın neresi olduğunu veriyoruz. Bu kaynak Doviz isimli Class içerisindeki KuruGetir Function’undan geri dönen Liste’dir. Form Yüklendiğinde artık değerler ComboBox içersinde gözükmektedir Kullanıcı seçtiği türden kaç tane para almak istediğini girdikten sonra tıkladığı button nesnesini arka plandaki kodu şu şekildedir; Private Sub BtnHesapla_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnHesapla.Click lbToplam.Text = CInt(TxtAdet.Text) * CType(Me.ComboBox1.SelectedItem, Doviz).SatisFiyati End Sub Yalnızca ComboBox nesnesine eklenen Doviz türündeki Class’lardan Satiş fiyatı değerini seçip kaç tane almak isterse o değer ile çarpıp kullanıcıya label içersinde gösteriyor. Sonuçta şöyle bir çıktı karşımız geliyor ; | |
| | |
![]() |
| Bookmarks |
| Konu Seçenekleri | |
| Modları Göster | |
|
|
Okuduğunuz Konuya Benzer Konular | ||||
| Konu | Konuyu Açan | Forum | Cevaplar | Son Mesaj |
| Tekstilcinin 'kene'si de, düşük döviz kuru | nur yağmuru | Ekonomi | 0 | 08-15-2008 10:05 |
| Günlük Yaşamdan Resimler-Günlük Yaşamdan Komik Resimler | efsaneevi | Komik Resimler | 6 | 06-21-2008 16:23 |
| Borsa ve döviz ne tepki verdi? | XxCANISIxX | Ekonomi | 0 | 02-22-2008 20:20 |
| Seçim sonrası döviz girişi artacak | Baktabul.Com | Ekonomi | 0 | 07-25-2007 16:37 |
| Tahvil-Döviz-Parite | !!! NightClub !!! | Ekonomi | 0 | 06-20-2007 11:28 |
Forumumuzda yazılardan dolayı doğabilecek her türlü sorumluluk yazan kullanıcılara aittir,sitemizde yasalara aykırı unsurlar bulursanız İletisimden bildirebilirsiniz, şikayetiniz incelendikten sonra en kısa sürede
gereken yapılacaktır.
Report Abuse, Harassment, Scamming, Hacking, Warez, Crack, Divx, Mp3 or any Illegal Activity to
Contact- İletişim Gizlilik Bildirimi Forum Kurallarımız