Sehirler arasi kac km olayini yapmak istiyorum..
Aklima iki combobox ekleyip iki taraftanda şehri secip arasindaki km mesafesini labele yazdirmak istiyorum nasil yapabilirim?
Mumkunse vb 6 ya gore..
Birde verileri tek tek girmelimiyim?
Kısa bir şekilde oluşturmanın yolu var mı ?
Yoksa 81 x 81 il şeklinde yapacakmıyım?
İki combobox secimi sonrasi labele yazi?
1
●759
- 06-05-2014, 11:02:09hocam iller ve ilçeler arasındaki mesafeler dbsi varsa burdan db'den çektirip yapabilirsin.
Fakat bu uğraştırır vs.
Bunun yerine arka tarafta webbrowser açtırıp oradan sorgulatıp sonucu formda göstermek daha mantıklı
Altta kodları tek tek açıkladım ona göre snytaxını bulup yaparsın mantığını anlattım zaten

Mesela şöyle birşey yaptım
Arka taraf webbrowser'da
http://www.enakliyat.com.tr/iller-ilceler-arasi-mesafe/ bu siteyi kullanıyor
Combobox1'de seçilen değer sitede 1.text'e yazılıyor.
Combobox2'de seçilen değer sitede 2.text'e yazılıyor.
ve Hesapla Butonuna basılıyor dönen değer(mesafe) textboxt'a yazdırıyoruz
Öncelikle vb'nin snytaxını fazla bilmediğim için c#'ta yazdım ona göre uyarlarsın.
private void Form1_Load(object sender, EventArgs e)
{
button1.Enabled = false;
webBrowser1.Navigate("http://www.enakliyat.com.tr/iller-ilceler-arasi-mesafe/");
//webbrowser açıldığında belirtilen site açılsın
}
private void webBrowser1_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
//webbrowser tamamenen dolup dolmadığını browserin DocumentCompleted eventiyle bakıyoruz
//dolduysa Hesapla butonu aktif et
if (this.webBrowser1.ReadyState == WebBrowserReadyState.Complete)
{
this.Text = "";
button1.Enabled = true;
}
else
{
}
}
private void button1_Click(object sender, EventArgs e)
{
//Html Element oluşturup txt_Loc1(sitedeki textbox1'in id'sini alıyoruz)
HtmlElement elem = webBrowser1.Document.GetElementById("txt_Loc1");
//Değeri combobox'tan seçilen değeri yazdırıyoruz
elem.SetAttribute("value", comboBox1.Text);
//txt_Loc2(sitedeki textbox1'in id'sini alıyoruz)
elem = webBrowser1.Document.GetElementById("txt_Loc2");
elem.SetAttribute("value", comboBox2.Text);
//webbrowser'ın kaynak kodunu çekiyoruz HesaplaButonunaBas'a atıyoruz
foreach (HtmlElement HesaplaButonunaBas in webBrowser1.Document.All)
{
//İf Kaynak kodda Hesapla Bulunduysa
if (HesaplaButonunaBas.InnerHtml == "Hesapla")
{
//Bulunan Butona Bas
HesaplaButonunaBas.InvokeMember("click");
}
}
timer1.Start(); //hesapla butonuna basıldığında timer'i çalıştıralım
}
private void timer1_Tick(object sender, EventArgs e)
{
// txt_km id'sindeki değeri textbox3'e atayalım
textBox3.Text = webBrowser1.Document.GetElementById("txt_km").GetA ttribute("value");
timer1.Stop();
}
Projenin kaynak kodu :
http://www.dosya.tc/server29/tsqhXg/...plama.rar.html
