Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   [решено] ProcessBar (http://forum.oszone.net/showthread.php?t=229410)

NickDang 03-03-2012 11:47 1871402

ProcessBar
 
Вложений: 1
Здраствуйте, нужно зачудить такую штуку на рисунке с 4мя полосками ProcessBar . и чтобы эти полоски двигались вправо, а дойдя до конца процесбара, появлялись слева и продолжали то же самое.

Delirium 05-03-2012 01:19 1872538

NickDang, в чем проблема то? Увеличиваем прогресс бар; когда его значение станет равно максимальному, отнимаем значения и так по кругу.

NickDang 05-03-2012 15:59 1872873

Код:

procedure TForm1.Timer1Timer(Sender: TObject);
begin
progressbar1.Position :=  progressbar1.Position + 5;
if progressbar1.Position = 100 then timer1.Enabled := false;
PostMessage(ProgressBar1.Handle, $0409, 0, clGray);
end;


lxa85 05-03-2012 16:37 1872897

Можно и так. Я бы правда условие поставил больше или равно. Т.к. значение прогресбара может и перейти за 100 (ну мало ли), не остановив таймер.
А еще наверно правильней - посмотреть по внимательней свойства ProgressBar. У него должно быть много параметров, отвечающих за "размер прогресса" в том числе.

NickDang 05-03-2012 18:53 1873002

какой код нужен чтобы значение обнулялось после 100 и заново продолжало...

Delirium 06-03-2012 02:34 1873249

NickDang, ты вообще язык этот знаешь хоть немного или нет? Что, значение прогрессбара в ноль поставить, это такой сложный процесс?

NickDang 06-03-2012 14:24 1873492

я учусь ) с паскалем немного разобрался.
ну приравнять нулю, значит это дописать в конце, и тогда он останавливается там и не продолжает...
progressbar1.Position :=0

opel431 08-03-2012 12:19 1874759

Цитата:

Цитата NickDang
и тогда он останавливается там и не продолжает »

Так измените код NickDang:

progressbar1.Position := progressbar1.Position + 1;
if progressbar1.Position >= 100 then
progressbar1.Position =0;

В свойствах таймера Interval:=100;

Получите бесконечный цикл! Вообще, смотрите свойства Max, Min, Step.

Судя по вложению, Вы хотели получить прогресс с бесконечным циклом иного варианта. Не знаю, в какой версии Вы работаете, поэтому предложу простое - поищите Графический ProgressBar для приложения Delphi.


Время: 00:08.

Время: 00:08.
© OSzone.net 2001-