PDA

View Full Version : سوال: استفاده از progressbar در هنگام دریافت اطلاعات از سایت



behnam_bwg
شنبه 13 مهر 1392, 00:46 صبح
سلام....من در برنامه ام یه قسمتی دارم که اطلاعاتی رو از سایت میگیره.....این اطلاعات بصورت xml تو یه صفحه وبی به یه آدرسی مشخص شده.....من اطلاعات رو دریافت میکنم ولی یه مشکلی دارم , اونم استفاده از progressbar هست برای زمانی که این اطلاعات رو دریافت میکنم.... نمونه کدم رو میزارم ...کسی هست کمکم کنه؟
private void button1_Click(object sender, EventArgs e)
{
DataTable table = new DataTable();
StreamWriter Xrite;
using (StreamWriter stm = new StreamWriter(Application.StartupPath + @"\XMLAMLAK.xml"))
{
Xrite = stm;
}

table.Columns.AddRange(new DataColumn[] { new DataColumn("id"), new DataColumn("ln"), new DataColumn("fn") });

//Fetch data
StringBuilder sb = new StringBuilder();
byte[] buff = new byte[1024 * 1024];
HttpWebRequest request = (HttpWebRequest)WebRequest.Create("http://bea.ir/t.php");
HttpWebResponse responce = (HttpWebResponse)request.GetResponse();
Stream ressteam = responce.GetResponseStream();
string tempstring = null;
int count = 0;

do
{
count = ressteam.Read(buff, 0, buff.Length);
if (count != 0)
{
tempstring = Encoding.UTF8.GetString(buff, 0, count);
sb.Append(tempstring);
//progress bar:

}
} while (count > 0);


Xrite.Write(sb.ToString());
Xrite.Close();
XmlDocument xmldoc = new XmlDocument();
xmldoc.Load(Application.StartupPath + @"\XMLAMLAK.xml");
XmlNode root = xmldoc.DocumentElement;

foreach (XmlNode node in root.ChildNodes)
{
table.Rows.Add(node.ChildNodes[0].InnerText, node.ChildNodes[1].InnerText, node.ChildNodes[2].InnerText);
}
dataGridView1.DataSource = table;