如题
解决方案 »
- delphi 如何判断字符串不相等
- 急急急急急急,有谁做过电子地图的开发,给点思路。
- 请指教:在函数或方法的参数中使用const和var有什么好处?
- 用appendrecord 或Insertrecord出现的问题?
- 我的2500+真的可以超到3200+吗?
- 有没有人遇到过adoquery每次查询得到的数据条数不同啊?
- 我想学Delphi,可不知道怎么学。
- ShellListView问题
- OH...一个关于多线程ADOConnect的问题
- 【delphi】外循环5000次,内循环900次,循环插入数据到数据库,请问怎么样才能提高速度
- 第一次用installshield制作安装文件,请指教
- 十万火急,快救我。我三点交货。
key in ['0'..'9']
你可以到
www.playicq.com
看看
if not ( key in['0'..'9',#8,'.']) then
key:=#0;
begin
if key='.' then
if pos('.',Edit1.text)=0 then exit;
if not ( key in['0'..'9',#8,'.']) then
key:=#0;
end
if not ( key in['0'..'9',#8,'.']) then
key:=#0;
在Edit的OnKeyPress中
precud.........
var i:integer;
begin
if not (Key In['0'..'9','.',#8,#13]) then
begin
key:=#0;
showmessage('请输入数字!');
end
else if key='.' then
begin
i:=length(Edit1.text)+1;
Edit1.Maxlength:=Length(Edit1.Text)+3;
end
else if key=#8 then
if Pos('.',Edit1.text)=Length(Edit1.text) then
Edit1.MaxLength:=0;
end;
var p:integer;tp:TPoint;
begin
if key in['0'..'9','+','-','.'] then
begin
if key in ['+','-'] then
begin
p:=pos ('+',edit1.Text)+pos ('-',edit1.Text);
if p>0 then key:=#0
else
begin getcaretpos(tp);
if tp.x>1 then key:=#0;
end;
end
else if key='.' then
begin
p:=pos('.',edit1.Text);
if p>0 then key:=#0;
end;
end
else if key>#31 then key:=#0;
end;
定义全局变量
var flag: bool=true;
在Edit的OnKeyPress中
begin
if not (Key In['0'..'9','.',#8,#13]) then
begin
key:=#0;
showmessage('请输入数字!');
end
else if (flag) and (key='.') then
begin
flag:=false;
Edit1.Maxlength:=Length(Edit1.Text)+3;
end
else if not (flag) and (key='.') then
key:=#0
else if key=#8 then
if Pos('.',Edit1.text)=Length(Edit1.text) then
begin
Edit1.MaxLength:=0;
flag:=true;
end;
end;