标题用Delphi编写字数统计程序
栏目软件世界
作者李宏秋
发布2000年第22期
我们都知道,Word97/2000里有“字数统计”的功能,但它的“字数统计”功能有一个缺陷:它会把全角符号都视为汉字处理,结果统计的汉字数总是大于实际的汉字数,针对这个缺陷,本人编写了这个程序,此程序不同于1997年《电脑报》中的一篇查汉字的文章:第一,那个程序是Pascal编写的;第二,那个程序不能识别GBK大字符集的汉字,比如“镕”等等汉字它都视而不见。方法如下:
首先进入Delphi主界面,选择“File/New Application”,在程序设计窗体上建立一个Button控件、一个Memo控件和一个Label控件,分别取名为“Button1”、“Memo1”和“Label1”,然后双击“Button1”进入“Button1”的“onlick”事件设置窗口,对应的代码如下:
procedure TForm1.Button1Click(Sender: TObject);
var
Character,i:integer;
Str:string;
begin
i:=1;
Character:=0;
tr:=Memo1.lines.text;
If Length(Str)>0 Then
Repeat
if(ord(Str[i])>=129) and (ord(Str[i])<=254 )and (ord(Str[i+1])>=64) and (ord(Str[i+1])<=254)then
Begin
If (ord(Str[i])>=161) and (ord(Str[i])<=169) Then
i:=i+2
Else
Begin
i:=i+2;
Character:=Character+1;
end;
end
Else
i:=i+1;
Until i>=length(Str);
Label1.caption:='共有 '+IntToStr(Character)+' 个汉字';end;
按F9执行程序,运行成功后,在Memo1中输入一些汉字和全角符号以及GBK大字符集中的汉字,试验一下程序的可靠性。这样以后就可以安心地写文章,而再也不用担心字数不够了。