![]() |
|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
![]() |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
![]() Я делаю загрузку файла через indy. Вот код:
Код:
procedure TForm3.FormActivate(Sender: TObject); var HTTP:TIdHTTP; LoadStream: TMemoryStream; FileSize:integer; begin form3.ProgressBar1.Position:=0; HTTP:=TIdHTTP.Create(nil); FileSize:=GetInetFileSize(UpdateDir + 'minecraft.zip'); {Возвращает размер файла} form3.ProgressBar1.max:=FileSize; Label2.Caption:='Загрузка... (' + IntToStr(FileSize) + ' байт)'; LoadStream := TMemoryStream.Create; HTTP.Get(updateDir + 'minecraft.zip', LoadStream); {загрузка файла} LoadStream.SaveToFile(appdata + '/' + rootdir + '/minecraft.zip'); LoadStream.Free; {освобождаем поток} HTTP.Free; Form3.Close; form4.Show; end; procedure TForm3.IdHTTP1Work(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Int64); begin form3.ProgressBar1.Position:=AWorkCount;//количество скачаного на данный момент end; ![]() |
#2
|
|||
|
|||
![]() а сервер размер файла сообщает?
в лейбле размер файла появляется на этой строчке Label2.Caption:='Загрузка... (' + IntToStr(FileSize) + ' байт)'; ? |
#3
|
|||
|
|||
![]() а нет, не заметил, HTTP ты ж сам создаёшь, а событию onWork не присвоил.
пропиши там ещё HTTP.OnWork:=IdHTTP1Work; и ещё try поставь =) |
#4
|
|||
|
|||
![]() Цитата:
|