Опции окна редактирования, Функции - Разработка программы "Будильник"

В компоненте Edit вводимый и выводимый текст содержится в свойстве Text. Это свойство можно устанавливать в процессе проектирования или задавать программно. Выравнивание текста, как это имело место в метках и панелях, невозможно. Перенос строк тоже невозможен. Текст, не помещающийся по длине в окно, просто сдвигается, и пользователь может перемещаться по нему с помощью курсора. Свойство AutoSize в окнах редактирования имеет смысл, отличный от смысла аналогичного свойства меток: автоматически подстраивается под размер текста только высота, но не ширина окна.

Окна редактирования снабжены многими функциями, свойственными большинству редакторов. Например, в них предусмотрены типичные комбинации "горячих" клавиш: Ctrl-C -- копирование выделенного текста в буфер обмена Clipboard (команда Copy), Ctrl-X -- вырезание выделенного текста в буфер Clipboard (команда Cut), Ctrl-V -- вставка текста из буфера Clipboard в позицию курсора (команда Paste), Ctrl-Z -- отмена последней команды редактирования.

Edit можно использовать и просто как компоненты отображения текста. Для этого надо установить в true его свойство ReadOnly и целесообразно установить AutoSelect в false. В этом случае пользователь не сможет изменять отображаемый текст, и окно редактирования становится подобным меткам. При использовании окон редактирования для вывода, ввода и редактирования чисел необходимо использовать функции взаимного преобразования строк и чисел. Для вывода это описанные при рассмотрении меток функции FloatToStr и IntToStr. При вводе это функции StrToFloat -- преобразование строки в значение с плавающей запятой, и StrToInt -- преобразование строки в целое значение. Если вводимый текст не соответствует числу (например, содержит недопустимые символы), то функции преобразования генерируют исключение EConvertError.

Этот код обеспечивает сообщение пользователю об ошибке ввода и предотвращает ошибочные вычисления. Впрочем, это не лучший вариант предотвратить ошибочный ввод, поскольку пользователь узнает о своей ошибке только после того, как программа пытается использовать введенные данные. Лучше, если пользователь просто не сможет ввести неправильные символы. Например, если вы хотите, чтобы пользователь мог вводить в окно редактирования Edit только цифры и символ точки, вы можете в обработчик события OnKeyPress этого компонента вставить оператор:

If not (Key in ['0'..'9', ',']) then Key:= #0;

Этот оператор подменит все символы, кроме цифр и запятой, нулевым символом, который не занесется в текст окна Edit.

Внешний вид формы в дизайнере форм. Иерархия расположения компонентов на форме приведена на рис.1

Рис. 9 - Иерархия расположения компонентов на форме

Функции

Ниже приводится описание функций:

// Процедуры чтения времени и дня недели.

Function Time_F: String;

Function Day_F: Integer;

// Процедуры проверки дня недели на каждом будильнике.

Function Day_F1: Boolean;

Function Day_F2: Boolean;

Function Day_F3: Boolean;

Function Day_F4: Boolean;

Function Day_F5: Boolean;

Первые из них читают и форматируют данные времени и дня недели.

Вторые однотипные функции производят сравнение дня недели с конфигурацией будильника для подачи сигнала.

Похожие статьи




Опции окна редактирования, Функции - Разработка программы "Будильник"

Предыдущая | Следующая