请高手将VB6中的代码转为C#,谢谢了! emplooy中有一个私有属性name,方法直接从name的值中得到拼音代码. 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 函数原型 BOOL WINAPI GetPinYinLeader(PCHAR pBuf,PCHAR pStr) 不难,引用Win32的API用 DllImport http://community.csdn.net/Expert/topic/3073/3073492.xml?temp=.5007898上次回答的。。可能实现你这个功能。。 这句错了,返回类型是string吧,所以造成无法将类型“bool”隐式转换为“string”public static extern bool GetPinYinLeader(string pBuf,string pStr); 用SharpDevelop,可以实现VB<->C#的转换网址:http://www.sharpdevelop.net/下载地址:http://www.sharpdevelop.net/OpenSource/SD/Download/ //Private Declare Function GetPinYinLeader Lib "pinyin.dll" (ByVal pBuf As String, ByVal pString As String) As Long[DllImport("Pinyin.dll" , EntryPoint="GetPinYinLeader", CharSet=CharSet.Auto)]public static extern long GetPinYinLeader(string pBuf,string pStr);public string GetNamePY(){ string strBuf; long l; if (name == "") return ""; else { l= GetPinYinLeader( strBuf ,name); strBuf=l.ToString(); return strBuf; }} ClsPatient patient = new ClsPatient(); patient.ID ="001"; patient.Name ="刘海潮"; patient.Sex =1; patient.Birthday =new DateTime(1972,06,06); byte age=patient.GetAge(); string pycode=patient.GetNamePY(); MessageBox.Show(patient.ID.ToString() + " " +patient.Name.ToString() + " " +age.ToString() + " " + pycode.ToString()+ " " + patient.GetSexString());返回的拼音代码怎么是一串数字呀, 这就是你下面的函数的问题啦Private Declare Function GetPinYinLeader Lib "pinyin.dll" (ByVal pBuf As String, ByVal pString As String) As Long 函数原型//获得拼音首字母 //参数依次为: 拼音缓存区,要转换的字符 BOOL WINAPI GetPinYinLeader(PCHAR pBuf,PCHAR pStr) studio .net 2003提供了转换工具 如果方便,把dll文件发给我试试[email protected],就不信搞不定了。 [DllImport("Pinyin.dll" , EntryPoint="GetPinYinLeader", CharSet=CharSet.Auto)] public static extern long GetPinYinLeader(string pBuf,string pStr); public string GetNamePY() { string strBuf="" ; long l=1; if (name == "") return ""; else l = GetPinYinLeader(strBuf ,name); //strBuf=l.ToString(); strBuf=strBuf.Trim() ; return strBuf; }现在返回的是name的值,如果name="刘海"那么strbuf也是,strBuf="刘海",好像这个函数没有执行. 收到了你的消息,去下载了试试,也没试出来。跟你的结果一样,郁闷ing... to zmgcj(真的名贵):这个DLL很不错,体积小,查的字也很全,我也看了一些C#下的,有些字查不出来,要不就用数据库表查询,很不方便,以前在VB6下用的很好,可惜. VB.NET里面都可以实现,C#没有道理不行的,不知道哪里少了根筋,请高人指导一下吧 Download Software:http://www.sharpdevelop.net/OpenSource/SD/Download //Private Declare Function GetPinYinLeader Lib "pinyin.dll" (ByVal pBuf As String, ByVal pString As String) As Long[DllImport("Pinyin.dll" , EntryPoint="GetPinYinLeader", CharSet=CharSet.Auto)]public static extern long GetPinYinLeader(string pBuf,string pStr);public string GetNamePY(){ string strBuf; long l; if (name == "") return ""; else { l= GetPinYinLeader( strBuf ,name); strBuf=l.ToString(); return strBuf; }} C#的一个线程等待的问题 C# udp通信问题 有一个问题,关于一个进度条出现的异常 “涓婚”本来是“主题”,请问如何将“涓婚”变成“主题” 请教高手怎样实现richtextbox的多步撤消(Undo、Redo)? 一个简单的画图问题……新手求助 谁手里有中国省份根城市的对应关系表格 哪位能给一个曲线统计图的源代码?谢谢!(asp.net c#) 在线急等! 有关字符编码的小问题. 智能升级问题(.NET Application Updater Component) 菜鸟问题。。。。。。。。。。在线等!! 用VC写的dll(COM),用C#写主程序,为什么VC6.0能调试,vc7.1却不能
可能实现你这个功能。。
public static extern bool GetPinYinLeader(string pBuf,string pStr);
网址:http://www.sharpdevelop.net/
下载地址:http://www.sharpdevelop.net/OpenSource/SD/Download/
public static extern long GetPinYinLeader(string pBuf,string pStr);public string GetNamePY()
{
string strBuf;
long l;
if (name == "")
return "";
else
{
l= GetPinYinLeader( strBuf ,name);
strBuf=l.ToString();
return strBuf;
}
}
patient.ID ="001";
patient.Name ="刘海潮";
patient.Sex =1;
patient.Birthday =new DateTime(1972,06,06);
byte age=patient.GetAge();
string pycode=patient.GetNamePY();
MessageBox.Show(patient.ID.ToString() + " " +patient.Name.ToString() + " " +age.ToString() + " " +
pycode.ToString()+ " " + patient.GetSexString());
返回的拼音代码怎么是一串数字呀,
Private Declare Function GetPinYinLeader Lib "pinyin.dll" (ByVal pBuf As String,
ByVal pString As String) As Long
//获得拼音首字母
//参数依次为: 拼音缓存区,要转换的字符
BOOL WINAPI GetPinYinLeader(PCHAR pBuf,PCHAR pStr)
public static extern long GetPinYinLeader(string pBuf,string pStr);
public string GetNamePY()
{
string strBuf="" ;
long l=1;
if (name == "")
return "";
else
l = GetPinYinLeader(strBuf ,name);
//strBuf=l.ToString();
strBuf=strBuf.Trim() ;
return strBuf; }
现在返回的是name的值,如果name="刘海"
那么strbuf也是,strBuf="刘海",好像这个函数没有执行.
http://www.sharpdevelop.net/OpenSource/SD/Download
public static extern long GetPinYinLeader(string pBuf,string pStr);public string GetNamePY()
{
string strBuf;
long l;
if (name == "")
return "";
else
{
l= GetPinYinLeader( strBuf ,name);
strBuf=l.ToString();
return strBuf;
}
}