Форум по Delphi программированию

Delphi Sources



Вернуться   Форум по Delphi программированию > Все о Delphi > [ "Начинающим" ]
Ник
Пароль
Регистрация <<         Правила форума         >> FAQ Пользователи Календарь Поиск Сообщения за сегодня Все разделы прочитаны

Ответ
 
Опции темы Поиск в этой теме Опции просмотра
  #1  
Старый 20.07.2007, 18:06
shaman shaman вне форума
Новичок
 
Регистрация: 19.07.2007
Сообщения: 65
Репутация: 5
Вопрос Помогите с ProgressBar

У меня на форме есть ProgressBar. Мне нужно написать программный код: свойство Position у ProgressBar должно изменяться со временем, то есть у меня на форме есть Timer и вот например через 5 сек ProgressBar.Position должен стать равным 20% и т.д., а когда Position будет равным 100% то программа будет совершать следующие действия по своему коду.
Ответить с цитированием
  #2  
Старый 20.07.2007, 19:03
Аватар для 4kusNick
4kusNick 4kusNick вне форума
Местный
 
Регистрация: 06.09.2006
Адрес: Россия, Санкт-Петербург
Сообщения: 444
Репутация: 550
По умолчанию

Ну, тебе надо поставить таймер на форму с периодом 5000 миллисекунд. По событию OnTimer прибавлять Position у ProgressBar'а, и там же можно проверять, какой Position у ProgrssBar'а

А еслинадо плавно, то ставь таймер на 500 мсек и расчитай, какой нужно поставить Max у Progress Bar'а и на сколько увеличивать Position (можно оперировать со StepIt)...
__________________
THE CRACKER IS OUT THERE
Ответить с цитированием
  #3  
Старый 20.07.2007, 19:34
shaman shaman вне форума
Новичок
 
Регистрация: 19.07.2007
Сообщения: 65
Репутация: 5
По умолчанию Допиши мне код

Пожалуйста допиши мне код, а то я полный ламер

procedure TForm3.Timer1Timer(Sender: TObject);

begin
ProgressBar1.Position

end;

end.
Ответить с цитированием
  #4  
Старый 20.07.2007, 19:54
Аватар для Winny
Winny Winny вне форума
Продвинутый
 
Регистрация: 26.05.2007
Адрес: Планета земля, Россия, Москва
Сообщения: 620
Репутация: 30
По умолчанию

procedure TForm3.Timer1Timer(Sender: TObject);
begin
ProgressBar1.Position:=0;
ProgressBar1.Position:=ProgressBar1.Position+20;
if ProgressBar1.Postion=100 then
Timer1.Enabled:=false;
{Дальнейшие действия программы}
end;

end.
Свойство Interval у Timer1 ставь на 5000 миллисекунд.
Ответить с цитированием
  #5  
Старый 20.07.2007, 20:08
Аватар для 4kusNick
4kusNick 4kusNick вне форума
Местный
 
Регистрация: 06.09.2006
Адрес: Россия, Санкт-Петербург
Сообщения: 444
Репутация: 550
По умолчанию

Код:
procedure TForm3.Timer1Timer(Sender: TObject);
begin
  ProgressBar1.Position := ProgressBar1.Position + 20;
  if ProgressBar1.Postion >= 100 then
  begin
    Timer1.Enabled := False;
    {Дальнейшие действия программы}
  end
  else
    Exit;
end;

Код:
ProgressBar1.Position:=0;
нельзя помещать в OnTimer,
Обнулять прогресс нужно перед включением таймера

Код:
//...
  ProgressBar1.Position:=0;
  ProgressBar1.Max:=100; // это можно и в Design-time настроить
  Timer1.Enabled := True;
//...


Так будет Вернее
__________________
THE CRACKER IS OUT THERE

Последний раз редактировалось 4kusNick, 20.07.2007 в 20:28.
Ответить с цитированием
  #6  
Старый 20.07.2007, 22:24
Аватар для Winny
Winny Winny вне форума
Продвинутый
 
Регистрация: 26.05.2007
Адрес: Планета земля, Россия, Москва
Сообщения: 620
Репутация: 30
По умолчанию

Спасибо 4KusNick за то что поправил меня Я забыл обнулить позицию Прогресс Бара
Ответить с цитированием
Ответ


Delphi Sources

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск
Опции просмотра

Ваши права в разделе
Вы не можете создавать темы
Вы не можете отвечать на сообщения
Вы не можете прикреплять файлы
Вы не можете редактировать сообщения

BB-коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.
Быстрый переход


Часовой пояс GMT +3, время: 00:36.


 

Сайт

Форум

FAQ

Соглашения

Прочее

 

Copyright © Форум "Delphi Sources" by BrokenByte Software, 2004-2025