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

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

Моделирование регулировочного участка цеха на GPSS + Пояснительная записка
Моделирование интернет кафе на GPSS + Отчет
Моделирование работы класса персональных компьютеров на GPSS + Отчет + Б...

Таймер - компонент 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 18:03:51 · 7 Комментариев · 35134 Прочтений · Для печати

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


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

Случайные загрузки
HTMLredaktor
БД сеть компьютер...
Размещение элемен...
DS_Group
Создание отчетов ...
Binary2XMLDemo (Р...
Задача о 8ми ладьях
PHP 5
JanComp
Упорядоченный дин...
HtmlLerz PRO
TDBF
Delphi7 Для профе...
AlnComponents
Allsubmitter 4.7 ...
INSTANT BOOSTER v...
DirHTMLReportBuil...
Функции Visual Basic
Tag Игра "Пятнашк...
В.Понамарев - COM...

Топ загрузок
Приложение Клие... 100774
Delphi 7 Enterp... 97833
Converter AMR<-... 20268
GPSS World Stud... 17014
Borland C++Buil... 14191
Borland Delphi ... 10291
Turbo Pascal fo... 7373
Калькулятор [Ис... 5984
Visual Studio 2... 5207
Microsoft SQL S... 3661
Случайные статьи
Современные слот-а...
Внутри метода getS...
Вулкан игры онлайн
Реализация IUnknown
Успешная проверка
Мы реализуем обраб...
Информация о прода...
Что произойдет, ес...
изучение основных ...
• Computer Configu...
Выбор объекта Data...
Создание и отправк...
Протокол SNMP
Как вывести форум ...
Вулкан 777
Объекты GPSS.
Возникновение взаи...
Процедура LineRel ...
Автоматизация ручн...
Откат транзакций
Порядок в базе данных
Узел ограничения д...
Магистерская работ...
данных зоны DNS (т...
— закрытый ключ 80...
Статистика



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


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