Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Delphi: Общие вопросы > "Зависание программы" на время выполнения цикла


Автор: andrey_post 28.1.2004, 16:51
Мне необходимо сделать СплешьСкрин с ProgressBar во время выполения цыкла загрузки данных в ListView или ListBox. Как сие воплотить? а то во время выполнения этого процесса программка как будто "зависает"... confused.gif

Автор: bagira 28.1.2004, 19:32
В компоненте ProgressBar свойства Min и Max определяют диапазон изменения значений свойства Position. Соответственно надо эти величины связать с параметрами цикла. Простой примерчик.

----------------------
procedure TForm1.Button1Click(Sender: TObject);
{На форме - ProgressBar и Кнопка. По нажатию кнопки начнет закрашиваться ProgressBar}

var i:integer;
begin
{Свойства Min, Max - задаются или в тексте программы или в Object Inspector}

for i:=ProgressBar1.Min to ProgressBar1.Max do
begin
...
Sleep(50); {Какие-то действия в твоем цикле}
ProgressBar1.Position:=i;
end;
end;
-----------------------

Автор: Pakshin A. S. 28.1.2004, 19:39
Есть замечательная штука: Application.ProcessMessages - суй в тело цикла и не будет виснуть!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)