Идёт загрузка страницы...

htp://aptem.net.ru





Delphi 1

Числовая маска компонента Edit c помощью OnKeyPress I


    procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
VAR P, L : Byte;
begin
WITH Sender AS TEdit DO
BEGIN
L := Length(Text);
P := Pos('.', Text);
END;
CASE Key OF
'0'..'9' : IF (P>0) AND (L-P>1) THEN Key := #0;
'.' : IF P > 0 THEN Key := #0;
#8 : {пробел};
ELSE Key := #0;
END;
end;

Команда Key=#0 в обработчике события OnKeyPress "гасит" нажатую клавишу. Так, если нажата цифровая клавиша, то код ее "гасится", ЕСЛИ уже присутствует десятичная точка и две цифры после нее. Если введена десятичная точка, то она "гасится", ЕСЛИ десятичная точка уже присутствует. Пробел пропускается в любом случае, коды остальных клавиш всегда "гасятся". Во всяком случае теперь вы знаете "куда копать".

- Neil [000550]