文字统计

原创 2003年09月26日 22:50:00

       现在有不少文字处理软件能实现文字统计功能,如果我们自己也能动手编制一个小程序来实现这一功能不就更有意义了吗?
    一、编程思路:
程序通过调用ord函数将Memo控件中所有字符转换为对应的数值,再通过Length获得Memo中字符的字节数,然后通过for I:=1 To Length(s)do来判断各个字节所对应的字符数值是否在33~126之间以确定是否为英文字符(中文字符个数即为它们所占字节数除以2)。
    二、编程步骤:
首先新建一个工程,保存好以后,form1的Caption属性设置为“字数统计”,从Standard页上添加3个Label,其Caption属性分别为:“请输入文字”,“字母数”和“汉字数”,同时设置Color属性为“clblack”。
添加MeMo控件,设置Color属性为“clmoneygreen”,name属性为“Memo1”,Scrollbars属性为“ssVertial”,添加Button控件4个,设置他们的CAPTION分别为:“粘贴文字”,“开始统计”和“退出清空”。最后再添加Edit控件2个,设置Color属性为“clmoneygreen”。
图一 运行界面
    三、完整程序代码
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Memo1: TMemo;
Button1: TButton;
Button2: TButton;
Edit1: TEdit;
Edit2: TEdit;
Button3: TButton;
Button4: TButton;
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.Button2Click(Sender: TObject);
var
i,e,c:integer;
s:string;
begin
s:=memo1.Text ;
e:=0;c:=0;
for i:=1 to length(s) do
begin
if(ord(s[i])>=33)and(ord(s[i])<=126) then
begin
inc(e);
edit1.Text:=inttostr(e);
end
else
if (ord(s[i])>=127) then
begin
inc(c);
edit2.Text:=inttostr(c div 2);
end;
end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
memo1.PasteFromClipboard ;
end;

procedure TForm1.Button3Click(Sender: TObject);
begin
memo1.clear;
edit1.clear;
edit2.clear;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
close;
end;
end.

基于Python的文本统计

给定任意的文本文件,统计文件中的文字信息。 #wordstats.py #包含所有要保留的字符集 keep={'a','b','c','d','e', 'f','g','h','i','j...
  • u013232740
  • u013232740
  • 2015年07月19日 14:52
  • 675

汉字频率统计

  汉字的频率统计不像英文那样公开!在网上很难找到(至少我没看见)。于是自己想办法:用JS写一个小过程“搜索gb2312汉字在网上的频率”。http://www.csdn.net/Develop/ar...
  • bxxxr
  • bxxxr
  • 2003年07月30日 08:21
  • 4837

AutoCAD图纸统计工具

4、图纸统计工具 软件介绍:该工具可以统计已打开AutoCAD图纸模型空间中符合预订要求的实体的数量,进而可用于统计各项目的数量。...
  • jellymiki
  • jellymiki
  • 2017年03月07日 15:40
  • 121

Java统计一段文字多少重复次数最多单词

上个月面试时遇到一道java字符串题,当时居然没做出来,痛失offer,最近花了点时间做了一下,虽然有点low,但是还是要拿出来分享纪念下。package cn.test; import java....
  • chenzhongmug
  • chenzhongmug
  • 2015年09月09日 13:55
  • 1248

7.10 有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。

7.10 有一篇文章,共有3行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。 #include//7.10 有一篇文章,共有3行文字,每行有80...
  • qslife
  • qslife
  • 2016年07月21日 00:03
  • 4136

有一篇文章,共有三行文字,每行有80个字符。要求分别统计出其中英文大写字母、小写字母、数字、空格以及其他字符的个数。

/* * Copyright (c) 2012, 烟台大学计算机学院 * All rights reserved. * 作 者: 刘同宾 ...
  • liubinzi123
  • liubinzi123
  • 2012年11月29日 23:37
  • 24155

hdu 1735 文字统计

Problem Description   一天,淘气的Tom不小心将水泼到了他哥哥Jerry刚完成的作文上。原本崭新的作文纸顿时变得皱巴巴的,更糟糕的是由于水的关系,许多字都看不清了。可怜的Tom知...
  • hynu_kevin
  • hynu_kevin
  • 2016年08月04日 19:39
  • 164

统计文字个数

function wordCount(data){ var pattern = /[a-zA-Z0-9_\u0392-\u03c9]+|[\u4E00-\u9FFF\u3400-\u4dbf\...
  • sanlingwu
  • sanlingwu
  • 2018年02月18日 12:34
  • 9

【办公-WORD】VBA 统计相同字符(文字)出现的个数

1、启动VBA 使用快捷键“Alt+F11”启动VBA 2、输入VA代码 Sub 查找相同字符个数() Text = InputBox("请输入您要查找到字符:", "信息提示") With Ac...
  • chenlu5201314
  • chenlu5201314
  • 2016年06月29日 17:21
  • 1493

字串统计 kmp算法

问题描述   给定一个长度为n的字符串S,还有一个数字L,统计长度大于等于L的出现次数最多的子串(不同的出现可以相交),如果有多个,输出最长的,如果仍然有多个,输出第一次出现最早的。 输入...
  • hanyuboke
  • hanyuboke
  • 2015年03月18日 19:10
  • 263
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:文字统计
举报原因:
原因补充:

(最多只允许输入30个字)