明輝手游網(wǎng)中心:是一個免費(fèi)提供流行視頻軟件教程、在線學(xué)習(xí)分享的學(xué)習(xí)平臺!

把取得漢字首字母的程序編成dll供大家使用與參考

[摘要]//將所有國標(biāo)漢字的拼音首字母取出來,放到一個表中,然后查出.,也windows 98等自帶的//輸入法生成器,逆轉(zhuǎn)化一下拼音輸//入法的碼表本文章是提供大家參考.并已寫成dll文件給大家使用.pu...
//將所有國標(biāo)漢字的拼音首字母取出來,放到一個表中,然后查出.,也windows 98等自帶的//輸入法生成器,逆轉(zhuǎn)化一下拼音輸//入法的碼表

本文章是提供大家參考.并已寫成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++)//不準(zhǔn)用戶輸入非漢字
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++)//按漢字順序找出相關(guān)的字母.
{
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