Навигация
Главная
Поиск
Форум
FAQ's
Ссылки
Карта сайта
Чат программистов

Статьи
-Delphi
-C/C++
-Turbo Pascal
-Assembler
-Java/JS
-PHP
-Perl
-DHTML
-Prolog
-GPSS
-Сайтостроительство
-CMS: PHP Fusion
-Инвестирование

Файлы
-Для программистов
-Компонеты для Delphi
-Исходники на Delphi
-Исходники на C/C++
-Книги по Delphi
-Книги по С/С++
-Книги по JAVA/JS
-Книги по Basic/VB/.NET
-Книги по PHP/MySQL
-Книги по Assembler
-PHP Fusion MOD'ы
-by Kest
Professional Download System
Реклама
Услуги

Автоматическое добавление статей на сайты на Wordpress, Joomla, DLE
Заказать продвижение сайта
Программа для рисования блок-схем
Инженерный калькулятор онлайн
Таблица сложения онлайн
Популярные статьи
OpenGL и Delphi... 65535
Форум на вашем ... 65535
HACK F.A.Q 65535
Бип из системно... 65535
Гостевая книга ... 65535
Содержание сайт... 65535
Вызов хранимых ... 65535
Эмулятор микроп... 65535
Приложение «Про... 64233
Организация зап... 62819
Оператор выбора... 62675
Invision Power ... 62219
Подключение Mic... 61038
Модуль Forms 59935
Создание отчето... 59864
ТЕХНОЛОГИИ ДОСТ... 56078
Программируемая... 55600
Пример работы с... 53188
Имитационное мо... 51450
21 ошибка прогр... 46440
Реклама
Сейчас на сайте
Гостей: 8
На сайте нет зарегистрированных пользователей

Пользователей: 13,057
новичок: Aidar
Новости
Реклама
Выполняем курсовые и лабораторные по разным языкам программирования
Подробнее - курсовые и лабораторные на заказ
Delphi, Turbo Pascal, Assembler, C, C++, C#, Visual Basic, Java, GPSS, Prolog, 3D MAX, Компас 3D
Заказать программу для Windows Mobile, Symbian

Двунаправленный динамический список на Delphi + Блок схемы
Расчет размера дохода на одного человека в Turbo Pascal
Моделирование работы обрабатывающего участка цеха в GPSS

Реклама



Подписывайся на YouTube канал о программировании, что бы не пропустить новые видео!

ПОДПИСЫВАЙСЯ на канал о программировании
Таймер - компонент Timer
Компонент Timer (таймер) (вкладка System) служит для иницииро-
вания какого-либо события через определенные интервалы (проме-
жутки) времени. Данный компонент является невизуальным, поэтому
при проектировании его значок можно поместить в любое место фор-
мы. Основные свойства компонента приведены в табл. 1.1.
Таблица 1.1. Свойства компонента Timer

Таймер включается при установке значения True в его свойство
Enabled. Однажды включенный таймер будет через равный промежу-
ток времени (заданный в свойстве Interval) возбуждать событие
Timer до тех пор, пока его свойство Enabled не примет значения
False.
Рассмотрим пример, демонстрирующий использование компонен-
та Timer для реализации плавного появления окна приложения на эк-
ране (когда окно из прозрачного плавно становится полностью непро-
зрачным). В разрабатываемое приложение необходимо поместить
компонент Timer и написать два обработчика для событий FormCreate
и Timer в соответствии с листингом:
//Событие, возникающее при создании формы
procedure TForm1.FormCreate(Sender: TObject);
begin
AlphaBlend:=true; //разрешаем менять прозрачность формы
AlphaBlendValue:=5; //начальная степень прозрачности
Timer1.Interval:=55; //интервал времени для таймера
Timer1.Enabled:=true;//запуск таймера
end;
//Событие, возникающее всякий раз по истечении времени,
//определяемого свойством Timer1.Interval пока Timer1
//реагирует на событие OnTimer (Enabled=true)
procedure TForm1.Timer1Timer(Sender: TObject);
begin
if AlphaBlendValue=255 //проверка непрозрачности формы
then //если форма полностью непрозрачна
Timer1.Enabled:=false //выключаем таймер
else //если форма пока прозрачна
AlphaBlendValue:=AlphaBlendValue+5 //увеличиваем степень
//непрозрачности
end;



