Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Р3_Контроль_ печать.doc
Скачиваний:
1
Добавлен:
01.04.2025
Размер:
319.49 Кб
Скачать

Пример 2. Контроль ввода с использованием Case

Дано: текстовое поле Edit2.

Требуется: разработать процедуру, контролирующую ввод символов (событие OnKeyPress) соответствующих алфавиту вещественных чисел. При вводе недопустимого символа подменить его пустым значением (код #0). Использовать оператор case.

После назначения события  Object TreeViewEdit1

Object Inspector Events OnKeyPress,

в разделе interface будет объявлена процедура Edit2KeyPress(Sender: TObject; var Key: Char). В разделе implementation появится текст шаблона этой процедуры.

Текст, добавленный разработчиком, выделен курсивом.

procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char);

begin

case Key of

'0'..'9': ; // диапазон допустимых символов, оператор отсутствует

',' : ; // допустима запятая

#8 : ; // допускается использование <Backspace>

else Key := Chr(0); // другие символы подменяются пустым символом

end;

end;

Параметр-переменная Key соответствует коду символа нажатой клавиши. Если вводимый символ не соответствует указанному символьному множеству ['0'..'9', '+', '-', ‘,’, #8], то параметру-переменной Key будет присвоено пустое значение (функция Chr(0) возвращает пустое значение, код #0).

Преобразования Строка-Число и Число-Строка

Для ввода или отображения чисел используют функции преобразования.

StrToInt (S: String): Integer - преобразует символы строки S в целое число.

IntToStr (Value: Integer): String - преобразует целое число Value в строку символов.

StrToFloat (S: String): Extended - преобразует символы строки S в вещественное число.

StrToIntDef (S: String; Default: Integer): Integer - преобразует строку S в целое число, если строка содержит недопустимый символ, то возвращается значение Default, равное номеру ошибочного символа строки S.

FloatToStr (Value: Extended): String - преобразует вещественное значение Value в строку символов.

FloatToStrF (Value: Extended; Format: TFloatFormat; Precision, Digits: Integer): String - преобразует вещественное значение Value в строку символов с учётом параметра Format .

Значения параметра Format:

ffExponent - экспоненциальный формат;

ffFixed - фиксированное положение разделителя дробной и целой частей;

ffGeneral - универсальный формат, соответствует ffFixed, если количество значащих цифр > Precision, и Value >= 0,00001, то число представляется в формате ffExponent.

Precision – общее количество значащих цифр.

Digits - количество цифр в десятичном порядке, число округляется

Val(S: string; var V; var Code: Integer) - процедура преобразует строку S в числовое значение переменной V целого или вещественного типа. Переменная Code = 0, если преобразование успешно. Если преобразование в число невозможно, то Code присваивается порядковый номер недопустимого символа.

TButton – кнопка

Компонент класса TButton - используют для управления программой. Основное событие - OnClick (нажатие кнопки).

Свойства (properties) компонента:

Cancel: Boolean - если установлено значение True, событие OnClick возникает при нажатии клавиши Esc.

Default: Boolean - если установлено значение True, событие OnClick возникает при нажатии клавиши Enter.

В отличие от большинства других видимых компонентов кнопка TButton является компонентом системы Windows, и поэтому не может изменять свой цвет произвольным образом - она его меняет вместе с изменением палитры Windows. Кнопка всегда имеет системный цвет clBtnFace.

После размещения кнопки на форме и назначения в окне Инспектора объектов события OnClick, в модуль будет добавлено описание шаблона процедуры обработки события.

type

TForm1 = class(TForm)

…………….

Button1: TButton;

procedure Button1Click(Sender: TObject);

…………………..

implementation

……………………………..

procedure TForm1.Button1Click(Sender: TObject);

begin

…………….

end;

…………………