Edit输入限制问题
比如我想限制edit中只能输入float类型的浮点数
因此只能输入数字和小数点
我在onkeyup事件中写了以下代码, 190是字符'.'的ascii码
procedure TForm1.Edit1KeyUp(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (((Key < Ord('0')) or (Key > Ord('9'))) and (Key <> 190)) and (Key <> VK_BACK) then begin
Key:=0;
end
else if Key=190 then begin
if Pos('.',(Sender as TCustomEdit).Text)=1 then begin
Key:=0;
end;
end;
end;
但是Key:=0;这条语句似乎不起作用,但是函数说明中Key是var的,应该是可以赋值的。
我将这段代码放到onkeydown事件中,Key:=0可以起作用,但是无法获得这次输入字符后的Edit.text的值,只能获得输入该字符前的text
该问题要如何解决