关于Edit!
对于要输入金额的Edit,大家一般怎么判断?
哪个哥哥能帖个代码看看!
我老怕我判断的不完全!
问题点数:0、回复次数:14Top
1 楼haoren0625(晓鹏)回复于 2003-12-01 04:44:13 得分 0
upTop
2 楼flymoon(花儿月)回复于 2003-12-01 05:50:15 得分 0
try
StrToCurr(Edit.text);//输入金额
except
on EConvertError do
Showmessage('error');
end;Top
3 楼jxc163(一寒)回复于 2003-12-01 08:27:18 得分 0
你可以找个货币输入控件。Rxlib中有一个,还有个sncCurrency的控件是专门用来做货币输入的.Top
4 楼delphiseabird(沙鸥)回复于 2003-12-01 08:38:55 得分 0
判断输入的是不是数字和点就够了吧Top
5 楼Alanwn(天痴(日本人与狗不得回答问题))回复于 2003-12-01 08:48:18 得分 0
你可以用这个东西来实现啊
Delphi-->Additional-->MaskEdit
点他里面的属性EditMask将他改变一个属性就可以了
Top
6 楼ycdelphicsdn(小新)回复于 2003-12-01 12:39:56 得分 0
你可以把数字,点和退格键保留下来,其它的键一率屏蔽掉就可以
Top
7 楼delphi_xizhousheng(西周生)回复于 2003-12-01 12:50:55 得分 0
两个办法
1 onChange:
try
StrToCurr(Edit.text);//输入金额
except
on EConvertError do
Showmessage('error');
end;
onKeyPress:
if not (Key in ['0'..'9',//#backspace,'.'] then
key:=#0;
Top
8 楼angle097113(深思不解)回复于 2003-12-01 23:36:07 得分 0
onKeyPress事件来判断是不是数字小数 以及删除键 就可以了吧Top
9 楼konhon(优华)回复于 2003-12-02 08:50:40 得分 0
try
StrToCurr(Edit.text);//输入金额
except
on EConvertError do
Showmessage('error');
end;
Top
10 楼chuchu(维他命C)回复于 2003-12-02 08:59:12 得分 0
要判断数字、小数点、回车、回退键:
if not (Key in ['0'..'9','.',#13,#8]) then Key := #0;
不赞成用Except,老是弹出一个MessageBox会让用户很烦的。
Top
11 楼chuchu(维他命C)回复于 2003-12-02 08:59:53 得分 0
忘了说了,写在OnKeyPress事件里Top
12 楼hotdog911(昱)回复于 2003-12-02 23:58:32 得分 0
同意Top
13 楼cll007(gazo)回复于 2003-12-03 15:12:51 得分 0
private
iDecimalPoint:integer;//纪录是否有小数点
procedure TForm1.Edit1Change(Sender: TObject);
begin
if pos('.',(sender as tedit).Text )=0 then
iDecimalPoint:=0;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
case key of
'0'..'9',char(8): ;
'.': if iDecimalPoint<1 then
inc(iDecimalPoint)
else
key:=char(13);
else key:=char(13);
end;
end;
---------
注意:以上不能兼顾复制到Edit中的字符串Top
14 楼jiayodo(爱上一只猪)回复于 2003-12-03 20:15:18 得分 0
个人觉得还是写keypress时间限制输入好一点Top




