Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2002.12.16;
Скачать: [xml.tar.bz2];

Вниз

Помогите разобраться с 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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.008 c
14-51886
Bublichek
2002-11-22 15:52
2002.12.16
ОПРОС


3-51612
PeregudSergey
2002-11-28 04:06
2002.12.16
TADOStoredProcedure error


7-51982
Senka
2002-10-14 18:30
2002.12.16
Учет печати на принтере в Win2k


3-51627
Dracula
2002-11-28 11:09
2002.12.16
Разрыв соединения с сервером


6-51870
boolean
2002-10-07 13:40
2002.12.16
Help





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский