为什么调用自定的函数回用不同的反应?(10分)

  • 主题发起人 主题发起人 hblyp21
  • 开始时间 开始时间
H

hblyp21

Unregistered / Unconfirmed
GUEST, unregistred user!
procedure Tmainfrm.SetInputNum(dbedit:Tdbedit);
begin
flag:=true;
if not(key in['0'..'9','.','+','-',#8,#13]) then
begin
key:=#0;
messagebeep(0);
application.MessageBox('提示:请输入数字!','提示',mb_ok);
end;
end;
//这是载主创体里面自定的输入数字函数,载后面调用的时候,为什么输入单个数字的时候,都出现'提示','请输入数字'呀
 
应该不会的,你看看其它原因。
它原本这样使用的,在KeyPress事件中。

例:Edit1的KeyPress事件
procedure TForm1.Edit1KeyPress(Sender: TObject
var Key: Char);
begin
if not(key in['0'..'9','.','+','-',#8,#13]) then
begin
key:=#0;
messagebeep(0);
application.MessageBox('提示:请输入数字!','提示',mb_ok);
end;
end;
 
你在哪个事件里面调用的?key的值传了进来吗?
 
在edit的onkeypress事件中寫入....
procedure Tmainfrm.edit1.onkeypress(var key :char);
begin
flag:=true;
if not(key in['0'..'9','.','+','-',#8,#13]) then
begin
key:=#0;
messagebeep(0);
application.MessageBox('提示:请输入数字!','提示',mb_ok);
end;
end;
 
多人接受答案了。
 
后退
顶部