如何控制Edit组件输入文字的数量(20分)

  • 主题发起人 主题发起人 watt
  • 开始时间 开始时间
W

watt

Unregistered / Unconfirmed
GUEST, unregistred user!
在Form窗口中加入一个Edit之后,怎么样控制它的文字输入的数量,说明一点吧:假定Edit的width属性为100,而每个汉字的长度为20,我怎样才能使用户只能在Edit中输入5个汉字?不知道我阐述明白没有?
 
试一试MaskEdit,不一定可以
 
MaskEdit组件里也没有现成的这样的属性呀
 
写代码控制。
 
procedure TForm1.Edit1Change(Sender: TObject);
const
MaxCharCount=5; // 限制编辑框内只能输入5个字符
var
i,c:integer;
s:string;
begin
if Edit1.Tag=0 then
begin
i:=1;
c:=0;
s:='';
While (c<MaxCharCount) and (i<=Length(Edit1.Text)) do
begin
case ByteType(Edit1.Text,i) of
mbSingleByte:
begin
s:=s+Edit1.Text;
inc(i)
end;
mbLeadByte:
begin
s:=s+Edit1.Text+Edit1.Text[i+1];
i:=i+2
end
else
begin
inc(i);
Continue
end
end;
inc(c)
end;
Edit1.Tag:=1;
Edit1.Text:=s
end
else
Edit1.Tag:=0
end;
 
设MaxLength = 10就行了
 
韦剑大虾太NB了,zj_mpy大虾也很NB
 
后退
顶部