⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit1.pas

📁 获取汉字拼音的首字母(缩写)
💻 PAS
字号:
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, StdCtrls;

type
  TForm1 = class(TForm)
    GroupBox1: TGroupBox;
    GroupBox2: TGroupBox;
    Edit1: TEdit;
    Button1: TButton;
    Label3: TLabel;
    Button2: TButton;
    edit2: TMemo;
    memo2: TMemo;
    Label1: TLabel;
    procedure Button1Click(Sender: TObject);
    procedure Button2Click(Sender: TObject);
    procedure FormCreate(Sender: TObject);
  private
    function   GetPyChar(strChinese:   string;   bUpCase:   Boolean   =   True):   char;
    function   GetPYStr(strChinese:   string;   bUpCase:   Boolean   =   True):   string;
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form1: TForm1;

implementation

{$R *.dfm}

function   TForm1.GetPyChar(strChinese:   string;   bUpCase:   Boolean   =   True):   char;
begin

    case   WORD(strChinese[1])   shl   8   +   WORD(strChinese[2])   of
        $B0A1..$B0C4:   result   :=   'A';
        $B0C5..$B2C0:   result   :=   'B';
        $B2C1..$B4ED:   result   :=   'C';
        $B4EE..$B6E9:   result   :=   'D';
        $B6EA..$B7A1:   result   :=   'E';
        $B7A2..$B8C0:   result   :=   'F';
        $B8C1..$B9FD:   result   :=   'G';
        $B9FE..$BBF6:   result   :=   'H';
        $BBF7..$BFA5:   result   :=   'J';
        $BFA6..$C0AB:   result   :=   'K';
        $C0AC..$C2E7:   result   :=   'L';
        $C2E8..$C4C2:   result   :=   'M';
        $C4C3..$C5B5:   result   :=   'N';
        $C5B6..$C5BD:   result   :=   'O';
        $C5BE..$C6D9:   result   :=   'P';
        $C6DA..$C8BA:   result   :=   'Q';
        $C8BB..$C8F5:   result   :=   'R';
        $C8F6..$CBF9:   result   :=   'S';
        $CBFA..$CDD9:   result   :=   'T';
        $CDDA..$CEF3:   result   :=   'W';
        $CEF4..$D188:   result   :=   'X';
        $D1B9..$D4D0:   result   :=   'Y';
        $D4D1..$D7F9:   result   :=   'Z';
    else
        result   :=   char(0);
    end;
    if   not   bUpCase   then
    begin
        result   :=   Chr(Ord(result)   +   32);
    end;
end;


function   TForm1.GetPYStr(strChinese:   string;   bUpCase:   Boolean   =   True):   string;
var
    strChineseTemp:   string;
    cTemp:   Char;
begin
    result   :=   '';
    strChineseTemp   :=   strChinese;
    while   strChineseTemp   <>   ''   do
    begin
        cTemp   :=   GetPYChar(strChineseTemp);
        if   not   bUpCase   then
        begin  
            cTemp   :=   Chr(Ord(cTemp)   +   32);
        end;
        result   :=   result   +   string(cTemp);
        strChineseTemp   :=   Copy(strChineseTemp,   3,   Length(strChineseTemp));
    end;
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
    if Length(trim(edit1.Text))=2 then
    begin
        Label3.Caption := GetPYChar(edit1.Text);
    end
    else
    begin
        edit1.Clear;
        label3.Caption:='';
    end;
end;

procedure TForm1.Button2Click(Sender: TObject);
var
    wholestr:string;
begin
    wholestr:=trim(edit2.Text);
    {if Length(wholestr)=0 then
    begin
        memo2.Clear;
        Exit;
    end;}
    if Length(wholestr)>2 then
    begin
    //去掉字符串中的所有空格
        wholestr:=StringReplace(wholestr,#32 ,'',[rfReplaceAll]);
        memo2.Text := GetPYStr(wholestr);
        Exit;
    end;
    if Length(wholestr)=2 then
    begin
        memo2.Text:=GetPYChar(wholestr);
        Exit;
    end;
    memo2.Clear;
end;

procedure TForm1.FormCreate(Sender: TObject);
begin
    button1Click(Sender);
    button2Click(Sender);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -