Vatansever
Asistan
- Katılım
- 23 Ağustos 2007
- Mesajlar
- 405
- Reaksiyon puanı
- 1
- Puanları
- 18
internette merkez bankası döviz kurlarını elde etmek için kod buldum ama çalıştıramadım bu kodu çalıştırmama yardım edebilirmisiniz?
***********************************************************
1. Öncelikle XML kütüphanesinin formun en üstünde programa dahil edilmesi gerekir
Imports System.xml
2. Daha sonra aşağıdaki gibi bir fonksiyon tanımlanabilir. Fonksiyon, DataTable türünde bir değer döndürmektedir
Private Function Kurlar() As DataTable
Dim DT As New DataTable
Dim myUrl As String = "http://www.tcmb.gov.tr/kurlar/today.xml"
Dim myxml As New XmlDocument
Dim dr As DataRow
Dim tarih As XmlNode
Dim mylist, adi, kod As XmlNodeList
Dim doviz_alis, doviz_satis As XmlNodeList
Dim efektif_alis, efektif_satis As XmlNodeList
myxml.Load(myUrl)
DT.Columns.Add("Cinsi")
DT.Columns.Add("Kisaltma")
DT.Columns.Add("Alis")
DT.Columns.Add("Satis")
DT.Columns.Add("Efektif Alis")
DT.Columns.Add("Efektif Satis")
tarih = myxml.SelectSingleNode("/Tarih_Date/[MENTION=85595]Tarih[/MENTION]")
mylist= myxml.SelectNodes("/Tarih_Date/Currency")
adi = myxml.SelectNodes("/Tarih_Date/Currency/Isim")
kod = myxml.SelectNodes("/Tarih_Date/Currency/@Kod")
doviz_alis = myxml.SelectNodes("/Tarih_Date/Currency/ForexBuying")
doviz_satis = myxml.SelectNodes("/Tarih_Date/Currency/ForexSelling")
efektif_alis = myxml.SelectNodes("/Tarih_Date/Currency/BanknoteBuying")
efektif_satis = myxml.SelectNodes("/Tarih_Date/Currency/BanknoteSelling")
For i As Integer = 0 To 18
dr = DT.NewRow
dr(0) = adi.Item(i).InnerText.ToString()
dr(1) = kod.Item(i).InnerText.ToString()
dr(2) = Replace(doviz_alis.Item(i).InnerText.ToString(), ".", ",")
dr(3) = Replace(doviz_satis.Item(i).InnerText.ToString(), ".", ",")
dr(4) = Replace(efektif_alis.Item(i).InnerText.ToString(), ".", ",")
dr(5) = Replace(efektif_satis.Item(i).InnerText.ToString(), ".", ",")
DT.Rows.Add(dr)
Next
Return DT
End Function
Replace(doviz_alis.Item(i).InnerText.ToString(), ".", ",") : Burada stringdeki noktalar virgüle çevriliyor ve sütunlara yerleştiriliyor.
3. Son olarak, döviz kurları için kullanacağınız DataGridView nesnesinin DataSource özelliğini, yukarıdaki fonksiyonun adı olarak atamanız gerekiyor :
...
DataGridView1.DataSource = Kurlar()
...
***********************************************************
***********************************************************
1. Öncelikle XML kütüphanesinin formun en üstünde programa dahil edilmesi gerekir
Imports System.xml
2. Daha sonra aşağıdaki gibi bir fonksiyon tanımlanabilir. Fonksiyon, DataTable türünde bir değer döndürmektedir
Private Function Kurlar() As DataTable
Dim DT As New DataTable
Dim myUrl As String = "http://www.tcmb.gov.tr/kurlar/today.xml"
Dim myxml As New XmlDocument
Dim dr As DataRow
Dim tarih As XmlNode
Dim mylist, adi, kod As XmlNodeList
Dim doviz_alis, doviz_satis As XmlNodeList
Dim efektif_alis, efektif_satis As XmlNodeList
myxml.Load(myUrl)
DT.Columns.Add("Cinsi")
DT.Columns.Add("Kisaltma")
DT.Columns.Add("Alis")
DT.Columns.Add("Satis")
DT.Columns.Add("Efektif Alis")
DT.Columns.Add("Efektif Satis")
tarih = myxml.SelectSingleNode("/Tarih_Date/[MENTION=85595]Tarih[/MENTION]")
mylist= myxml.SelectNodes("/Tarih_Date/Currency")
adi = myxml.SelectNodes("/Tarih_Date/Currency/Isim")
kod = myxml.SelectNodes("/Tarih_Date/Currency/@Kod")
doviz_alis = myxml.SelectNodes("/Tarih_Date/Currency/ForexBuying")
doviz_satis = myxml.SelectNodes("/Tarih_Date/Currency/ForexSelling")
efektif_alis = myxml.SelectNodes("/Tarih_Date/Currency/BanknoteBuying")
efektif_satis = myxml.SelectNodes("/Tarih_Date/Currency/BanknoteSelling")
For i As Integer = 0 To 18
dr = DT.NewRow
dr(0) = adi.Item(i).InnerText.ToString()
dr(1) = kod.Item(i).InnerText.ToString()
dr(2) = Replace(doviz_alis.Item(i).InnerText.ToString(), ".", ",")
dr(3) = Replace(doviz_satis.Item(i).InnerText.ToString(), ".", ",")
dr(4) = Replace(efektif_alis.Item(i).InnerText.ToString(), ".", ",")
dr(5) = Replace(efektif_satis.Item(i).InnerText.ToString(), ".", ",")
DT.Rows.Add(dr)
Next
Return DT
End Function
Replace(doviz_alis.Item(i).InnerText.ToString(), ".", ",") : Burada stringdeki noktalar virgüle çevriliyor ve sütunlara yerleştiriliyor.
3. Son olarak, döviz kurları için kullanacağınız DataGridView nesnesinin DataSource özelliğini, yukarıdaki fonksiyonun adı olarak atamanız gerekiyor :
...
DataGridView1.DataSource = Kurlar()
...
***********************************************************