把获取汉字首字母的程序编成dll供大家使用与参考

王朝other·作者佚名  2006-01-09
宽屏版  字体: |||超大  

//将所有国标汉字的拼音首字母取出来,放到一个表中,然后查出.,也windows 98等自带的//输入法生成器,逆转化一下拼音输//入法的码表

本文章是提供大家参考.并已写成dll文件给大家使用.

public string Getpingyin(string strName,System.Data.OleDb.OleDbConnection con,System.Data.SqlClient.SqlConnection sqlcon)

{

System.Data.SqlClient.SqlDataAdapter sqlda;

System.Data.OleDb.OleDbDataAdapter oleda;

string strSimple="";

strName=strName.Trim();

System.Data.DataSet myDataSet=new System.Data.DataSet();

if(strName.Length>0)

{

for(int num=0;num<strName.Length;num++)//不准用户输入非汉字

if(Convert.ToInt32(strName[num])<=255)

{

System.Windows.Forms.MessageBox.Show("你输入的字符\" "+strName[num].ToString()+"\"不是汉字,请更正","错误",System.Windows.Forms.MessageBoxButtons.OK,System.Windows.Forms.MessageBoxIcon.Stop);

return "";

}

string strSql="select 汉字,首字母 from 拼音首字母";

string strWhere=" where 汉字='"+strName[0].ToString()+"'"; //查询汉字,与字母的SQL

for(int i=1;i<strName.Length;i++)

{

strWhere+=" or 汉字='"+strName[i].ToString()+"'";

}

strSql+=strWhere;

if(con!=null)//看用户是用那个名字空间类.

{

oleda=new System.Data.OleDb.OleDbDataAdapter(strSql,con);

oleda.Fill(myDataSet,"拼音首字母");

}

else

{

sqlda=new System.Data.SqlClient.SqlDataAdapter(strSql,sqlcon);

sqlda.Fill(myDataSet,"拼音首字母");

}

for(int j=0;j<strName.Length;j++)//按汉字顺序找出相关的字母.

{

for(int k=0;k<myDataSet.Tables["拼音首字母"].Rows.Count;k++)

{

if(strName[j].ToString()==myDataSet.Tables["拼音首字母"].Rows[k]["汉字"].ToString())

{

strSimple+=myDataSet.Tables["拼音首字母"].Rows[k]["首字母"].ToString();

break;

}

}

}

myDataSet.Clear();

return strSimple;//得到字母

}

return "";

}

//用法例子

//OleDbConnection con=new .........;

//Getpingyin("我",con,null);返回w

下面这个是数据库文件,是取自别人的.想要dll文件的,与我联系huangweiling@126.com

http://www.lqjt.com/data/py.rar

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
© 2005- 王朝网络 版权所有