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


Автор: s1lver 30.4.2008, 21:56
На форме расположен TTimer значение Interval:=3000, и ProgressBar.
Вообщем мне нужно чтобы в течение этого времени он непрерывно работал, ну или хотябы дошел до конца.
Пробовал так:

Код

 ProgressBar1.Position := ProgressBar1.Position + 1;
 ProgressBar1.Position:=300;


но он у меня заполняется сразу.... smile 

Подскажите, если не трудно, пожалуйста.

Автор: Rodman 30.4.2008, 22:06
Код

ProgressBar1.Position := ProgressBar1.Position + 1;
оставь тока это

Автор: Poseidon 30.4.2008, 22:07
Цитата(s1lver @  30.4.2008,  21:56 Найти цитируемый пост)
Вообщем мне нужно чтобы в течение этого времени он непрерывно работал
В течении какого времени? Этих трех секунд?

Ставим в инспекторе: 
ProgressBar1.Max:=100;
Timer.Interval:=30
Код

procedure TForm1.TimerTimer(Sender: TObject);
begin
ProgressBar.Position:= ProgressBar.Position+1;

if ProgressBar.Position = ProgressBar.Max
then Timer.Enabled:= False;
end;


Автор: Данкинг 30.4.2008, 23:05
Дык, максимальное значение небось не выставлено.

Автор: s1lver 1.5.2008, 13:47
Спасибо за помощь. smile 

Вообщем я ще вот так попробовал.
Код

with ProgressBar1 do
begin
SetWindowLong (Handle, GWL_STYLE, (GetWindowLong (Handle, GWL_STYLE) or PBS_MARQUEE));
Perform(PBM_SETMARQUEE, 1, 50);
end;


Вообщем выглядет даже лучше...

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