procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var
AStr:String;
begin
AStr := Edit1.Text;
case key of
'0'..'9':Key:=Key; //只能输入数字
'.': //输入小数时判断小数点
if pos('.',AStr)<>0 then
Key:=#0
else
Key:=Key;
else
Key:=#0;
end;
end;
var
AStr:String;
begin
AStr := Edit1.Text;
case key of
'0'..'9':Key:=Key; //只能输入数字
'.': //输入小数时判断小数点
if pos('.',AStr)<>0 then
Key:=#0
else
Key:=Key;
else
Key:=#0;
end;
end;
解决方案 »
- InterBase 的数据库,创建视图出错
- 从delphi5到delphi7关于line too long的问题怎么办?
- QUICKREPORT中有自動換行的MEMO嗎?
- 小女子求教excel导入stringgrid里,进程无法释放
- TDateTimerPicker的DATE值的问题。
- paintbox 的刷新。马上结帐!
- ★急★急★急:按F9编译时出现CPU错误提示,用Ctrl+F9编译好后(不提示任何错误),运行程序也没有问题,怎么回事?
- 关于下载的问题,高手这里来!
- LMD……
- 多年收集的1000多条delphi技巧代码(全部分类整理好),免费提供,快来看看
- 我是用ADO连接数据库,请教高手指点迷津!!!!!!!!!
- 通过 WebBrowser 打开本地的一个WEB页面后,在页里。。。
key:=#0
begin
if not key in ['0'..'9'] then
key:=#0;
end;
if (Key<'0') or (Key > '9') then Key := 0;
var
vNumber: Extended;
begin
if not TryStrToFloat(TEdit(Sender).Text + Key, vNumber) then
Key := #0;
end;
begin
key := #0;
showmessage('请您勿必输入0-9之间的数字!');
end;
begin
key := #0;
showmessage('请您勿必输入0-9之间的数字!');
end;
key:=0;
很简单吧,在keypress
□□□□□■□■□■□□□□□■□□■□□□□□□□□□□□□□□□□□□
□■■■■□□■□□■□□□□■■■■■■■■□□□□□□□□□□□□□□
□□□□■□□■□□□□□□■□□□■□□□□□□□□□□□□□□□□□□
□■■■■■■■■■■■□■■■■■■■■■■■□□□□□□□□□□□□□
□□□□■□□■□□□□□□□■□□□□□■□□□□□□□□□□□□□□□
□□□□■□■■□□■□□□□■■■■■■■□□□□□□□□□□□□□□□
□□□■■■□■□■□□□□□□□■□■□□□□□□□□□■■□□□□□□
□■■□■□□□■□□□□□■■■■□■■■■□□□□□□■■□□□□□□
□□□□■□□■■□□■□□□□□■□■□□□□□□□□□■■□□□□□□
□□□□■■■□□■□■□■■■■■□■■■■■□□□□■■□□□□□□□
□□■■■□□□□□■■□□□□□■□■□□□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□
□□□□□■■□■□□□□□□□□■□□□□□□□□■■■■■■■■■□□
□■■■■□□□■□□□□■■■■■■■■■■■□□□□□□□□□■□□□
□□□□■□□□■□□□□□□□■□□□■□□□□□□□□□□□■□□□□
□■■■■■■■■□□□□□□■□□□□□■□□□□□□□□■■□□□□□
□□□□■□□□■□□□□□■□■■■■■□■■□□□□□□■□□□□□□
□□□□■□□□■□□□□■□□■□□□□□□□□□□□□□■□□□□□□
□□■■■■■□■□□□□□□□■■■■■□□□□□□□□□■□□□□□□
□□■□□□■□■□□□□□□□■□□□□□□□□□□□□□■□□□□□□
□□■□□□■□■□□■□■■■■■■■■■■■□□□□□□■□□□□□□
□□■■■■■□■□□■□□□□■□□□■□□□□□□□□□■□□□□□□
□□■□□□■□■■■■□□□■■■■■■■□□□□□□■■■□□□□□□
□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□□ I服了YOU.
用:
回复人: ll7777(阿皓) (2001-11-29 11:46:35) 得0分
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not key in ['0'..'9'] then
key:=#0;
end; 就可以了!
var
edtTemp: TEdit;
iTemp: Integer;
begin
//使用的时候,在Edit的OnChange事件中加入EditChangeForInteger(Sender); //根据类型转换是否出异常来判断是否整数
edtTemp := (Sender as TEdit);
try
iTemp := StrToInt(edtTemp.Text);
if iTemp < 0 then
edtTemp.Text := '0';
except
//
edtTemp.Text := Copy(edtTemp.Text,0,Length(edtTemp.Text)-1);
if edtTemp.Text = '' then edtTemp.Text := '0';
edtTemp.SelStart := Length(edtTemp.Text); end;end;
这方法不行,因为用ctrl+v贴过去就不行了。用maskedit组件做吧。很容易的,一看就会。
begin
if not (Key in ['0'..'9','.',Char(VK_BACK)]) then
Key := #0;
if (Pos('.', Edit1.Text) > 0) and (Key = '.') then Key := #0;
end;
另外,将Edit控件的弹出菜单屏蔽即可!(可以使用一个空弹出菜单,把编辑框的弹出菜单没为该菜单即可!