Модераторы: Poseidon, Snowy, bems, MetalFan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отображение течения времени на форме, на progressbar 
:(
    Опции темы
Олег_Игоревич
Дата 13.2.2006, 16:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 21.1.2005

Репутация: нет
Всего: нет



Здравствуйте!
Подскажите пожалуйста как можно отобразить ход течения времени на progressbar'e.
Например задаю время =10 секундам , после чего форма закрывается.
И эти 10 секунд отображаются на progressbar'e.
Заранее спасибо!
--------------------
Используй жизнь ПО ПОЛНОЙ !!!  
PM MAIL   Вверх
_hunter
Дата 13.2.2006, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Участник Клуба
Сообщений: 8564
Регистрация: 24.6.2003
Где: Europe::Ukraine:: Kiev

Репутация: 15
Всего: 98



вешаеш на форму таймер. задаеш ему интервал 1000. в обработчике тика увеличиваеш какую-нить переменную на 1. и когда эта переменная == 10 -- выходиш


--------------------
Tempora mutantur, et nos mutamur in illis...
PM ICQ   Вверх
z-END
Дата 13.2.2006, 16:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прафесар™
****


Профиль
Группа: Комодератор
Сообщений: 3014
Регистрация: 13.3.2003
Где: Венья, Пиетари

Репутация: 11
Всего: 102



в JEDI для этого есть специальный компонент jvWaitingProgress - ему просто задаешь время и всеsmile


--------------------
Каждый чилавек пасвоему праф...а памоему НЕТ! 

PM WWW ICQ   Вверх
SomlicH
Дата 13.2.2006, 17:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 19
Регистрация: 24.1.2006
Где: г. Абинск

Репутация: нет
Всего: нет



Я в Gauges - отображал, но делал так: если таймер выставить на секунду, то увеличение полоски будет слишком резко и некрассиво.

Делаем так - пусть искомое время 10с, добавлять в Gauges будем по единице с помощью метода
Gauge1.AddProgress(1); а значение таймера высчитаем по формуле 10000 (т.е. 10с) /100, получается интервал срабатывания таймера равен 100.

Включаем программу, высчитываем интервал, активизируем таймер и полоска плавно ползет до 10с.

Крассиво и эффектно. Причем секунды - ставь сколько хочь, формула работает.

Пусть не изящно, зато без специальных компонентов.

Кстати если Gauge1.Progress:=100; то останавливаем таймер и Form1.Close;

Это сообщение отредактировал(а) SomlicH - 13.2.2006, 17:26
PM MAIL   Вверх
SoWa
Дата 13.2.2006, 19:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Харекришна
****


Профиль
Группа: Комодератор
Сообщений: 2422
Регистрация: 18.10.2004

Репутация: 2
Всего: 74



Ставим progressbar`у max=100 и все то же что и с gauge.


--------------------
Всем добра smile
PM MAIL ICQ   Вверх
Foley
Дата 13.2.2006, 23:14 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Фсемба Яцца
*


Профиль
Группа: Участник
Сообщений: 235
Регистрация: 31.1.2006
Где: Россия, Арх.обл

Репутация: 2
Всего: 7



настрой таймер
и на событии ОнТайм пишы:
прогрессбар.позитион:=прогрессбар.позитион+1(или скока те надо, в зависимости от времени);
несложно в принцыпе...
PM MAIL ICQ   Вверх
Олег_Игоревич
Дата 14.2.2006, 12:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 21.1.2005

Репутация: нет
Всего: нет



Можно пример!
--------------------
Используй жизнь ПО ПОЛНОЙ !!!  
PM MAIL   Вверх
Демо
Дата 14.2.2006, 13:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1278
Регистрация: 3.11.2005

Репутация: 30
Всего: 50



Код

procedure TForm1.Button1Click(Sender: TObject);
begin
  ProgressBar1.Position := 0;
  ProgressBar1.Max := 100;
  ProgressBar1.Min := 0;
  Timer1.Interval := 100;
  Timer1.Enabled := True;
end;

procedure TForm1.TimerTimer1(Sender: TObject)
begin
  ProgressBar1.Position := ProgressBar1.Position + 1;
  if ProgressBar1.Position=100 then
  begin
     Timer1.Enabled := False;
     Form1.Close;
  end;
end;



--------------------
    
PM MAIL ICQ Skype   Вверх
Олег_Игоревич
Дата 26.2.2006, 12:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 21.1.2005

Репутация: нет
Всего: нет



Скажите пожалуйста , а как можно реализовать процедуру, чтобы например форма закрылась через ,например, 3 месяца или 1 год.То есть при непрерывной работе приложения через 3 месяца или 1 год форма должна закрыться.
Заранее спасибо.
--------------------
Используй жизнь ПО ПОЛНОЙ !!!  
PM MAIL   Вверх
Guedda
Дата 26.2.2006, 13:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Подрывник
****


Профиль
Группа: Завсегдатай
Сообщений: 3137
Регистрация: 27.12.2005
Где: Ростов-на-Дону

Репутация: 14
Всего: 78



Кидаешь таймер, и люое значение в интервал пишешь...
В коде таймера прописываешь:
Код

procedure TForm1.Timer1Timer(Sender : TObject);
var
  StartDate : TDateTime;
  dd,mm,yyyy : Word;
  dd2,mm2,yyyy2 : Word;
begin
  StartDate := StrToDate('26.02.2006');
  DecodeDate(StartDate, dd,mm,yyyy);
  DecodeDate(Now, dd2,mm2,yyyy2);
  if mm+3 = mm2 then Close; //если прошло 3 месяца, то закрываемся...
end;


Есть конечно, и побыстрее методы, но я их не помню smile


--------------------
Ll 2
PM MAIL WWW ICQ Skype GTalk   Вверх
Олег_Игоревич
Дата 27.2.2006, 12:36 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 101
Регистрация: 21.1.2005

Репутация: нет
Всего: нет



Guedda, спасибо.Тема исчерпана.
--------------------
Используй жизнь ПО ПОЛНОЙ !!!  
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Delphi: Общие вопросы"
SnowyMetalFan
bemsPoseidon
Rrader

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами

  • Литературу по Дельфи обсуждаем здесь
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • Вопросы по реализации алгоритмов рассматриваются здесь
  • 90% ответов на свои вопросы можно найти в DRKB (Delphi Russian Knowledge Base) - крупнейшем в рунете сборнике материалов по Дельфи


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, Snowy, MetalFan, bems, Poseidon, Rrader.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Delphi: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0543 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.