Показать сообщение отдельно
  #15  
Старый 28.01.2010, 09:52
Аватар для s0Creator
s0Creator s0Creator вне форума
Местный
 
Регистрация: 20.02.2008
Адрес: Московская область
Сообщения: 420
Репутация: 884
По умолчанию

Цитата:
Сообщение от NotFake
Создай на форме таймер(TTimer). В обработчик события OnTimer(два раза клацни по таймеру) напиши:

a := random(15);
Form1.ProgressBar1.Position := Form1.ProgressBar1.Position + a;
Timer1.Interval := random(3000);
if Form1.ProgressBar1.Position > = 100 then begin
Timer1.Enabled := false;
// Другие события, которые должны выполнятся при заполнении прогрессБара
end;

Этот метод самый простой и самый надежный.
Моя аська 398202116, можеш написать в аську, я подробней опишу.
Метод самый простой, но и самый не эффективный.
Подставляем в место
Код:
// Другие события, которые должны выполнятся при заполнении 
действие на 3 секунды и получаем:
3 секунды чтото выполняем с подвисанием формы, потом random(3000) миллисекунд ничего не делаем - но можно нажать на форму. и так пока все не сделаем.
если же в TNewThead.Execute; вместо Sleep(3000); подставить действие на 3 секунды - то оно будет выполняться в фоне и прерываться только на установку шкалы.
Немного доделать TNewThead и можно в фоне выполнять что то полезное с возможностью прерывания.
Ответить с цитированием