Пятница, 29 Марта 2024, 14:00

Приветствую Вас Гость

[ Новые сообщения · Игроделы · Правила · Поиск ]
  • Страница 1 из 1
  • 1
Форум игроделов » Программирование » Программирование .NET » Загрузка файла (С сайта на C#)
Загрузка файла
DusklyДата: Четверг, 02 Февраля 2012, 00:13 | Сообщение # 1
Rush Games
Сейчас нет на сайте
Всем привет. Вот пользовался кодом для скачки файла с сайта (для кнопки):
Code
WebClient webClient = new WebClient();
   webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
   webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
   webClient.DownloadFileAsync(new Uri("http://mysite.com/myfile.txt"), @"c:\myfile.txt");
}

private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e)
{
   progressBar1.Value = e.ProgressPercentage;
}

private void Completed(object sender, AsyncCompletedEventArgs e)
{
   MessageBox.Show("Download completed!");

Но когда я его вставил в другую кнопку. мне написало:

Как исправить? или дайте код чтобы можно было много раз вставлять в объекты и скачивать файлы. С меня +

Добавлено (01.02.2012, 23:00)
---------------------------------------------
ап, помогите!!!

Добавлено (02.02.2012, 00:02)
---------------------------------------------
ап, помогите плз!!

Добавлено (02.02.2012, 00:13)
---------------------------------------------
п



Разрабатываеться:
флеш игра для соц. Сетей (Бои друзей) - временное название!
3д игра (пока без названия)
RikettaДата: Четверг, 02 Февраля 2012, 07:20 | Сообщение # 2
Strategist
Сейчас нет на сайте
Ты ссылаешь на класс, а не на его объект.
А вообще, сейчас получше посмотрю.

Добавлено (02.02.2012, 07:20)
---------------------------------------------
Не знаю, что вы там наворотили, но у меня все работает, мало кода дал ты.
У меня такой код:
Code
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;

namespace Downloader
{
      public partial class Form1 : Form
      {
          public Form1()
          {
              InitializeComponent();
          }

          private void buttonStartDownload_Click(object sender, EventArgs e)
          {
              saveFileDialogSave.ShowDialog();
              WebClient webClient = new WebClient();
              webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
              labelInfo.Text = "Загрузка...";
              webClient.DownloadFileAsync(new Uri(textBoxUrl.Text), saveFileDialogSave.FileName);
              webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
          }
          private void ProgressChanged(object sender, DownloadProgressChangedEventArgs e)
          {
              progressBarDownload.Value = e.ProgressPercentage;
          }
          private void Completed(object sender, AsyncCompletedEventArgs e)
          {
              labelInfo.Text = "Загрузка успешно завершена.";
          }
      }
}

Вот тебе файл проекта: Загрузить. 61 кб.
Переделай под свои нужды.


Fougerite - Rust Server OpenSource API
TerraDev - Terraria OpenSource Hack


Сообщение отредактировал Riketta - Четверг, 02 Февраля 2012, 09:35
DusklyДата: Четверг, 02 Февраля 2012, 13:03 | Сообщение # 3
Rush Games
Сейчас нет на сайте
Riketta, а можешь переделать чтобы не надо было вводить ссылку?
Например есть 3 кнопки. и каждая из них качает свой файл (если нажать). Поможете?

Добавлено (02.02.2012, 13:03)
---------------------------------------------
ап, помогите!!



Разрабатываеться:
флеш игра для соц. Сетей (Бои друзей) - временное название!
3д игра (пока без названия)
RikettaДата: Четверг, 02 Февраля 2012, 13:16 | Сообщение # 4
Strategist
Сейчас нет на сайте
Так.
Code
          private void buttonNumber1_Click(object sender, EventArgs e)
            {
                saveFileDialogSave.ShowDialog();
                WebClient webClient = new WebClient();
                webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
                labelInfo.Text = "Загрузка...";
                webClient.DownloadFileAsync(new Uri(ССЫЛКА НА ФАЙЛ), saveFileDialogSave.FileName);
                webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
            }
                    private void buttonNumber2_Click(object sender, EventArgs e)
            {
                saveFileDialogSave.ShowDialog();
                WebClient webClient = new WebClient();
                webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
                labelInfo.Text = "Загрузка...";
                webClient.DownloadFileAsync(new Uri(ССЫЛКА НА ФАЙЛ), saveFileDialogSave.FileName);
                webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
            }
                    private void buttonNumber3_Click(object sender, EventArgs e)
            {
                saveFileDialogSave.ShowDialog();
                WebClient webClient = new WebClient();
                webClient.DownloadProgressChanged += new DownloadProgressChangedEventHandler(ProgressChanged);
                labelInfo.Text = "Загрузка...";
                webClient.DownloadFileAsync(new Uri(ССЫЛКА НА ФАЙЛ), saveFileDialogSave.FileName);
                webClient.DownloadFileCompleted += new AsyncCompletedEventHandler(Completed);
            }
   

Делаешь соответственно 3 кнопки на форме, с названиями: buttonNumber1, buttonNumber2, buttonNumber3.
И с событиями соответственно: buttonNumber1_Click, buttonNumber2_Click, buttonNumber3_Click.
Можно тупо сделать 3 string переменные, например:
public string URL1 = "http://gcup.ru/forum/66-20404-1";
public string URL2 = "http://gcup.ru/forum/66-20404-1";
public string URL3 = "http://gcup.ru/forum/66-20404-1";

И переделай код с сылкой каждой кнопки на webClient.DownloadFileAsync(new Uri(URL3), saveFileDialogSave.FileName);
И т.д.

Это же проще простого.


Fougerite - Rust Server OpenSource API
TerraDev - Terraria OpenSource Hack


Сообщение отредактировал Riketta - Четверг, 02 Февраля 2012, 13:17
DusklyДата: Четверг, 02 Февраля 2012, 18:54 | Сообщение # 5
Rush Games
Сейчас нет на сайте
Riketta, Вот новая ошибка:

Добавлено (02.02.2012, 13:46)
---------------------------------------------
Вот я немного по исправлял:

Добавлено (02.02.2012, 13:48)
---------------------------------------------
все, исправил. Вот тупой)) не хватало:

Code
using System.Net;

Добавлено (02.02.2012, 18:17)
---------------------------------------------
ап

Добавлено (02.02.2012, 18:54)
---------------------------------------------
ап



Разрабатываеться:
флеш игра для соц. Сетей (Бои друзей) - временное название!
3д игра (пока без названия)
V1talik30Дата: Пятница, 03 Февраля 2012, 14:34 | Сообщение # 6
VIGO Development
Сейчас нет на сайте
Quote
все, исправил. Вот тупой)) не хватало:
using System.Net;


Бывает. biggrin


Форум игроделов » Программирование » Программирование .NET » Загрузка файла (С сайта на C#)
  • Страница 1 из 1
  • 1
Поиск:

Все права сохранены. GcUp.ru © 2008-2024 Рейтинг