Навигация
Главная
Поиск
Форум
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
Подключение Mic... 65535
Приложение «Про... 65535
Оператор выбора... 65535
Организация зап... 64644
Создание потоко... 62074
Модуль Forms 61244
Создание отчето... 61201
ТЕХНОЛОГИИ ДОСТ... 57660
Пример работы с... 55171
Имитационное мо... 53051
Реклама
Сейчас на сайте
Гостей: 11
На сайте нет зарегистрированных пользователей

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

Моделирование работы узла коммутации сообщений на GPSS + Пояснительная з...
Моделирование работы аэропорта на GPSS + Пояснительная записка
Метод конечных разностей для интерполяции/экстраполяции на Delphi

Реклама



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

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


Комментарии
Андрей 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...
Шаблон для новост...

Случайные загрузки
Blobs [Исходник н...
База данных фильм...
Панель "Случайное...
Приемы программир...
AboutSystem
Приложение Клиент...
Создание лабиринт...
Игра Car [Исходни...
SMLPack v1.0
Профессиональное ...
Counter [Исходник...
PCX
Удаление своего EXE
DCAVI
Х. М. Дейтел, П. ...
PDJXPPack
Программирование ...
Самоучитель PHP 4
AVIwriter
THttpScan v4.1

Топ загрузок
Приложение Клие... 100384
Delphi 7 Enterp... 83554
Converter AMR<-... 20051
GPSS World Stud... 11312
Borland C++Buil... 11238
Borland Delphi ... 8182
Turbo Pascal fo... 6987
Visual Studio 2... 4970
Калькулятор [Ис... 4418
FreeSMS v1.3.1 3516
Случайные статьи
Общие характеристи...
Текстуру можно исп...
Методы-операции де...
Программирование: ...
Технические средст...
Проектирование мод...
Определение параме...
Скорость игры. Аза...
Игровые автоматы. ...
Web-серверпозволяе...
Информационные и с...
_.„, Сервер удален...
Графические возмож...
Как заполнять ране...
Генерация HTTP зап...
Последний вариант ...
Уровень свопинга
Все сетевые операц...
Блок ADVANCE
Отрисовка связных ...

Проблемы внедрения
Задача №2 [GPSS]
Implementation exp...
Типизированные файлы
Статистика



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


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