Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

ProgressBar1 [D7, XP]


Страницы:   1 2

Chort ©   (2006-08-22 22:07:00) 

Вопрос таков.
Нужно чтоб по таймеру, кот. выставлен на 5 секунд происходило заполнение прогресс бара. или может без таймера. Короче говоря как сделать чтоб за пять секунд заполнился компонент ProgressBar1 таблетками?Спасибо.


Ketmar   (2006-08-23 17:00:00) [1]

> [29] Германн ©   (23.08.06 16:58)
так я тоже не помню. но пока извиняюсь. %-) если найду опровержение -- буду  сражаться более предметно. %-)


Anatoly Podgoretsky   (2006-08-23 17:00:00) [2]

Ну я написал, что уже не помню - давно это было, RTC это как раз он и есть.


Пусик   (2006-08-23 16:59:00) [3]


> Ketmar ©   (23.08.06 16:14) [21]
> > [19] Пусик ©   (23.08.06 14:48)почитал. "The multimedia
> timer runs in its own thread". отсюда и мои выводы. из win32.
> hlp. а то, что они меряют интервалы, предположим (предположим!
> ) через QueryPerformanceCounter(), а не через GetTickCount()
> -- сути не меняет.зыж тон не сбавите, уважаемая? я понимаю,
>  вам всё вокруг не нравится, но выдержку всё же полезно
> тренировать.


Прошу прощения, но побеспокойся о своей выдержке прежде.

PS.
Анекдотов не предлагать. Здесь не курилка.

PPS.
КРоме всего прочего, MMT как раз из-за ресурсоемкости в системе тоже может быть весьма ограниченное количество.


Германн   (2006-08-23 16:58:00) [4]


> Anatoly Podgoretsky ©   (23.08.06 16:47) [24]
>
> Смотри описание БИОС и устройство IBM PC компьютеров.
> Пробел конечно досадный, связан с терминологией MultiMedia
> - ну хотелось им использовать громкое слово, и вот так всех
> запутали, когда это обычный таймер от часов. 2^15 от частоты
> 32768 кгц (кварц) получается одна секунда, а один из промежуточных
> выходов (2^5) идет на прерывание (номер не помню).
>

Чего-то я такого по IBM PC не помню. Помню только, что можно было использовать RTC как будильник. Он тогда вызывал прерывание 4Ah.


Ketmar   (2006-08-23 16:57:00) [5]

вдогон: извиняюсь перед Пусик ©. был неправ.


Anatoly Podgoretsky   (2006-08-23 16:57:00) [6]

Тебе достаточно написали, чтобы все написать, задумайся хотя бы насчет 50 мс


Ketmar   (2006-08-23 16:57:00) [7]

> [24] Anatoly Podgoretsky ©   (23.08.06 16:47)
понял. tnx.


Chort   (2006-08-23 16:50:00) [8]

Я извиняюсь, что прерываю вашу дискуссию, но можно пример?


Anatoly Podgoretsky   (2006-08-23 16:47:00) [9]

Смотри описание БИОС и устройство IBM PC компьютеров.
Пробел конечно досадный, связан с терминологией MultiMedia - ну хотелось им использовать громкое слово, и вот так всех запутали, когда это обычный таймер от часов. 2^15 от частоты 32768 кгц (кварц) получается одна секунда, а один из промежуточных выходов (2^5) идет на прерывание (номер не помню).


Ketmar   (2006-08-23 16:36:00) [10]

> [22] Anatoly Podgoretsky ©   (23.08.06 16:21)
э-э-э... а разве CMOS умеет стрелять прерываниями в таком стиле? можно ссылочку, или хотя бы ключевые слова для поиска, чтобы не продираться через кучу страниц, содержащих буквы CMOS?
просто интересно, я о таких фактах не знаю. досадный пробел.


Anatoly Podgoretsky   (2006-08-23 16:21:00) [11]

Да есть такая штука в компьютере, как CMOS память, частью ее является MM Timer, есть поддержка в БИОС и в ОС, минимальный интервал чуть менее 1 мс. На уровне АПИ поддержаны callback фунции, поэтому точность очень высокая, в отлии от обычного трехканального таймера, цикл которого 55 ms или 10 мс в НТ, низкоприоритетный таймер.


Ketmar   (2006-08-23 16:14:00) [12]

> [19] Пусик ©   (23.08.06 14:48)
почитал. "The multimedia timer runs in its own thread". отсюда и мои выводы. из win32.hlp. а то, что они меряют интервалы, предположим (предположим!) через QueryPerformanceCounter(), а не через GetTickCount() -- сути не меняет.

зыж тон не сбавите, уважаемая? я понимаю, вам всё вокруг не нравится, но выдержку всё же полезно тренировать.

> [20] Anatoly Podgoretsky ©   (23.08.06 14:50)
то есть, он вызывается прерыванием от часиков или подобным? возможно, но я такой информации не встречал. впрочем, спорить не стану -- именно поэтому. %-)


Anatoly Podgoretsky   (2006-08-23 14:50:00) [13]

Ketmar ©   (23.08.06 11:20) [17]
Это вообще то аппаратный таймер.


Пусик   (2006-08-23 14:48:00) [14]


> Ketmar ©   (23.08.06 11:20) [17]


Да вот хотя бы обсуждение почитай, чтобы из пустого в порожнее не переливать.
http://www.megalib.com/books/461/data/discission434.htm

PS.
Анекдотов мне не надо. Здесь не курилка.


alex_***   (2006-08-23 14:26:00) [15]

отражай в прогрессе реальный ход сохранения данных - прикинь сколько операций сохранения и пиши "сохраняется ххх", после чего наращивай progress


Ketmar   (2006-08-23 11:20:00) [16]

> [11] Пусик ©   (23.08.06 02:56)
уважаемая, mm-timer -- это не что иное, как отдельный поток с кодом, похожим на [9]. не вижу разницы, кто будет создавать поток -- непосредственно программа, или виндовая DLL. только в последнем случае писать меньше.


Chort   (2006-08-23 10:54:00) [17]

to PSPF2003
Да, занимает сохранение много, так как конфигурации не мало + сохранение базы данных.


Наиль   (2006-08-23 10:08:00) [18]


> procedure TCloseform.Timer1Timer(Sender: TObject);
> begin
> close
> end;

procedure TCloseform.Timer1Timer(Sender: TObject);
begin
// Заполнение до 100% за 5 сек :o)
progressbar.position:=100;
close
end;
А если серьёзно, то ставь интервал на 50мс, прибавляй по 1%, при достижении 100% закрывай форму. Всё.


PSPF2003   (2006-08-23 09:57:00) [19]


> По закрытию главной формы у меня идет сохранение конфигурации
> в .ini файл

Ни фига себе конфиг!


Chort   (2006-08-23 09:50:00) [20]

Уточняю(или дополняю) вопрос.
По закрытию главной формы у меня идет сохранение конфигурации в .ini файл . Это занимает около 5 секунд. Вот чтоб не было так скучно я и решил сделать заставку на закрытие. В главной форме написал
procedure TForm1.FormClose(Sender: TObject; var Action: TCloseAction);
begin
CloseForm.showModal;
end;

На формочку CloseForm кинул таймер , поставил 5000
procedure TCloseform.Timer1Timer(Sender: TObject);
begin
close
end;

И бросил на эту форму ProgressBar.
Теперь по закрытию главной формы показывается CloseForm на пять секунд и закрывается(вместе с главной). Так вот как добавить к этому и ProgressBar.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо