Навигация
Главная
Поиск
Форум
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
Invision Power ... 65535
Пример работы с... 65535
Содержание сайт... 65535
Организация зап... 65535
Вызов хранимых ... 65535
Создание отчето... 65535
Программируемая... 65535
Эмулятор микроп... 65535
Подключение Mic... 65535
Создание потоко... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Модуль Forms 65535
ТЕХНОЛОГИИ ДОСТ... 63078
Имитационное мо... 58363
Реклама
Сейчас на сайте
Гостей: 6
На сайте нет зарегистрированных пользователей

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

Лабораторная работа по динамическим спискам на Turbo Pascal (перемещение...
Моделирование работы крупного аэропорта на GPSS + Пояснительная записка
Обучающая и тестирующая программа по здаче экзамена ПДД на Turbo Pascal ...

Реклама



Подписывайся на 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 Комментариев · 30389 Прочтений · Для печати

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


Комментарии
Андрей March 20 2010 19:22:43
Спасибо помогло.
Umid June 04 2010 09:53:32
Spasiba za kod smiley
Коля August 23 2010 16:21:51
Спасибо
fps November 04 2010 17:55:05
Громадное спасибо!!!!!!smiley
ТорТ November 24 2011 18:10:51
О, понял как оно работает, спасибо.
Сергей March 03 2012 19: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...
Шаблон для новост...

Случайные загрузки
WordReport
SynEdit
DeleteEdit
Распознавание иде...
ЯЗЫК ПРОГРАММИРОВ...
Использование Lis...
Время загрузки ...
Программирование ...
Illusion
isoCanvas (Редакт...
DCMintry
ZipTV
IIIDTrans
Page Promoter 7.7...
Формирование отче...
IMtale
Распознавание тек...
AboutSystem
LaserTank [Исходн...
Пишем программы и...

Топ загрузок
Приложение Клие... 100481
Delphi 7 Enterp... 87904
Converter AMR<-... 20082
GPSS World Stud... 13570
Borland C++Buil... 12072
Borland Delphi ... 8676
Turbo Pascal fo... 7048
Visual Studio 2... 5005
Калькулятор [Ис... 4912
FreeSMS v1.3.1 3545
Случайные статьи
Советы тем, кто же...
Технология HFC и к...
пользователям
Конструктор копиро...
Программы для созд...
С чего начинается ...
Абстрактные типы д...
Распространенные о...
Как управление изм...
• Модернизированны...
ПФЭК
Некоторые миры
Малая вирусная энц...
Раскрутка сайта в ...
Массивы и классы, ...
Работа с диспетчер...
Где уклономер купить
Построение дерева ...
Прототип метода
Исключения
Впрочем, зачастую ...
Комбинирование CSS...
Время и материалы
Табл. 15-6.
2. Безопасность DH...
Статистика



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


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