Лекции.Орг


Поиск:




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




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

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

 

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

1Object 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).

 

else
0’..’9’:  
Начало
Конец
Схема алгоритма. Контроль ввода вещественных чисел procedure TForm1.Edit2KeyPress(Sender: TObject; var Key: Char)  
Key  
‘,’:  
#8  
Key:=Chr(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;

…………………

 





Поделиться с друзьями:


Дата добавления: 2016-10-27; Мы поможем в написании ваших работ!; просмотров: 560 | Нарушение авторских прав


Поиск на сайте:

Лучшие изречения:

Лаской почти всегда добьешься больше, чем грубой силой. © Неизвестно
==> читать все изречения...

935 - | 865 -


© 2015-2024 lektsii.org - Контакты - Последнее добавление

Ген: 0.009 с.