mainunit.pas
上传用户:psxgmh
上传日期:2013-04-08
资源大小:15112k
文件大小:2k
源码类别:

Delphi/CppBuilder

开发平台:

Delphi

  1. unit mainunit;
  2. interface
  3. uses
  4.   Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  5.   Dialogs, StdCtrls;
  6. type
  7.   TForm1 = class(TForm)
  8.     Button1: TButton;
  9.     Label1: TLabel;
  10.     Edit1: TEdit;
  11.     Button2: TButton;
  12.     procedure Button1Click(Sender: TObject);
  13.     procedure Button2Click(Sender: TObject);
  14.   private
  15.     { Private declarations }
  16.   public
  17.   procedure CountChineseChars(SpecStr:String);
  18.   procedure UseByteType(SpecStr:String);
  19.     { Public declarations }
  20.   end;
  21. var
  22.   Form1: TForm1;
  23. implementation
  24. {$R *.dfm}
  25. procedure TForm1.CountChineseChars(SpecStr:String);
  26. var
  27.  WSStr:WideString;
  28.  TempStr:String;
  29.  I,E,C,O:integer;
  30. begin
  31.  WSStr:=SpecStr;
  32.  E:=0;
  33.  C:=0;
  34.  O:=0;
  35.  for I:=1 to Length(WSStr) do
  36.   begin
  37.    if (ord(WSStr[I])>=33)and(ord(WSStr[I])<=127) then
  38.     begin
  39.      TempStr:=WSStr[I];
  40.      if (TempStr[1] in ['a'..'z','A'..'Z']) then
  41.       Inc(E)
  42.      else
  43.       Inc(O);
  44.     end
  45.     else
  46.     begin
  47.      if (ord(WSStr[I])>=127) then
  48.       begin
  49.        Inc(C);
  50.       end;
  51.     end;
  52.   end;
  53.  Application.MessageBox(Pchar('该字符串的组成结构为:汉字'+IntToStr(C)+'个,'+'英文字母'+IntToStr(E)+'个,'+'其他类型字符'+IntToStr(O)+'个'),'使用WideString数据类型分析字符串组成结构',mb_ok+mb_iconinformation);
  54. end;
  55. procedure TForm1.UseByteType(SpecStr:String);
  56. var
  57.  I,E,C,O:integer;
  58. begin
  59.  E:=0;
  60.  C:=0;
  61.  O:=0;
  62.  for I:=1 to Length(SpecStr) do
  63.   begin
  64.    if (ByteType(SpecStr,I)=mbSingleByte) then
  65.     begin
  66.      if (SpecStr[I] in ['a'..'z','A'..'Z']) then
  67.       Inc(E)
  68.      else
  69.       Inc(O);
  70.     end
  71.     else
  72.      Inc(C);
  73.   end;
  74.  Application.MessageBox(Pchar('该字符串的组成结构为:汉字'+IntToStr(C div 2)+'个,'+'英文字母'+IntToStr(E)+'个,'+'其他类型字符'+IntToStr(O)+'个'),'使用ByteType方法分析字符串组成结构',mb_ok+mb_iconinformation);
  75. end;
  76. procedure TForm1.Button1Click(Sender: TObject);
  77. begin
  78.  CountChineseChars(Edit1.Text);
  79.  Edit1.SetFocus;
  80.  Edit1.SelectAll;
  81. end;
  82. procedure TForm1.Button2Click(Sender: TObject);
  83. begin
  84.  UseByteType(Edit1.Text);
  85. end;
  86. end.