只能输入数字的控件 ( 积分: 100 )

  • 主题发起人 主题发起人 catkiller
  • 开始时间 开始时间
C

catkiller

Unregistered / Unconfirmed
GUEST, unregistred user!
请问哪位有只能输入数据的控件???急
 
请问哪位有只能输入数据的控件???急
 
http://www.delphibbs.com/keylife/iblog_show.asp?xid=1033
 
SUIPACK的suiNumberEdit
 
你可以随便选一个组件(如edit),然后用代码将其锁定成只能输数字即可呀[:)]
LOOK 选用EDIT组件,代码自已随便写
if (key<=#47) or (key>=58) then
begin
key:=chr(0);
end;
[:)][:)][:)]
 
void __fastcall TForm1::Edit1OnKeyPress(TObject *Sender, char &Key)
{
AnsiString InputKey = Key;
AnsiString ValidKey = AnsiString("0123456789.");
if (ValidKey.Pos(InputKey) == 0) {
Key = 0;
}
}

Unit1.h
TForm *Form1;
TEdit *Edit1;
 
以前自己写了一个,想要代码的请给我写信。wzwcn@163.com
 
RzNumberEdit
 
在keypress 事件中加入以下代码
if not((key>='0') and (key<='9'))or key=#8) then //#8代表Backspace
key:=#0
 
还有科学记数法表示的数字
判断起来可能要复杂一点
用maskedit试试
 
还有小数点,自己编程响应keydown事件吧。
 
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9', #8]) then
key:=#0;
end;
 
输入控件,用代码来实现它的键盘事件,达到你想要的效果。
 
IP控件里面有一个,好方便。。
 
来迟了,我一直用kuangfuhxw和xianguo说的这个方法
 
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
try
StrTofloat(Edit1.text);
except
messagebox(handle,'please input number!','Error',MB_OK);
end;
end;
 
来自:kuangfuhxw, 时间:2005-5-18 23:17:11, ID:3077762
在keypress 事件中加入以下代码
if not((key>='0') and (key<='9'))or key=#8) then //#8代表Backspace
key:=#0
----------------------
这个方法只能对整数进行处理,如果搂主所说的数据包含小数的话,可能另外需要控件。
 
后退
顶部