5D艺术网首页
商城
|
资讯
|
作品
|
博客
|
教程
|
论坛
登录
注册
加为好友
发短消息
来自:郑州
性别:先生
最后登录:2011-04-27
http://wwle.5d.cn/
我有一对翅膀,不是用来飞翔,而是用来煮汤。
首页
|
新闻
|
话题
|
博客
|
相册
|
艺术作品
|
社交关系
|
留言板
|
社交圈
2005/10/09 | 由汉字得到拼音首字母
类别(语言类学习笔记)
|
评论
(0)
|
阅读(93)
|
发表于 22:20
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, StdCtrls;
type
TForm1 = class(TForm)
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
Edit3: TEdit;
procedure Button1Click(Sender: TObject);
procedure Edit3Change(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$ R *.dfm}
function 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 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 RadioButton1.Checked then Edit2.Text := GetPYChar(Edit1.Text);
if RadioButton2.Checked then Edit2.Text := GetPYStr(Edit1.Text);
end;
procedure TForm1.Edit3Change(Sender: TObject);
begin
self.Edit3.CharCase:=ecUpperCase;
end;
end.
0
评论
Comments
日志分类
首页
[289]
教程习题
[21]
数据库学习笔记
[60]
语言类学习笔记
[75]
网页类学习笔记
[93]
其他相关笔记
[40]