Учебный центр "ANIT Texno Inform"
Опубликован: 25.06.2014 | Доступ: свободный | Студентов: 2315 / 712 | Длительность: 24:39:00
Специальности: Программист
Самостоятельная работа 1:

Экранная заставка

< Лекция 10 || Самостоятельная работа 1: 12 || Лекция 11 >
Аннотация: Эта лекция написана в виде лабораторной работы, и посвящена закреплению пройденного материала на практике. Описан весь путь создания полноценного рабочего приложения: экранной заставки в виде часов. Кроме того, в лекции описывается работа с системным таймером TTimer и с функцией-генератором случайных чисел Random().

Цель лекции

Закрепление пройденного материала на практике, изучение компонента TTimer и функции-генератора случайных чисел Random().

Постановка задачи

Время от времени для закрепления пройденного материала мы будем выполнять лабораторные работы - реальные программные проекты различной сложности. На этот раз мы с вами сделаем экранную заставку в виде электронных часов. Проект разрабатывается на платформе Windows XP SP3, но и на других версиях Windows должно получиться также.

Прежде всего, экранная заставка занимает весь экран, не имеет системной строки, главного меню и обрамления главного окна. Да и окно у экранной заставки, как правило, одно. Еще одно различие - файл с экранной заставкой имеет расширение *.scr (от англ. screen - экран) а не *.exe, как программа. Тем не менее, экранная заставка - та же программа.

Подумаем, каким образом мы можем реализовать такую заставку в виде часов. Ответ напрашивается сам собой: установить в центре экрана обычную панель, на которой в свойстве Caption выводить текущее время. Однако, это скучно. Пусть эта панель еще и перемещается по экрану по случайной траектории! Чтобы реализовать такой проект, нам придется изучить пару вещей: системный таймер TTimer и функцию-генератор случайных чисел Random().

Реализация проекта

Вообще-то, вначале положено разработать алгоритм программы.

Алгоритм - набор инструкций, описывающих порядок действий исполнителя для достижения результата решения задачи за конечное число действий (из Википедии).

Но наш проект достаточно прост, поэтому алгоритма, как такового, нет. Начнем проект, при необходимости разрабатывая алгоритм дальнейших действий по ходу дела. Откройте Lazarus с новым проектом, свойство Name главной формы сразу переименуйте в fMain. Сохраните проект в папку 11-01 под именем MyClock, а модуль главной формы назовите Main.

Теперь займемся окном. Поскольку у окна заставки не должно быть системной строки, свойство BorderStyle установим в bsNone. А так как это окно должно занимать весь экран, свойство WindowState переведем в wsMaximized. Свойство Color установим в clBlack, чтобы форма стала черной. И ещё: свойство формы Cursor переведем в crNone, чтобы в работающей заставке не было видно указателя мыши (зачем она там?).

Пойдем далее. Установим на форму метку TLabel. Не обращайте внимания, что на черном фоне её пока не видно на форме. Изменим у неё некоторые свойства:

  • Name = lClock (так мы будем обращаться к метке в программном коде; l - сокращение от label - метка, Clock - часы)
  • Caption = 00:00:00
  • Font = Times New Roman, жирный курсив, 48 пикселей. Цвет шрифта выберите желтый.
  • ParentColor = True (это заставит метку всегда сливаться с формой, а цвет шрифта будет контрастировать с общим фоном)

Если вы забыли, как настроить свойства шрифта, то напомню: нужно выделить свойство Font, затем нажать на кнопку с тремя точками в правой части свойства, в Инспекторе объектов:

Установка свойств шрифта

Рис. 11.1. Установка свойств шрифта

Откроется окно, где вы сможете выбрать шрифт, начертание, размер и цвет шрифта. Можете выбрать свои цвета для шрифта и панели, главное, чтобы они контрастировали друг с другом, и хорошо сочетались с черным цветом формы, который мы установим позже.

В результате выполненных действий у вас должно получиться примерно такое окно:

Окно главной формы

Рис. 11.2. Окно главной формы

Не волнуйтесь по поводу того, что окно пока маленькое, а системная строка и обрамления окна есть - когда программа будет работать, окно займет весь экран, если вы не напутали с параметрами формы.

< Лекция 10 || Самостоятельная работа 1: 12 || Лекция 11 >
Инга Готфрид
Инга Готфрид
Александр Скрябнев
Александр Скрябнев

Через WMI, или используя утилиту wmic? А может есть еще какие более простые пути...