Содержание
100 компонентов Delphi — Timer
100 компонентов Delphi — Timer
Компонент Timer позволяет задавать в приложении интервалы времени. Таймер находит многочисленные применения: синхронизация мультипликации, закрытие каких-то окон, с которыми пользователь долгое время не работает, включение хранителя экрана или закрытие связей с удаленным сервером при отсутствии действий пользователя, регулярный опрос каких-то источников информации, задание времени на ответ в обучающих программах — все это множество задач, в которых требуется задавать интервалы времени, решается с помощью таймера.
Таймер — невизуальный компонент, который может размещаться в любом месте формы. Он имеет два свойства, позволяющие им управлять: Interval — интервал времени в миллисекундах и Enabled — доступность. Свойство Interval задает период срабатывания таймера. Через заданный интервал времени после предыдущего срабатывания, или после программной установки свойства Interval, или после запуска приложения, если значение Interval установлено во время проектирования, таймер срабатывает, вызывая событие OnTimer. В обработчике этого события записываются необходимые операции.
Если задать Interval = 0 или Enabled = false, то таймер перестает работать. Чтобы запустить отсчет времени надо или задать Enabled = true, если установлено положительное значение Interval, или задать положительное значение Interval, если Enabled = true.
Например, если требуется, чтобы через 5 секунд после запуска приложения закрылась форма — заставка, отображающая логотип приложения, на ней надо разместить таймер, задать в нем интервал Interval = 5000, а в обработчик события OnTimer вставить оператор Close, закрывающий окно формы.
Если необходимо в некоторой процедуре запустить таймер, который отсчитал бы заданный интервал, например, 5 секунд, после чего надо выполнить некоторые операции и отключить таймер, это можно сделать следующим образом. При проектировании таймер делается доступным (Enabled = true), но свойство Interval задается равным 0. Таймер не будет работать, пока в момент, когда нужно запустить таймер, не выполнится оператор
Timer1.Interval := 5000;
Через 5 секунд после этого наступит событие OnTimer. В его обработчике надо задать оператор
Timer1.Interval := 0;
который отключит таймер, после чего можно выполнять требуемые операции.
Другой эквивалентный способ решения задачи — использование свойства Enabled. В время проектирования задается значение Interval = 5000 и значение Enabled = false. В момент, когда надо запустить таймер выполняется оператор
Timer1.Enabled := true;
В обработчик события OnTimer, которое наступит через 5 секунд после запуска таймера, можно вставить оператор
Timer1.Enabled:=false;
который отключит таймер.
Таймер точно выдерживает заданные интервалы Interval, если они достаточно велики — сотни и тысячи миллисекунд. Если же задавать интервалы длительностью десятки или единицы миллисекунд, то реальные интервалы времени оказываются заметно больше вследствие различных накладных расходов, связанных с вызовами функций и иными вычислительными аспектами.
ООП на Delphi – 6: Заставка программы и элемент таймер
Цикл презентаций «ООП на Delphi» посвящен объектно – ориентированному программированию с
использованием одной из самых распространенных систем быстрой разработки приложений – Delphi
Используя данный учебный курс, можно самостоятельно овладеть основами объектно –
ориентированного программирования на Delphi. Для расширения Ваших знаний к курсу приложен
ряд учебных пособий и справочников по Delphi
Цикл содержит 13 презентаций:
ООП на Delphi – 1: Знакомство с системой программирования Borland Delphi. Объекты (компоненты) и их
свойства и методы
ООП на Delphi – 2: Первая программа на Delphi, сохранение и компиляция
ООП на Delphi – 3: Программное изменение свойств объектов
ООП на Delphi – 4: Условия в Delphi. Создание простого теста
ООП на Delphi – 5: Элементы ввода и вывода информации. Обработка исключений
ООП на Delphi – 6: Заставка программы и элемент таймер
ООП на Delphi – 7: Программируем свою игрушку
ООП на Delphi – 8: Меню программы, диалоги
ООП на Delphi – 9: Создаем свой текстовый редактор
ООП на Delphi – 10: Базы данных на Delphi
ООП на Delphi – 11: Калькулятор на Delphi. Обработка исключительных ситуаций
ООП на Delphi – 12: Создаем тестирующую систему
ООП на Delphi – 13: Графика на Delphi
Delphi использует язык программирования Объект Паскаль, поэтому лучше сначала изучить обычный Паскаль и поработать в ТурбоПаскале, а затем
и переходить к Delphi – перейти будет очень просто, т.к синтаксис языка остается неизменным.
Изучение ООП на Delphi желательно проводить в старших профильных классах – количество часов, отводимое на информатику там вполне
достаточно для освоения основ ООП на Delphi
Объектно –
ориентированное
программирование на
DELPHI — 6
@ Краснополянская школа № 1 Домнин Константин Михайлович 2006 год
DELPHI — 6
На этом уроке:
Мы научимся создавать программы,
имеющие несколько форм, заставку,
появляющуюся перед созданием
основной формы программы, а также
познакомимся с применением
компонента таймер
Вопросы:
1. Приложения, содержащие
несколько форм
2. Приложения, использующие
компонент таймер
3. Создание заставки программы
1. Приложения,
содержащие несколько
форм
Объектно – ориентированное программирование на DELPHI — 6
Приложения, содержащие несколько форм
В подавляющем большинстве приложения содержат не одну, а несколько
форм, которые могут появляться при возникновении определенных событий.
Например, приложения с базами данных часто содержат десятки различных
форм.
Наша задача – научиться создавать приложения из нескольких
взаимосвязанных форм
Для начала давайте создадим приложение из 3 связанных форм. Рассмотрим
процесс создания приложения по шагам:
ШАГ 1
Запускаем Delphi и у нас автоматически создается форма1 (Form1).
В свойстве Caption формы назовем ее — «ГЛАВНАЯ». Delphi
автоматически делает эту форму главной или стартовой – она
первой открывается при запуске приложения (хотя мы можем это
изменить)
Приложения, содержащие несколько форм
ШАГ 2
Добавим к нашему приложению еще 2 формы, которые назовем
«Математика» и «Физика»
Для этого зайдем в меню Файл –
> Создать -> Форма
Создадим форму2 (Form2), которую
назовем «Математика». Аналогично
создадим и форму «Физика»
Приложения, содержащие несколько форм
ШАГ 3
Сейчас надо «познакомить» все эти формы. Т.е. главная форма
должна «знать» о существовании форм «Математика» и «Физика», а
те, в свою очередь, должны знать о существовании ГЛАВНОЙ и друг
о друге. Это нужно для того, чтобы мы могли из одной формы
вызвать другую
Сделаем активной форму «ГЛАВНАЯ» (просто щелкнем по ней мышкой), зайдем в
меню Файл -> Использовать модуль, где укажем на использование формы
«Математика» (Unit2). Затем снова зайдем и укажем модуль Unit3 (форма «Физика»)
Сейчас форма
«ГЛАВНАЯ» знает о
существовании
форм «Математика»
и «Физика» и может
к ним обращаться
Аналогично сделайте активной форму
«Математика» и свяжите ее с модулями Unit1 и
Unit3. (С формами «ГЛАВНАЯ» и «Физика»)
То же самое сделайте для формы «Физика»
Приложения, содержащие несколько форм
ШАГ 4
Итак, мы «познакомили» формы, а сейчас их свяжем, т. е. по
событию в одной форме появляется другая
Разместим на форме «ГЛАВНАЯ» 3 кнопки:
• Математика – для открытия формы «Математика»
• Физика – для открытия формы «Физика»
• ВЫХОД – для выхода из приложения
Приложения, содержащие несколько форм
ШАГ 4
Итак, мы «познакомили» формы, а сейчас их свяжем, т.е. по
событию в одной форме появляется другая
Аналогично на формах «Математика» и «Физика» разместим кнопки «Закрыть»
для закрытия этих форм
Приложения, содержащие несколько форм
ШАГ 4
Итак, мы «познакомили» формы, а сейчас их свяжем, т.е. по
событию в одной форме появляется другая
Сделаем двойной щелчок кнопке «МАТЕМАТИКА» на форме «Главная» для
перехода в редактор
В процедуре нажатия на
кнопку «Математика»
запишем:
Form2.showModal
Приложения, содержащие несколько форм
ШАГ 4
Итак, мы «познакомили» формы, а сейчас их свяжем, т.е. по
событию в одной форме появляется другая
Сделаем двойной щелчок кнопке «Физика» на форме «ГЛАВНАЯ» для
перехода в редактор
В процедуре нажатия на
кнопку «Физика»
запишем:
Form3. show
Приложения, содержащие несколько форм
ШАГ 4
Итак, мы «познакомили» формы, а сейчас их свяжем, т.е. по
событию в одной форме появляется другая
Сделаем двойной щелчок кнопке «ВЫХОД» на форме «ГЛАВНАЯ» для
перехода в редактор
В процедуре нажатия на
кнопку «ВЫХОД»
запишем:
close
Приложения, содержащие несколько форм
ШАГ 4
Итак, мы «познакомили» формы, а сейчас их свяжем, т.е. по
событию в одной форме появляется другая
Разберемся с кодом:
Для вызова формы на экран (показа ее) в Delphi
существуют метод Show (Show Modal)
Метод Show Modal вызывает модальное окно (окно,
которое полностью берет на себя управление
программой и пока мы его не закроем, мы не сможем
выполнять какие – либо действия в другом окне)
(Окно формы «Математика» у нас является
модальным)
Примером модальных окон являются системные
сообщения Windows
Метод Show выводит обычное окно, при этом мы
можем что-то делать в другом окне, не закрывая
первого
(Окно формы «Физика» у нас не является модальным
– оно обычное)
Приложения, содержащие несколько форм
Думаю, не требуется объяснений для написания кода кнопок
«Закрыть» на формах «Математика» и «Физика»
ШАГ 4
И последний шаг: сохраняем проект и компилируем его (посмотрите
внимательно, что у Вас сохранилось: кроме файла проекта
сохранились файлы каждого модуля (каждой формы)
ШАГ 5
Все.
Можно запустить
приложение и попробовать
его работу (и сравните
поведение окон форм
«Математика» и «Физика» одно из них модальное, а
другое – нет)
Запустить ->
Итак, мы научились создавать
приложения из многих взаимосвязанных
форм (конечно же в самом простом
варианте их использования)
2. Приложения,
содержащие компонент
таймер
Объектно – ориентированное программирование на DELPHI — 6
Приложения, содержащие компонент таймер
Сначала познакомимся с компонентом Таймер (Timer) и его свойствами.
Компонент Таймер является невидимым, т.е
при работе приложения его не видно на форме,
но мы также можем управлять им – запускать
или останавливать эти «часики». И по этим
часам через определенные, заданные нами
промежутки времени, могут происходить
различные события
Основные свойства таймера:
1. Enabled (доступность).
Если Enabled имеет
значение True, то таймер
запущен (часы идут)
Если Enabled имеет
значение False, таймер
остановлен
2.
Interval (промежуток времени
«тиканий» часов – через каждый такой
промежуток может происходить какое – то
заданное нами событие).
Интервал измеряется в миллисекундах
(Например, если значение Interval=1000,
значит период срабатываний таймера 1000
миллисекунд,т.е. 1 секунда)
Приложения, содержащие компонент таймер
А сейчас давайте рассмотрим его использование на примере создания
программы – секундомера (по шагам)
Определим требования к программе:
Одноформенное приложение с прямым отсчетом времени (без обратного
отсчета), кнопками ПУСК и СТОП, индикацией прошедшего промежутка
времени с точностью до десятых долей секунды
По мере продвижения в изучении Delphi и создания прикладных программ
наши объяснения работы с компонентами и кодом будут все меньше,
чтобы не повторяться и не загромождать курс.
Если встречается что – то непонятное – смотрите внимательно
предыдущие уроки, а также справочник А.Я.Архангельского «100
компонентов общего назначения Delphi»
Приложения, содержащие компонент таймер
ШАГ 1
Запускаем Delphi и на форме размещаем необходимые
компоненты. Делаем соответствующие надписи
Label, в котором будет
динамически отображаться
ход времени
Манифест ХР для
украшения
приложения в
стиле Windows XP
Кнопка ПУСК, которая будет
запускать таймер и обнулять
показания Label -a
Timer, который будет
управлять ходом
времени (Свойству
Interval в инспекторе
объектов установим
значение 100 (0,1 сек))
Кнопка СТОП,
которая будет
останавливать
таймер
Приложения, содержащие компонент таймер
Создаем обработчики событий
ШАГ 2
Событие создания формы
Первое событие – это создание формы (On Create), которое происходит каждый
раз при запуске приложения
При запуске приложения в Label –e должен быть ноль, переменная k, значение
которой будет отображаться в ходе подсчета в Label-e – тоже ноль, а таймер
должен «стоять»
Пишем ноль в Label-e
Присваиваем ноль k
Таймер останавливаем
Приложения, содержащие компонент таймер
Создаем обработчики событий
ШАГ 3
Событие нажатия на кнопку ПУСК
При нажатии на кнопку ПУСК таймер должен запускаться, а показания Label-a и k
обнуляться, чтобы счет шел сначала, а не нарастающим итогом
Обнуляем значение k
В Label-e выводим ноль
Запускаем таймер
Приложения, содержащие компонент таймер
Создаем обработчики событий
ШАГ 4
Событие нажатия на кнопку СТОП
При нажатии на кнопку СТОП таймер должен остановиться
Останавливаем
таймер
ШАГ 5
Заставим таймер считать (сделаем двойной щелчок по
таймеру и запишем код)
При каждом
срабатывании
таймера к значению
k должно
прибавляться 0,1
(100 мс)
При каждом срабатывании таймера в Label-e
будет отображаться значение k
Приложения, содержащие компонент таймер
Создаем обработчики событий
ШАГ 6
ШАГ 7
Не забудьте объявить переменную k – ее тип будет конечно real
Сохраняем, компилируем и запускаем программу
Запустить ->
Мы познакомились с таймером и научились его использовать.
В следующих примерах мы также будем его применять, в
частности при создании заставки программы
3. Создание заставки
программы
Объектно – ориентированное программирование на DELPHI — 6
Создание заставки программы
Во многих приложениях перед открытием главного (стартового окна программы)
возникает заставка – окно с информацией о программе, логотипом и пр., которое
обычно само исчезает через несколько секунд. Причем заставка может
сопровождаться и музыкальным фрагментом
Посмотреть пример ->
Вы уже поняли, что в качестве примера мы создадим заставку для нашего
секундомера, который мы только что создали
ШАГ 1
Запускаем Delphi и открываем проект с нашим секундомером,
затем создаем новую форму (Файл -> Создать -> Форма) – эта
форма и будет нашей заставкой
На этой форме размещаем информацию,
картинки и т.д. – поработаем над дизайном
Свойству BorderStyle этой формы даем
значение BsNone, чтобы у формы, как
обычно бывает у заставки, не было границ
И помещаем на форму компонент таймер –
он будет «показывать» нам заставку
определенное нами время (Поставим
интервал таймера – 3000, а Enabled =True)
Создание заставки программы
Как поместить на форму картинку?
Для этого служит
компонент Image,
который находится на
вкладке Дополнительно
Помещаем компонент на
форму и раскрываем в
инспекторе объектов его
свойство Picture
В редакторе изображения
щелкаем кнопку «Загрузить»
и появившемся окне
загрузки изображения
находим нужную картинку
на диске компьютера
Осталось нажать ОК и
картинка вставлена
Посмотрите в инспекторе объектов свойства компонента Image, попробуйте
изменять их значения и посмотрите, к чему это приведет
Создание заставки программы
ШАГ 2
Сейчас заходим в меню Delphi:
Проект-> Опции и переносим
форму2 (заставку) из раздела
Автосоздание в раздел Доступные
формы
Делаем двойной щелчок на Таймере и
в обработчике события пишем:
Т. е. через 3 секунды таймер
сработает и сам себя выключит, а
заставка исчезнет с экрана ( при
открытии формы Enabled мы ставили
True и отсчет времени сразу пошел)
Создание заставки программы
ШАГ 3
А сейчас откроем файл проекта, нажав Ctrl+F12 ( и выберем
Проект1), в котором вставим немного кода (выделено красным)
Что было
Разбор кода проекта оставим на
будущее
Что станет
Создание заставки программы
ШАГ 4
Последний шаг: сохраняем, компилируем и запускаем
Запустить ->
На этом урок закончен
ИТОГИ УРОКА:
На этом уроке мы научились создавать приложения,
содержащие несколько форм, познакомились со свойствами и
применением таймера, а также создали заставку для программы
НА СЛЕДУЮЩЕМ УРОКЕ:
ООП на Delphi – 7:
Мы попробуем создать свою игру, используя компоненты,
применять которые мы уже умеем
Домнин Константин Михайлович
E – mail: [email protected]
2006 год.
Aptiv (Delphi) 2-ходовой черный таймер 2.
8 Герметичный разъем-розетка
Дополнительные замки
Деталь № | Описание | Минимальное количество | Цена | Кол-во | |
---|---|---|---|---|---|
100-00863 |
Bosch 2 Way BLACK JPT Timer 2.8 TPA |
– | 4,50 $ |
Терминалы
Часть № | Описание | Минимальное количество | Цена | Кол-во | |
---|---|---|---|---|---|
100-00123 |
Aptiv (Delphi) Timer 2. 8 JPT Female Герметичная оловянная клемма (Sn) 20-16 AWG подходит к разъему генератора Bosch |
4 | 0,40 $ |
Кабельные уплотнения
Деталь № | Описание | Минимальное количество | Цена | Кол-во | |
---|---|---|---|---|---|
100-00192 |
Кабельная пломба Delphi Metri-Pack 150 СИНЯЯ для кабелей диаметром 1,70-1,29 мм |
10 | 0,27 $ | ||
100-00194 |
Кабельная пломба Delphi Metri-Pack 150 БЕЛАЯ для кабеля диаметром 2,15-1,60 мм |
10 | 0,27 $ | ||
100-00193 |
Кабельная пломба Delphi Metri-Pack 150 КРАСНАЯ для кабеля диаметром 2,85-2,03 мм |
10 | 0,27 $ |
Автомобильные разъемы
- Разъемы
- Соединительные пигтейлы
- Комплекты разъемов ЭБУ
- Комплекты разъемов датчика
- Автомобильные соединительные системы
- Клеммы и контакты
6L80E T43 6L90E Отвод
соединителя передачи
Деталь №:
100-00886
Цена:
56,99 $
Посмотреть товар
Системы электропроводки двигателя LS Gen III: 1997–2007 гг.
Последняя книга владельца EFI Connection Майка Нунана
№ по каталогу
:
SA516
Цена:
36,95 $
Посмотреть товар
Straight Interface, Power Timer, Delphi – WireCare.com
Подробная информация о продукте
Производитель:
Harnessflex
Деталь производителя:
CI08-PTD2
64
2 8 Снижение цен
Цена за единицу
Расширенный Цена
Количество:
Цена за единицу: 1,50 $
3
3 90 502 90 5002 90 0
Подробная информация о продукте
Производитель Harnessflex
Номер по каталогу производителя CI08-PTD2
Описание продукта
Straight30271
ВНЕШНИЙ ШАРНИРНЫЙ СОЕДИНИТЕЛЬ IN113F90 s обеспечение надежного соединения между различными соединителями серии Delphi и системами кабелепроводов Harnessflex. Эти интерфейсы предназначены для защелкивания на всех типах щелевых и неразрезных кабелепроводов Harnessflex, сохраняя максимальный диаметр кабелепровода.
ДИАПАЗОН ТЕМПЕРАТУР: от -40ºC до 120ºC
МАТЕРИАЛ: Полиамид (нейлон) 66
ХАРАКТЕРИСТИКИ:
- СВОЙСТВА:
- Высокая прочность на отрыв — гофры кабелепровода плотно входят в соединительные стыки.
- Этикетки с размерами кабелепровода — на каждом соединении указан номинальный размер кабелепровода для облегчения установки
- Полиамид (нейлон) 66
- Степень защиты IP40
- Очень высокая устойчивость к ультрафиолетовому излучению
- Самозатухающий, с низкой токсичностью дыма и без галогенов
СООТВЕТСТВИЕ:
- Маркировка CE директиве по низковольтному оборудованию
- RoHS Соответствует 2011/65/EU
- Соответствует директиве ЕС200/53/EC
об утилизации транспортных средств (ELV)
Технические характеристики
Цвет Черный
Общая цена: 1,50 долл. США
ed для улучшения эстетики, пружины и времени установки.
FLEXO® Закругленная форма может сохранять форму в течение всего срока службы изделия. Он широко используется как в розничной торговле, так и в медицинских целях.
Добавить комментарий