一个很急迫的问题,不然,老板得骂我了(50分)

  • 主题发起人 主题发起人 lsmx
  • 开始时间 开始时间
L

lsmx

Unregistered / Unconfirmed
GUEST, unregistred user!
请问:很样才能在edit栏目中只输入整数类型。
而输入其它类型都报错。
 
OnKeyPress
if in [0..9] or (退格等控制字符)

OnExit
val(,,ECode);
if ECode<>0 then
raise ..
 
在onkeypress中

if key not [0..9] then key=#8
OnExit

Try
strtoint(edit1.text)
except
//不是合法的
end

或用系统FUNCTION也可
 
procedure TF_feiyong.i_yingjiaoKeyPress(Sender: TObject
var Key: Char);
begin
if not (key in ['0'..'9','.',#13,#8]) then
begin
Showmessage('Error');
key:=#0;
end;
end;
 
继承TEDIT控件后,在onchange里加上一些代码为:
if fgetintonly then
begin
try
if fgetallowminus then //如果允许有正负号
begin
strtoint(trim(text)+'0');//一定要加0,否则当输入负号'-'时会被认为是错误要清空
end
else begin
strtoint(trim(text));
end;
except
text:='';
end;
end;
inherited;
 
用maskedit,在它的editmask里面设置属性。
 
0到9,小數點,delete,backspace,left,right,加號,減號,不過在輸入過程中要判斷小數被刪除後前面的0不要。如0.0009,它如果刪除小數點則應是9不應該是00009。最好找個控件好些。
 
在EDIT的ONkeypress事件中写

begin
if (Key=#27) or (Key=#8) then exit;
if not (Key in ['0'..'9'] ) then Key:=#0;
end;
 
很简单的问题,就象他们说的那样就可以了
 
借用葛优的口头蝉“我不是都说过了吗?”
呵呵 麻子的这个总结性陈词说的好啊,楼主快结帖吧。
 
麻子兄人缘不错啊...[:D][:D][:D]
 
什么麻子兄,据小道消息,应该是麻子MM才对。
哈哈,希望不会挨砖头阿。
 
听说刘麻子是MM,但没有经过证实哦。
 
后退
顶部