Forum
merhabalar ;
ben c# ta html uzantılı birden fazla website dan bazı döviz kurlarını alacağım. Siteler şunlar;
http://www.tcmb.gov.tr/kurlar/today.html (HTML uzantılı olduğuna dikkat ediniz lütfen)
http://themoneyconverter.com/TRY/PLN.aspx (bu sayfa kesin değil, html olan başka bir sitede bulabilirim.)
yeni bir öğrenci olduğum için kullanmam gereken kodları tam olarak oturtamadım.Yol gösterirseniz sevinirim.
Teşekkürler..
Teşekkürler, fakat html bir sayfaya eklemeyeceğim bunları. linkini belirttiğim html sayfadan çekip c# ta alacağım bunları. dolayısı ile bana html kodları değil c# kodları lazım.
merhabalar ;
ben c# ta html uzantılı birden fazla website dan bazı döviz kurlarını alacağım. Siteler şunlar;
http://www.tcmb.gov.tr/kurlar/today.html (HTML uzantılı olduğuna dikkat ediniz lütfen)
http://themoneyconverter.com/TRY/PLN.aspx (bu sayfa kesin değil, html olan başka bir sitede bulabilirim.)
yeni bir öğrenci olduğum için kullanmam gereken kodları tam olarak oturtamadım.Yol gösterirseniz sevinirim.
Teşekkürler..
Forum başlığınızı daha sonra yapılacak aramalarda daha saglıklı bilgiye ulaşılması açısından düzenleyebilirmsiniz?
istediğiniz "c# ta html uzantılı birden fazla website dan bazı veriler çekmek" anlaşıldığı kadarıyla
Düzelttim Uğur Bey, peki yardımcı olabilir misiniz?
Teşekkür ederim,
Bu linklere bende ulaştım.Ama ben html den almak zorundayım. TCMB sitesi haricinde ki bazı sitelerden de alıcam ve onlar html.
xyzt nickli arkadşaımız bu konularda tecrübeli bir arkadaşımızdır geçen aylarda sık sık bilgilerine başvuruyorduk sizin vesilenizle görme şansımız oldu[:)]
şu örnekte html'den okuyor:
http://www.csharptime.com/index.php/2009/04/09/doviz-kurlari-tcmb-sitesinden/
Evet ama asp de okuyor. ben c#'ta okutacağım, Asp'de değil.
Asp değil Asp.net. yani sonuçta kod C# kodu.//Default.aspx.cs
ve//Default.aspx
olarak ikiye ayırmış koduaslında bunlar iki ayrı dosya.sen Default.aspx.cs dosyasındaki kodları alıp kendine uyarlarsan C# programında kullanabilirsin. biraz incele bence.
Asp.Net yani c# kodu ama bende size diyorum ki ben windows forma ekleyeceğim. Asp sonuçta bir web uygulaması ben web tabanlı çalıştırmayacağım, windows form ekranında getireceğim döviz miktarlarını. Ok, inceliyorum kodu sonuçta c# kodu.
Ok, inceliyorum kodu sonuçta c# kodu.
sanırım öyle.
Şimdi ben şöyle bir kod yazdım ilk paragraflar başka bir c# kodundan alınma, alt taraftakilerde denemek için verilen aralıklar.Ama kaynak değişkenini ekrana yazdırmak istediğimde sayfadan hiçbir şey alınmamış gözüküyor. Kodlar aşağıdadır:
string kaynak;
private void KaynakAl()
{
string adres = "http://www.tcmb.gov.tr/kurlar/today.html";
WebResponse benimResponse = null;
try
{
WebRequest wr = WebRequest.Create(adres);
benimResponse = wr.GetResponse();
}
catch (WebException)
{
MessageBox.Show("İnternet bağlantınızı ve Güvenlik duvarı ayarlarını kontrol ediniz", "Bağlantı hatası !!!", MessageBoxButtons.OK, MessageBoxIcon.Stop);
}
Stream str = benimResponse.GetResponseStream();
StreamReader reader = new StreamReader(str);
kaynak = reader.ReadToEnd();
mGetir();
}
private void mGetir()
{
for (int i = 0; i < kaynak.Length - 150; i++)
{
if (kaynak.Substring(i, 12) == "USD/TRY")
{
lblUsd.Text = kaynak.Substring(i + 14, 100);
}
else if (kaynak.Substring(i, 12) == "EUR/TRY")
{
lblEuro.Text = kaynak.Substring(i + 14, 50);
}
else if (kaynak.Substring(i, 12) == "JPY/TRY")
{
lblJYeni.Text = kaynak.Substring(i + 14, 50);
}
Teşekkürler.
Sizin verdiğiniz linkte çözüm olmadı.
debug etmeyi denedin mi? indexler falan yanlış olabilir belki. adım adım debug edersen sorun neymiş bulabilirsin. mGetir fonksiyonunun başına breakpoint koy ve debug et derim.
Debug ettim, herhangi bir hata vermiyor ama forma da hiçbirsey gelmiyor. Adım adım debug edince şunu gördüm ki , yazdığım kodları mGetir metodunu falan hiç çalıştırmıyor. kaynak satırına hiç gelmiyor. Forma geldikten sonra labeların özelliklerini okuyor sonrasında formu ekrana getiriyor. Yazdığım kodlarda sorun var mı?
KaynakAl() metodu biryerde çağırıyolurmu. kodun tamamını göndersen daha iyi olur.
Hayır hiç çağrılmıyor. Tüm kod aşağıda ,
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Net;
using System.IO;
namespace Kurlar
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
string kaynak;
private void KaynakAl()
{
string adres = "http://www.tcmb.gov.tr/kurlar/today.html";
WebResponse benimResponse = null;
try
{
WebRequest wr = WebRequest.Create(adres);
benimResponse = wr.GetResponse();
}
catch (WebException)
{
MessageBox.Show("İnternet bağlantınızı ve Güvenlik duvarı ayarlarını kontrol ediniz", "Bağlantı hatası !!!", MessageBoxButtons.OK, MessageBoxIcon.Stop);
}
Stream str = benimResponse.GetResponseStream();
StreamReader reader = new StreamReader(str);
kaynak = reader.ReadToEnd();
mGetir();
}
private void mGetir()
{
for (int i = 0; i < kaynak.Length - 150; i++)
{
if (kaynak.Substring(i, 150) == "USD/TRY")
{
lblUsd.Text = kaynak.Substring(i + 14, 100);
}
else if (kaynak.Substring(i, 150) == "EUR/TRY")
{
lblEuro.Text = kaynak.Substring(i + 100, 200);
}
else if (kaynak.Substring(i, 150) == "JPY/TRY")
{
lblJYeni.Text = kaynak.Substring(i + 200, 300);
}
}
}
}
}
adım adım çalıştırırken InitializeComponent(); 'a geldikten sonra Form1.Designer.cs dosyasından labelların yerlerini falan okuyor sırayla sonra ,Form1.cs dosyasından tekrar InitializeComponent() satırına geliyor.Program.cs'den Application.Run(new Form1()); ve form ekranda .
public Form1()
{
InitializeComponent();
}