Пример. Создадим программу простейшего секундомера, внешний
вид которой показан на рис. 1.1.
Внешний вид проектируемого приложения «Секундомер»
Рис. 1.1. Внешний вид проектируемого приложения «Секундомер»
(слева – на этапе разработки, справа – на этапе выполнения)
Разместим на форме компоненты в соответствии с рис. 1.1. Снача-
ла свойство Enabled компонента Timer установлено в False, поэтому
таймер не генерирует никаких сообщений. Процедура обработки со-
бытия Click на кнопке Пуск (Button1) присваивает свойству Enabled
значение True, тем самым запуская таймер или значение
Enabled:=False, тем самым останавливая его. Процедура обработки
события Timer отсчитывает интервалы с момента нажатия на кнопку
Пуск. Нажатие на кнопку Сброс останавливает секундомер — опять же
изменением свойства Enabled таймера Timer1.
Листинг программы:
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics,
Controls, Forms, Dialogs, StdCtrls, ExtCtrls;
type
TForm1 = class(TForm)
Timer1: TTimer;
Label1: TLabel;
Button1: TButton;
Button2: TButton;
procedure FormCreate(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Timer1Timer(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
sec, min: 0..60;
implementation
{$R *.dfm}
//Событие, возникающее при создании формы
procedure TForm1.FormCreate(Sender: TObject);
begin
Label1.Caption:='00:00'; //текст метки
Button1.Caption:='Пуск'; //название кнопки Button1
Button2.Caption:='Сброс'; //название кнопки Button2
Timer1.Enabled:=false //таймер не запущен
end;
//Обработка нажатия на кнопку "Пуск" / "Стоп"
procedure TForm1.Button1Click(Sender: TObject);
begin
if Timer1.Enabled
then //если секундомер работает
begin
Timer1.Enabled:=False; //останавливаем таймер
Button1.Caption:='Пуск'; //меняем название кнопки
Button2.Enabled:=True; //кнопка "Сброс" доступна
end
else //если секундомер не работает
begin
Timer1.Enabled:=True; //запускаем таймер
Button1.Caption:='Стоп'; //меняем название кнопки
Button2.Enabled:=False; //кнопка "Сброс" недоступна
end
end;
//Обработка нажатия на кнопку "Сброс"
procedure TForm1.Button2Click(Sender: TObject);
begin
sec:=0;
min:=0;
Label1.Caption:='00:00';
Button2.Enabled:=False; //кнопка "Сброс" недоступна
Timer1.Enabled:=False; //останавливаем таймер
end;
//Событие, возникающее всякий раз по истечении времени,
//определяемого свойством Timer1.Interval пока Timer1
//реагирует на событие OnTimer (Enabled=true)
procedure TForm1.Timer1Timer(Sender: TObject);
var
str: string;
begin
if sec=59
then
begin
inc(min);
sec:=0;
end
else inc(sec);
if min<10
then str:='0'+IntToStr(min)
else str:=IntToStr(min);
if sec<10
then str:=str+':0'+IntToStr(sec)
else str:=str+':'+IntToStr(sec);
Label1.Caption:=str;
end;
end.


Опубликовал Kest December 05 2009 21:03:51 · 7 Комментариев · 26967 Прочтений · Для печати

• Не нашли ответ на свой вопрос? Тогда задайте вопрос в комментариях или на форуме! •


Комментарии
Андрей March 20 2010 19:22:43
Спасибо помогло.
Umid June 04 2010 08:53:32
Spasiba za kod smiley
Коля August 23 2010 15:21:51
Спасибо
fps November 04 2010 17:55:05
Громадное спасибо!!!!!!smiley
ТорТ November 24 2011 17:10:51
О, понял как оно работает, спасибо.
Сергей March 03 2012 18:54:46
Хорошая статья ...
Rick November 11 2015 15:25:44
спасибо
Добавить комментарий
Имя:



smiley smiley smiley smiley smiley smiley smiley smiley smiley
Запретить смайлики в комментариях

Введите проверочный код:* =
Рейтинги
Рейтинг доступен только для пользователей.

Пожалуйста, залогиньтесь или зарегистрируйтесь для голосования.

Нет данных для оценки.
Гость
Имя

Пароль



Вы не зарегистрированны?
Нажмите здесь для регистрации.

Забыли пароль?
Запросите новый здесь.
Поделиться ссылкой
Фолловь меня в Твиттере! • Смотрите канал о путешествияхКак приготовить мидии в тайланде?
Загрузки
Новые загрузки
iChat v.7.0 Final...
iComm v.6.1 - выв...
Visual Studio 200...
CodeGear RAD Stud...
Шаблон для новост...

Случайные загрузки
начисление процен...
С# для профессион...
Простой текстовый...
Программирование ...
TrayIcon
Создание Web-сайт...
ProLIB18
GamesBase 3.0
Приемы программир...
JanButtonsV
EMS QuickExport S...
Ранги для форума
Карта сайта
DiskInfo
Swing. Эффектные...
CoolHints2k
Нестандартные при...
XPButtons
Создание оригинал...
Как программирова...

Топ загрузок
Приложение Клие... 100366
Delphi 7 Enterp... 82180
Converter AMR<-... 20046
Borland C++Buil... 11050
GPSS World Stud... 10421
Borland Delphi ... 8035
Turbo Pascal fo... 6959
Visual Studio 2... 4961
Калькулятор [Ис... 4259
FreeSMS v1.3.1 3508
Случайные статьи
Оптимальная органи...
Too many EXTRN def...
Случайные последов...
В чем отличие ANI/...
Время и материалы
Структура книги
Эффективное уменьш...
Разборка приставки...
Интерпретаторы
Конфигурирование м...
Приём создания qua...
Мониторинг состоян...
Суммирование маршр...
Структура программы
Непроверяемые прео...
внести параметры в...
Развлечения Вулкана
Преобразование зад...
Протокол групповой...
Проверить, правиль...
Другие «примочки»
Система 4.4BSD - л...
Добавление в форму...
Задачи для проверки
Экспертная система
Статистика



Друзья сайта
Программы, игры


Полезно
В какую объединенную сеть входит классовая сеть? Суммирование маршрутов Занимают ли таблицы память маршрутизатора?