PDA

Просмотр полной версии : [Информация] Новичкам в помощь


Alex-Defender
21.03.2013, 13:01
1.Открыть новую форму:
Form2 frm = new Form2();
frm.Show();
2.Открыть ссылку в браузере:
Process.Start("Ссылка");
3.Получение новостей на WebClient:
Текст ниже пишем в Form1
System.Net.WebClient webClient = new System.Net.WebClient();
Uri uri = new Uri("Ссылка на новости");
webClient.DownloadFileAsync(uri, @"news.ini");
Текст ниже пишем на кнопку,которая будет обновлять новости.(По умолчанию текст будет показан в textbox1 ,можно легко изменить.)
StreamReader sr = new StreamReader("Можно txt и ini файлы!");
textBox1.Text = sr.ReadToEnd();
sr.Close();
4.Скачка файла:
System.Net.WebClient webClient = new System.Net.WebClient();
Uri uri = new Uri("Ссылка на файл!");
webClient.DownloadFileAsync(uri, @"Имя файла!");
if (progressBar1.Value == progressBar1.Minimum)
{
progressBar1.Value = progressBar1.Maximum;
}
MessageBox.Show("Скачано");
5.Еще 1 пример скачки файла:
WebClient client = new WebClient(); // Скачивание Файла
client.DownloadFile("Ссылка", "Название.формат");
6.Еще 1 пример новостей:
WebClient wc = new WebClient();
Uri url = new Uri("Ссылка!");

string text = wc.DownloadString(url);
textBox1.Text = text.ToString();

Не забываем добавлять :
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.IO;
using System.Net;

Тема будет пополняться.
Кому что не понятно пишите.
Просьба не говорить что не полезно,промолчать всегда лучше.

Sinyss
21.03.2013, 15:12
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.IO;
Не забываем удалять:
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;

Буянь
21.03.2013, 15:27
System.Net.WebClient webClient = new System.Net.WebClient();
Uri uri = new Uri("Ссылка на новости");
webClient.DownloadFileAsync(uri, @"news.ini");

Т.е если мне нужно парсить новости с 15 сайтов, то у меня рядом с прогой будет 15 текстовиков? D:


4.Скачка файла:

System.Net.WebClient webClient = new System.Net.WebClient();
Uri uri = new Uri("Ссылка на файл!");
webClient.DownloadFileAsync(uri, @"Имя файла!");
if (progressBar1.Value == progressBar1.Minimum)
{
progressBar1.Value = progressBar1.Maximum;
}
MessageBox.Show("Скачано");


Не выстрелит. Сообщение будет вывыдено на экран намного раньше, чем файл скачается. А за бесполезную работу progressBar'а отдельное спасибо.

[Ссылки могут видеть только зарегистрированные и активированные пользователи] ([Ссылки могут видеть только зарегистрированные и активированные пользователи])

[Ссылки могут видеть только зарегистрированные и активированные пользователи] ([Ссылки могут видеть только зарегистрированные и активированные пользователи])

Не забываем добавлять :

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.IO;


Не забываем добавлять System.Drawing и забываем добавить System.Net.

Кому что не понятно пишите.
Есть ли толк работать с WebClient, не подписываясь на события?

avi2011class
23.03.2013, 14:01
System.Net.WebClient webClient = new System.Net.WebClient();
Uri uri = new Uri("Ссылка на файл!");
webClient.DownloadFileAsync(uri, @"Имя файла!");
if (progressBar1.Value == progressBar1.Minimum)
{
progressBar1.Value = progressBar1.Maximum;
}
MessageBox.Show("Скачано");
надпись скачано не совпадает по времени с реальной скачкой. Что поправить нужно?

Буянь
23.03.2013, 18:07
надпись скачано не совпадает по времени с реальной скачкой. Что поправить нужно?

Подписаться на событие. ([Ссылки могут видеть только зарегистрированные и активированные пользователи]-snippet-2)

Nickitee
26.03.2013, 15:50
надпись скачано не совпадает по времени с реальной скачкой. Что поправить нужно?
1. Код кинешь на кнопку для начала загрузки, или не на кнопку.

WebClient WC = new WebClient();
WC.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_Downloa dProgressChanged);
WC.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileComp leted);
WC.DownloadFileAsync("полный url до файла на сервере", "Полный путь к новому файлу на компьютере");

2. Эвенты:

void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
double bytesIn = double.Parse(e.BytesReceived.ToString());
double totalBytes = double.Parse(e.TotalBytesToReceive.ToString());
double percentage = bytesIn / totalBytes * 100;
progressBar1.Value = int.Parse(Math.Truncate(percentage).ToString());
}


void client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
{
MessageBox.Show("Загрузка завершена!","Успешно!");
//Environment.Exit(0);
}

Denis170597
09.12.2013, 18:28
вот моя подредактированная версия загрузчика

WebClient WC = new WebClient();
WC.DownloadProgressChanged += new DownloadProgressChangedEventHandler(client_Downloa dProgressChanged);
WC.DownloadFileCompleted += new AsyncCompletedEventHandler(client_DownloadFileComp leted);
Uri uri = new Uri("ссылка на файл");
WC.DownloadFileAsync(uri, @"название будущего файла");


}

void client_DownloadProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
double bytesIn = double.Parse(e.BytesReceived.ToString());
double totalBytes = double.Parse(e.TotalBytesToReceive.ToString());
double percentage = bytesIn / totalBytes * 100;
progressBar1.Value = int.Parse(Math.Truncate(percentage).ToString());
}

void client_DownloadFileCompleted(object sender, AsyncCompletedEventArgs e)
{
MessageBox.Show("Загрузка завершена!","Успешно!");
//Environment.Exit(0);
}