我要设置在EDIT中只能输入金额,显示的格式保留两位小数,默认为0.00,不能输入其他格式,可以用标准控件实现吗?
解决方案 »
- delphi求学!!
- 很简单的问题
- 急盼解答(关于时间日期问题)
- 如何让我写的程序,用户无法关闭?
- 请问 dbgrideh 控件在 某一个字段 不够位置 显示 所有的文字时,能不能加上省略的符号(...) ?????????????
- 出售全新DELPHI 2002-2003中文精华合集(20元)上海的当面交货
- 提时框调用问题?
- 谁还买日货就是在自杀! [警惕日本发动第三次侵华战争--台湾职业经理人余世维给中国人寿的讲演]
- Dblookupcombobox的使用,
- [郁闷] 今天公司周末打扫卫生,把天花板一个排气扇拆坏了
- 问 Delphi 人一个不太技术的问题
- 写一个没有窗体的DLL,如何动态创建SPCOMM?
在TEdit的onKeyPress事件中: if not (Key in ['0'..'9','.',#8,#13]) then
Key:=#0;
if Key='.' then
begin
if (Pos('.',TEdit(Sender).Text)<>0)or(Length(TEdit(Sender).Text)=TEdit(Sender).SelLength)
or(TEdit(Sender).SelStart=0) then
Key:=#0;
end;
其它自已看著辦
XP风格的,爽
我给你一个最终完美的吧!
————
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
var s:integer;
bj:integer;
str:String;
begin
//第一位不能输入小数点,只能有一个小数点
if (Key = '.') and ((Length(edit1.text) = 0) or (Pos('.', edit1.text) > 0)) then
Key := #0;
////第一位只能输入负号,只能有一个负号
if (Key = '-') and ((Length(edit1.text) <> 0) or (Pos('-', edit1.text) > 0)) then
Key := #0;
//只能输入 0到9、负号、退格、回车
if not (key in ['0'..'9','-','.',#8,#13]) then key:=#0;
//限制小数点后2位
if key<>#8 then
begin
bj:=pos('.',edit1.text);
if bj>0 then
begin
s:=length(edit1.Text);
str:=Copy(edit1.text, bj,s-bj);
if length(str)>=2 then
key:=#0;
end;
end;end;
//edit有个属性叫MAXLEANTH,缺省是0,你设定个数字如5那只能输5位
我问题最大的是DBGRID网格中输入金额的问题
各位能不能帮我??
var
s:integer;
bj:integer;
str:string;
begin
if not (Key in ['0'..'9','.',#8,#13]) then
Key:=#0;
if key<>#8 then
begin
bj:=pos('.',TEdit(Sender).Text);
if bj>0 then
begin
s:=length(TEdit(Sender).Text);
str:=Copy(TEdit(Sender).Text, bj,s-bj);
if length(str)>=2 then
key:=#0;
end;
end;
if Key='.' then
begin
if (Pos('.',TEdit(Sender).Text)<>0)or(Length(TEdit(Sender).Text)=TEdit(Sender).SelLength)or(TEdit(Sender).SelStart=0) then
Key:=#0;
end;
end;