汉字与拼音

Foxtable提供了一个名为“PY”的类,用于获取汉字的拼音。

PY类提供的函数有:

GetPY函数

用于获取汉字的拼音,语法:

GetPY(Input)
GetPY(Input, TitleCase)
GetPY(Input, TitleCase, Mode)

Input: 字符型,汉字字符串。
TitleCase 逻辑型,是否返回首字母大写的拼音
Mode 整数型,用于设置返回拼音的格式,以汉字"我"为例,不同Mode值返回的拼音分别如下:
0:wo, 无声调
1:wo3,带数字声调
2:wŏ, 带声调
3:w, 仅返回拼音的首字母


示例

在命令窗口执行下面的代码:

Output.Show(PY.GetPY("我是狐表用户"))
Output
.Show(PY.GetPY("我是狐表用户", True))
Output
.Show(PY.GetPY("我是狐表用户", True, 1))
Output
.Show(PY.GetPY("我是狐表用户", True, 2))
Output
.Show(PY.GetPY("我是狐表用户", False, 2))
Output
.Show(PY.GetPY("我是狐表用户", True, 3))
Output
.Show(PY.GetPY("我是狐表用户", False, 3))

得到的结果为:

wo shi hu biao yong hu
Wo Shi Hu Biao Yong Hu
Wo3 Shi4 Hu2 Biao3 Yong4 Hu4
Wŏ Shì Hú Biăo Yòng Hù
wŏ shì hú biăo yòng hù
WSHBYH
wshbyh

GetNamePY函数

用于获取汉字姓名的拼音,语法:

GetNamePY(Input)
GetNamePY(Input, TitleCase)
GetNamePY(Input, TitleCase, Mode)

Input: 字符型,姓名字符串。
TitleCase 逻辑型,是否返回首字母大写的拼音
Mode 整数型,用于设置返回拼音的格式,以汉字"我"为例,不同Mode值返回的拼音分别如下:
0:wo, 无声调
1:wo3,带数字声调
2:wŏ, 带声调
3:w, 仅返回拼音的首字母

GetNamePY和GetPY函数的用法完全一样,不同的是,GetNamePY会将第一个字符作为姓氏,以尽可能返回正确的拼音。

示例

在命令窗口执行下面的代码:

Output
.Show(PY.GetPY("覃波"))
Output
.Show(PY.GetPY("仇和"))
Output
.Show(PY.GetNamePY("覃波"))
Output
.Show(PY.GetNamePY("仇和"))

得到的结果为:

tan bo
chou he
qin bo
qiu he

可以看到GetNamePY函数得到了准确的姓名拼音,而GetPY得到的结果是错误的,因为其将"覃"和"仇"作为普通字符处理了,而不是作为姓氏。

IsHanzi函数

用于判断给定的字符是否是汉字,例如:

Output.Show(PY.IsHanzi("格"))  '结果为True
Output
.Show(PY.IsHanzi("A"))   '结果为False

拼音数据库

由于汉字有大量的多音字,所以不管我们如何设计,获取的拼音结果都很难满足所有用户的要求。
为解决此难题,Foxtable将拼音数据库公开给了用户,这样用户能根据自己的需要修改任意汉字的拼音和声调。
在Foxtable的安装目录下有个名为“pydb.mdb”的文件,这是一个access格式的数据库,里头包含了2万多个汉字的拼音,以及500多个姓氏的拼音,大家可以根据需要随意修改。

重要提示:修改之后拼音数据库之后,一定要记得备份,避免卸载或重装Foxtable的时候被无意删除或覆盖。


本页地址:http://www.foxtable.com/webhelp/topics/3279.htm