現(xiàn)在有不少文字處理軟件能實(shí)現(xiàn)文字統(tǒng)計(jì)功能,如果我們自己也能動(dòng)手編制一個(gè)小程序來(lái)實(shí)現(xiàn)這一功能不就更有意義了嗎? 一、編程思路: 程序通過(guò)調(diào)用ord函數(shù)將Memo控件中所有字符轉(zhuǎn)換為對(duì)應(yīng)的數(shù)值,再通過(guò)Length獲得Memo中字符的字節(jié)數(shù),然后通過(guò)for I:=1 To Length(s)do來(lái)判斷各個(gè)字節(jié)所對(duì)應(yīng)的字符數(shù)值是否在33~126之間以確定是否為英文字符(中文字符個(gè)數(shù)即為它們所占字節(jié)數(shù)除以2)。 二、編程步驟: 首先新建一個(gè)工程,保存好以后,form1的Caption屬性設(shè)置為“字?jǐn)?shù)統(tǒng)計(jì)”,從Standard頁(yè)上添加3個(gè)Label,其Caption屬性分別為:“請(qǐng)輸入文字”,“字母數(shù)”和“漢字?jǐn)?shù)”,同時(shí)設(shè)置Color屬性為“clblack”。 添加MeMo控件,設(shè)置Color屬性為“clmoneygreen”,name屬性為“Memo1”,Scrollbars屬性為“ssVertial”,添加Button控件4個(gè),設(shè)置他們的CAPTION分別為:“粘貼文字”,“開始統(tǒng)計(jì)”和“退出清空”。最后再添加Edit控件2個(gè),設(shè)置Color屬性為“clmoneygreen”。 圖一 運(yùn)行界面 三、完整程序代碼 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. 以上程序在Delphi 6.0中編寫,并在Windows 98/2000中通過(guò)。
|
溫馨提示:喜歡本站的話,請(qǐng)收藏一下本站!