Программирование для Android и работа с датчиками в среде Delphi 11 - страница 20

Шрифт
Интервал


– изначальный Default общей клавиатуры заменить на ввод цифр – DecimalNumberPad.

Также можно ограничить максимальное вводимое число знаков (MaxLength) и задать фильтры для ввода символов.

Для ограничения ввода отслеживаются вводимые символы:

Реакция Edit на клавиши: KeyPress:

if key = #13 // клавиша then…;

case Key of

«0».. «9», #8:; // цифры и BackSpace

#13: Edit3.SetFocus; // переместить на Enter

«-’: if Length (Edit2.Text) <> 0 then Key:= #0; //ничего не отображать за выходом из рамок окна

else Key:= #0; // остальные символы не отображать.

end;

Можно также:

procedure TForm1.Edit1KeyDown (Sender: TObject; var Key: Word);

var

KeyChar: Char; Shift: TShiftState);

begin

if ((KeyChar <«0») or (KeyChar> «9») or (Length (Edit1.Text)> =11))

and (KEY <> 8) and (KEY <> 46) then //8 и 46 код клавиш Backspace и Del

begin

KeyChar:= #0;

if (Length (Edit1.Text)> =11) = false then

ShowMessage («Допускаются только цифры!»)

else

ShowMessage («Длина текста превысила 11 знаков!»)

endend;

Или:

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

begin

case Key of

«0».. «9», #8:; // цифры и 

// Замена точки или запятую десятичной дроби на правильный разделитель – DecimalSeparator

«.»,»,»

begin

Key:= FormatSettings.DecimalSeparator;

//проверка правильности разделителя

if pos (Key, Edit1.Text) <> 0

then Key:= #0;

end;

#13: Edit2.SetFocus; // переместиться в поле Edit

else Key:= #0; // Остальные символы запрещены

end;

Проще, однако, установить фильтр ввода данных:

Edit1.FilterChar:= «0123456789»;

Или: keyPress: if key = VK_Eskape (Enter) then

Или на Edit1KeyPress:if Key=»,» then Key:=».»;//Замена на лету


Ограничить ввод можно свойством ReadOnly, а также свой ствами Enabled и CanFocus; CheckSpelling – контроль правописания.

Задействовав свойство Password (true), можно заменить входящий текст видимыми точками, сделав компонент для ввода пароля.

Выделить часть текста можно:

Edit1.SetFocus; Edit1.SelStart:= 1; Edit1.SelLength:= 1;

С компонентом можно также связать Кнопки, щелкнув по нему правой кнопкой мыши и выбрав в Item Editor, например, кнопку очистки.

ComboEdit представляет собой строку редактирования, комбинированную с кнопкой, аналогично тому, как объединен редактор текста и кнопка выпадающего списка в стандартном элементе ComboBox.


NumberBox.