Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Delphi программирование > Работа с сетью в Delphi
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 18.11.2009, 20:06   #1
KoBRaAndrey
Форумчанин
 
Регистрация: 01.10.2009
Сообщений: 302
По умолчанию ProgressBar для скачивания

нашел в интернете код скачивания:
var
ToFolder:string;
begin
IdHTTP1:=TIdHTTP.Create(nil);
str:=TFileStream.Create('D:\askinde mo222.zip', fmCreate);
try
IdHTTP1.Get('http://www.alphaskins.com/sfiles/askindemo.zip',str);
finally
IdHTTP1.Free;
str.Free;
end;

Вот только не пойму как прогресс бар привентить, пробывал узнать размер:
var
ToFolder:string;
begin
IdHTTP1:=TIdHTTP.Create(nil);
str:=TFileStream.Create('D:\askinde mo222.zip', fmCreate);
try
IdHTTP1.Get('http://www.alphaskins.com/sfiles/askindemo.zip',str);
showmessage(IntToStr(str.size));
finally
IdHTTP1.Free;
str.Free;
end;
но размер показывался после того как файл загрузился...
KoBRaAndrey вне форума Ответить с цитированием
Старый 18.11.2009, 20:48   #2
KoBRaAndrey
Форумчанин
 
Регистрация: 01.10.2009
Сообщений: 302
По умолчанию

Так, сам разобрался, тему можно удалять
KoBRaAndrey вне форума Ответить с цитированием
Старый 18.11.2009, 23:21   #3
Lime
Форумчанин
 
Аватар для Lime
 
Регистрация: 10.02.2009
Сообщений: 815
Радость

Цитата:
Сообщение от KoBRaAndrey Посмотреть сообщение
Так, сам разобрался, тему можно удалять
Уж изволь код в студию) Для поиска полезно
Lime вне форума Ответить с цитированием
Старый 11.07.2010, 03:21   #4
projectsoft
Пользователь
 
Аватар для projectsoft
 
Регистрация: 09.06.2010
Сообщений: 13
По умолчанию

unit Unit1;

interface

uses
SimpleXML, Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient,
IdHTTP, StdCtrls, ComCtrls;

type
TForm1 = class(TForm)
Button1: TButton;
HTTP: TIdHTTP;
ListBox1: TListBox;
ProgressBar1: TProgressBar;
procedure Button1Click(Sender: TObject);
procedure HTTPWorkBegin(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCountMax: Integer);
procedure HTTPWorkEnd(Sender: TObject; AWorkMode: TWorkMode);
procedure HTTPWork(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
procedure HTTPConnected(Sender: TObject);
private
procedure Theard;
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.Theard;
var
Stream: TFileStream;
begin
Stream:= TFileStream.Create('gmbartlist.xml' ,fmCreate);
try
HTTP.Get('http://bar.gismeteo.ru/gmbartlist.xml',Stream);
finally
Stream.Free;
end;
ListBox1.Items.LoadFromFile('gmbart list.xml');
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
Theard;
end;

procedure TForm1.HTTPWorkBegin(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCountMax: Integer);
begin
ProgressBar1.Max:= AWorkCountMax;
end;

procedure TForm1.HTTPWorkEnd(Sender: TObject; AWorkMode: TWorkMode);
begin
ProgressBar1.Position:= 0;
Button1.Enabled:= True;
end;

procedure TForm1.HTTPWork(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
begin
ProgressBar1.Position:= AWorkCount;
Application.ProcessMessages;
end;

procedure TForm1.HTTPConnected(Sender: TObject);
begin
Button1.Enabled:= False;
end;

end.

Ну лень человеку отвечать. Ему проще задавать и ждать когда ему ответят.
projectsoft вне форума Ответить с цитированием
Старый 04.04.2011, 23:46   #5
pomkalk
Пользователь
 
Регистрация: 01.04.2011
Сообщений: 13
По умолчанию

Цитата:
Сообщение от projectsoft Посмотреть сообщение
unit Unit1;
procedure TForm1.HTTPWork(Sender: TObject; AWorkMode: TWorkMode;
const AWorkCount: Integer);
begin
ProgressBar1.Position:= AWorkCount;
Application.ProcessMessages;
end;
А что значит тут строка Application.ProcessMessage(); и зачем она нужна!
pomkalk вне форума Ответить с цитированием
Старый 04.04.2011, 23:52   #6
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

чтоб приложение могло обрабатывать сообщение(короче окно чтоб не висло)
в данном случае это важно, иначе не увидите своего прогрессбара(точнее изменений в нем)
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подскажите скрип для скачивания файлов в системе, работающей через плагин к adobe reader 9 Барби Свободное общение 19 27.07.2009 22:41
скрипт для скачивания файлов с сервера alx777 PHP 5 11.07.2009 16:19
Проги для скачивания сайта Bingam Vici Софт 1 22.02.2009 10:06
программа для скачивания сайтов Noor Свободное общение 1 26.04.2007 16:59