On Numara (Şans Oyunu) Sonuçlarını Öğrenme ve verilerini çekme — C#
[code lang=”csharp”]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;//www.gorselprogramlama.com
using System.Windows.Forms;
using System.Data.OleDb;
namespace On_Numara__Şans_Oyunu__veri_çekmek
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
OleDbConnection connect = new OleDbConnection("Provider=Microsoft.ACE.OleDb.12.0;Data Source=numaralar.accdb");
bool yuklenme = false;
void baglantiKur()//www.gorselprogramlama.com
{
if (connect.State == ConnectionState.Closed)
{
connect.Open();
}
}
private void Form1_Load(object sender, EventArgs e)
{
webBrowser1.Navigate("http://www.millipiyango.gov.tr/sonuclar/_cs_onnumara.php");
}
//www.gorselprogramlama.com
private void comboBox1_Click(object sender, EventArgs e)
{
comboBox1.Items.Clear();
HtmlElementCollection el = webBrowser1.Document.GetElementById("onnumara-tarihList").GetElementsByTagName("option");
foreach (HtmlElement el_option in el)
{
comboBox1.Items.Add(el_option.InnerText);
}
int weekCount = int.Parse(webBrowser1.Document.GetElementById("onnumara-hafta").InnerText);
label2.Text = "Hafta Sayısı : " + weekCount.ToString();
}//www.gorselprogramlama.com
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
if (yuklenme)
{
webBrowser1.Document.GetElementById("onnumara-tarihList").SetAttribute("selectedindex", comboBox1.SelectedIndex.ToString());
webBrowser1.Document.GetElementById("onnumara-tarihList").InvokeMember("onchange"); // onchange olayını tetikleme
timer1.Enabled = true;
}
else
{
MessageBox.Show("Sayfa Henüz Yüklenmedi.","Dikkat");
}
//www.gorselprogramlama.com
}
private void timer1_Tick(object sender, EventArgs e)
{
int sira = 1;
HtmlElementCollection esl = webBrowser1.Document.GetElementById("onnumara-numaralar").GetElementsByTagName("li");
foreach (HtmlElement esl_option in esl)
{
if (esl_option.InnerText != null)
{
this.Controls.Find("lbl" + sira, true)[0].Text = esl_option.InnerText;
sira++;
}
}
timer1.Enabled = false;
}//www.gorselprogramlama.com
private void btnAdd_Click(object sender, EventArgs e)
{
tmrKayit.Enabled = true;
}
int indis = 0;
private void tmrKayit_Tick(object sender, EventArgs e)
{
string numaralar = "";
HtmlElementCollection esl = webBrowser1.Document.GetElementById("onnumara-numaralar").GetElementsByTagName("li");
foreach (HtmlElement esl_option in esl)
{
if (esl_option.InnerText != null)
{
numaralar += esl_option.InnerText + ",";
}
}//www.gorselprogramlama.com
numaralar = numaralar.Remove(numaralar.Length – 1, 1);
baglantiKur();
int weekCount = int.Parse(webBrowser1.Document.GetElementById("onnumara-hafta").InnerText);
string sql = "INSERT INTO detayli(hafta_Sayisi,numaralar) VALUES(" + weekCount + ",’" + numaralar + "’)";
OleDbCommand cmd = new OleDbCommand(sql,connect);
cmd.ExecuteNonQuery();
connect.Close();
indis++;
webBrowser1.Document.GetElementById("onnumara-tarihList").SetAttribute("selectedindex", indis.ToString());
webBrowser1.Document.GetElementById("onnumara-tarihList").InvokeMember("onchange"); // onchange olayını tetikleme
if (weekCount == 1)
{
tmrKayit.Enabled = false;//www.gorselprogramlama.com
MessageBox.Show("Bütün Kayıtlar eklenmiştir.");
}
}
private void webBrowser1_ProgressChanged(object sender, WebBrowserProgressChangedEventArgs e)
{
if (e.MaximumProgress == e.CurrentProgress && e.MaximumProgress != 0)
{
yuklenme = true;//www.gorselprogramlama.com
}
}
}
}
[/code]



hocam indirme yapamıyorum haberin olsun.hata veriyor
this.Controls.Find(“lbl” + sira, true)[0].Text = esl_option.InnerText;
bu satırda “Dizin, dizi sınırlarının dışındaydı.” hatası veriyor.bu arada satırdaki “lbl” ne oluyor tam anlamadım
volkan karataş :
İndirme linki yenilendi. Sorun yok çalışıyor.
volkan karataş :
lbl groupbox içindeki lablerin name i. lbl1,lbl2,lbl3 diye devam ediyor.
teşekkür ederim
hocam ben çıkan rakamları datagridviewe aktarıyorum ama her seferinde tek tek tarih seçip ekle butonuna bamak zorunda kalıyorum.bu güne kadarki çıkan bütün sonuçları almanın daha kolay bir yolu varmıdır
volkan karataş :
on numara sitesindeki veri tabanından çekebilirsin.