1、怎样限制用户在Edit中只充许输入三位整数。
2、另外请问怎么给一个001的整数,自增后,不会变成2,而是002 。
2、另外请问怎么给一个001的整数,自增后,不会变成2,而是002 。
解决方案 »
- 【请问】这样数据表怎么做一棵树(Treeview)呢?
- 求一个问题的真正的解答:有关DCU的???
- 大哥,大姐们帮帮忙 这个类型怎么转换
- TreeView怎样可以通过选择当前节点来活得该节点的顶层节点名称?如何可以屏蔽对节点的Text进行修改?如何可以让Label的背景为透明?
- 实现聂象头获取视频到图片框
- 如何控制数码相机拍摄照片,有经验的同志帮助一下。
- 请教高手如何调用vc写的dll
- 我想用DELPHI做数据库,有关于这方面的书吗????
- 我做的人事部门软件,客户说每次打开的时候GRID的数据有些会自动变0
- 为什么使用SendMessage(Handle, EM_SETSEL, 0 ,0 );光标(应该说是插入符号,就是那条竖线)不能移动到编辑框的最开始位置?
- 初始化com对象出错。
- 这个C++的函数声明如何转成Pascal?
begin
if not (key in ['0'..'9','.',#8]) then
begin
key:=#0;
Messagebeep(0);
end;
if length(Edit1.Text)>3 then
begin
key:=#0;
Messagebeep(0);
end;
end;
SetWindowLong(Edit1.Handle, GWL_STYLE,
GetWindowLong(Edit1.Handle, GWL_STYLE) or ES_NUMBER);
把Edit1.MaxLength设置为3
002不是数值,是字符串
要输出的话,用FormatFloat
if not(Key in ['0'..'9',#8]) then
Key := #0;
其中#8就是可以后退的
begin
case Integer(Key) of
48..57: ;
13: ;
8: ;
else Key:=Char(0);
end;
end;
procedure TForm1.Edit1KeyPress(Sender: TObject; var Key: Char);
begin
if not (key in ['0'..'9','.',#8]) then
begin
key:=#0;
Messagebeep(0);
exit;
end;
if length(Edit1.Text)>3 then
begin
key:=#0;
Messagebeep(0);
exit;
end;
end;
第二个问题,你可以先自增,然后判断如果是一位数,然后用字符串的操作,加上00,两位数,就加上0,三位数就不用处理。
begin
if not (key in ['0'..'9',#8]) then
begin
key:=#0;
end;
if length(Edit1.Text)>3 then
begin
key:=#0;
end;
end;
好象不愿意试试API的方法,也是最有效率的方法
SetWindowLong
(Edit1.Handle, GWL_STYLE,GetWindowLong(Edit1.Handle, GWL_STYLE)or ES_NUMBER);也是可以的
(加了Exit还怎么限制数字的长度呀)
SetWindowLong
(Edit1.Handle, GWL_STYLE,GetWindowLong(Edit1.Handle, GWL_STYLE)or ES_NUMBER);也是可以的================================
我是说第一个IF中...key已经等于#0了,就没必要再去检查长度了,习惯而已^^