Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.12.16;
Скачать: CL | DM;

Вниз

Помогите разобраться с ProgressBar ом!!!   Найти похожие ветки 

 
Almias ©   (2002-12-05 15:14) [0]

Вот пытаюсь в фун-ю вставить ProgressBar , но так как надо он не работает!ПРОСВЕТИТЕ меня пожалуйста!!!
Вот код:

function TForm1.GetInetFile(const URL, FN: String): boolean;
const BufferSize = 1024;
var
hSession, hURL: HInternet;
Buffer: array[1..BufferSize] of Byte;
BufferLen: DWORD;
f: File;
sAppName: string;
begin
ProgressBAr1.Position:=0;
sAppName := ExtractFileName(Application.ExeName);
hSession := InternetOpen(PChar(sAppName), INTERNET_OPEN_TYPE_PRECONFIG,nil, nil, 0);
try
hURL := InternetOpenURL(hSession,PChar(URL),nil,0,0,0);
try
AssignFile(f, FN);
Rewrite(f,1);
repeat
ProgressBAr1.Position:=ProgressBAr1.Position+1;
InternetReadFile(hURL, @Buffer, SizeOf(Buffer), BufferLen);
BlockWrite(f, Buffer, BufferLen);

Application.ProcessMessages();
until BufferLen = 0;
CloseFile(f);
Result:=True;
finally
InternetCloseHandle(hURL)
end
finally
InternetCloseHandle(hSession)
end
end;

ЗАРАНЕЕ СПАСИБО!!!


 
_Nicola_   (2002-12-05 15:19) [1]

Во-первых: из вопроса совсем не ясно, что надо.
Во-вторых у ProgressBar есть свойства Max и Step. Для корректной работы надо их устанавливать.
И в третьих вместо ProgressBAr1.Position := ProgressBAr1.Position + 1; можно писать ProgressBAr1.StepIt.


 
Almias ©   (2002-12-05 16:01) [2]

Спасибо что откликнулись! Закавыка была в том, что в процесе закачки ProgressBAr не изменялся. Я поставил ProgressBAr1.Update; и вроде получилось...
_Nicola_ отдельное спасибо за ProgressBAr1.StepIt !!!
И насчет Max и Step: как в моём случае правильно расчитать их?
Заранее Спасибо!!!


 
Song ©   (2002-12-05 16:08) [3]

Скорей всего в TProgressBar.Max надо занести длину файла. В увеличивать прогресс надо не на 1, а на BufferLen


 
Almias ©   (2002-12-05 16:10) [4]

Огромное спасибо,щас буду пробывать!!!!


 
Anatoly Podgoretsky ©   (2002-12-05 16:25) [5]

_Nicola_ (05.12.02 15:19)
Из всего выше сказаного, только установка MAx обязательна

Almias © (05.12.02 16:01)
Это тоже неверно, правильнее Application.ProcessMessages



Страницы: 1 вся ветка

Текущий архив: 2002.12.16;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.017 c
14-51941
Andrey V.
2002-11-23 19:58
2002.12.16
Table в памяти


3-51584
Bakch
2002-11-27 12:51
2002.12.16
---|Ветка была без названия|---


3-51565
dimonka
2002-11-26 23:14
2002.12.16
FastReport


3-51607
Chudya
2002-11-26 09:56
2002.12.16
Посоветуйте хорошую книгу для создания удаленной базки на Делфи 6


1-51680
VJar
2002-12-05 18:33
2002.12.16
Признак завершения процесса