delphi 怎么计算一个memo中输入的汉字数目

在一个memo中输入汉字,memo下边用lable显示已输入汉字的数目,另外怎么限制memo中输入汉字的数目... 在一个memo中输入汉字,memo下边用lable显示已输入汉字的数目,另外怎么限制memo中输入汉字的数目 展开
 我来答
windblast
2012-03-01 · 知道合伙人软件行家
windblast
知道合伙人软件行家
采纳数:5633 获赞数:13622
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。

向TA提问 私信TA
展开全部
1. 实时显示输入汉字与英文字母数目:
procedure TForm1.Memo1Change(Sender: TObject);
var
s: string;
i,sum,e,c,t: Integer;
begin
s := Memo1.Text;
e := 0;
c := 0;
sum := Length(s);

for i := 0 to sum do
begin
if (Ord(s[i]) >= 33) and (Ord(s[i]) <= 126) then
begin
Inc(e);
end;

if Ord(s[i]) >= 127 then
begin
Inc(c);
end;
end;
Label1.Caption := '字母数: ' + IntToStr(e)+ ' 汉字数: ' + IntToStr(c div 2);
end;

2. 限制memo中输入字符数目:

设置MaxLength属性为你想要的数字。

有分加分啊
wtg003
2012-03-02
知道答主
回答量:1
采纳率:0%
帮助的人:1651
展开全部
memo上的MaxLength属性可以设置输入的字符数目,另外一个汉字算2个字符。其他的你看看下面的代码,这是memo上的onchange方法:
procedure TForm1.mmo1Change(Sender: TObject);
var
s:String;
i,t:Integer;
begin
s:='';
for i:=0 to mmo1.lines.count do
begin
s:=s+ mmo1.lines[i];
end;
t:=Length(s);
lbl1.Caption:=IntToStr(t);

end;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式