В VCL существует ряд компонентов, позволяющих вводить, отображать и редактировать числа, даты и время. Конечно, для подобных целей можно использовать компоненты для ввода и отображения текстовой информации, рассмотренные ранее, но это неудобно, т.к. требуется дополнительно организовывать проверку корректности введенных данных.
Компонент UpDown (страница Win32) превращает окно редактирования Edit в компонент, в котором можно выбирать целое число, изменяя его кнопками со стрелками. Если установить свойство ReadOnly компонента Edit в True, то пользователь не сможет ввести какое-либо значение, не используя UpDown.
Основное свойство компонента – Associate, связывающее кнопки со стрелками с одним из оконных компонентов, обычно Edit.
Свойство AlignButton определяет, слева (udLeft) или справа (udRight) относительно компонента будут размещаться кнопки. Свойство Orientation определяет, расположатся кнопки по вертикали (udVertical) или по горизонтали (udHorizontal). Свойство ArrowKeys определяет, будут ли управлять компонентом клавиши клавиатуры со стрелками.
Свойство Min и Max задают минимальное и максимальное значение чисел, свойство Increment задает приращение (по умолчанию 0, 100, 1).
Задание:
1. Начните новый проект InputInt;
2. На форме расположите компоненты, как на рис. 2.11;
Рисунок 2.11
3. Задайте для имеющихся компонентов свойства, представленные в табл. 2.8;
Таблица 2.8
Компонент |
Свойство |
Значение |
LabeledEdit1 |
EditLable.Caption |
Масса, кг (0..100) |
UpDown1 |
Associate |
LabeledEdit1 |
LabeledEdit2 |
EditLable.Caption |
Температура по Цельсию (-50..+50) |
UpDown2 |
Associate |
LabeledEdit2 |
Min |
-50 |
|
Max |
50 |
|
Text |
20 |
|
Align |
udLeft |
|
LabeledEdit3 |
EditLable.Caption |
Номер операции |
ReadOnly |
True |
|
Text |
5 |
|
UpDown3 |
Associate |
LabeledEdit3 |
Min |
5 |
|
Max |
1000 |
|
Increment |
5 |
|
Orientation |
udHorizontal |
|
StaticText1 |
Caption |
50 |
UpDown4 |
Associate |
StaticText1 |
4. Запустите программу и проверьте ее работу (рис. 2.12).
Рисунок 2.12
Компонент SpinEdit (страница Samples) представляет собой сочетание Edit и UpDown. Если не требуется нестандартное расположение кнопок и т.п., то данный компонент удобнее в применении.
Основные свойства компонента SpinEdit имеют другие имена: MinValue, MaxValue, Value.
Задание:
1. Продолжите проект InputInt;
2. На форму добавьте компоненты SpinEdit, Button и Label, как на рис. 2.13;
Рис. 2.13
3. Задайте для добавленных компонентов свойства, представленные в табл. 2.9;
Таблица 2.9
Компонент |
Свойство |
Значение |
SpinEdit1 |
Value |
10 |
Buttom1 |
Caption |
Выполнить |
Label1 |
Caption |
4. Для кнопки создайте обработчик события OnClick (рис. 2.14);
Рисунок 2.14
5. Запустите программу и проверьте ее работу (рис. 2.15).
Рисунок 2.15
Наиболее удобным компонентом для ввода даты и времени является DateTimePicker (страница Win32). Компонент обеспечивает безошибочный с точки зрения синтаксиса ввод дат и времени.
Основное свойство Kind определяет режим работы: dtkDate - ввод даты, dtkTime - ввод времени.
При вводе дат можно задать свойство DateMode равным dmComboBox – наличие выпадающего календаря, или равным dmUpDown – наличие кнопок увеличения и уменьшения.
Формат представления дат определяется свойством DateFormat, которое может принимать значения dfShot – краткий формат, или dfLong – полный формат.
При работе с датой и временем необходимо учитывать особенности типа TDateTime, представляющего собой число с плавающей запятой, целая часть которого содержит число дней, отсчитанной от некоторого начала календаря, а дробная часть равна части 24-часового дня, т.е. характеризует время и не относится к дате. За начало календаря принята дата 12/30/1899 00 часов.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.