求救! 寻求一个汉字转化为拼音的dll ?

sun198268 2005-08-20 10:10:25
急救 一个 汉字转化为拼音的dll , 意思就是;

例如: "朋友" 转化为"PY";

"银行"转化为"YH"

不胜感激!!
...全文
136 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
真如实观 2005-08-21
  • 打赏
  • 举报
回复
转换为拼音很容易,但转换为五笔就比较难了。
因为拼音的声母不很多。目前我准备写一个,方案是使用资源文件。
真如实观 2005-08-21
  • 打赏
  • 举报
回复
scsjs(闪电回归):使用资源文件指的就是码表.
如果想简单点就在数据库中创建表
hz2wbpy(hzCode int,hz char(4),wbAll(6) char(6),pyAll(6) char(1),wbFirst char(1),pyFirst char(1));
hzCode hz wbAll, pyAll wbFirst pyFirst
21526 吖 KUH A K A
......
20985 凹 MMGD AO M A

当然这张表做成xml文件,使用的时候用ADODataSet打开......
void __fastcall TForm1::Button5Click(TObject *Sender)
{
Edit3->Text="";
Edit4->Text="";
Edit5->Text="";
Edit6->Text="";
String sTemp,spyAll,swbAll,spy1,swb1;
WideString wStr,wsOut;
int nCode;
sTemp=Edit2->Text.UpperCase().Trim();
sTemp=StringReplace(sTemp," ","",TReplaceFlags()<<rfReplaceAll);
wStr=sTemp;
for(int i=1;i<=wStr.Length();++i)
{
nCode=wStr[i];
ADODataSet2->Filtered=false;
ADODataSet2->Filter="hzCode="+IntToStr(nCode);
ADODataSet2->Filtered=true;
spyAll=spyAll+ADODataSet2->FieldByName("pyall")->AsString;
swbAll=swbAll+ADODataSet2->FieldByName("wball")->AsString;
spy1=spy1+ADODataSet2->FieldByName("pyfirst")->AsString;
swb1=swb1+ADODataSet2->FieldByName("wbfirst")->AsString;
}
Edit3->Text=spyAll;
Edit4->Text=swbAll;
Edit5->Text=spy1;
Edit6->Text=swb1;
}

如果单纯考虑拼音码,我想可以:
#define DLLExport __declspec(dllexport);
extern "C" DLLExport String hz2pyCode(String str)
{
unsigned short i;
char ch1[3];
byte byteheight;
byte bytelow;
for(int k=1;k<=str.Lenght();k=k+2)
{
String sValue,sReturn;
ch1[0]=str[k];
ch1[1]=str[k+1];
ch1[2]=0;
bytelow=ch1[0];
byteheight=ch1[1];
i=byteheight+bytelow*256;
if(i<unsigned short)'啊')
sValue.sprintf("%s",ch1);
........
sReturn=sReturn+Value;
}
return sReturn;
}
可能这么写吧,大家帮想想.
sun198268 2005-08-21
  • 打赏
  • 举报
回复
好, 大家一块来写; tiegerium(/*唐秀观*/)

我在网看到几个方案 ,你要的话给你, 看是否有用!!


玄之丞 2005-08-21
  • 打赏
  • 举报
回复
转换成五笔也不难,用一个码表就可以了.

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