简体 转 繁体 函数 本帖最后由 haochin 于 2009-10-09 16:21:50 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 //进行GBK简体转繁体Function GBChs2Cht(GBStr: String): AnsiString;Var Len: integer; pGBCHTChar: PChar; pGBCHSChar: PChar;Begin pGBCHSChar := PChar(GBStr); Len := MultiByteToWideChar(936, 0, pGBCHSChar, -1, Nil, 0); GetMem(pGBCHTChar, Len * 2 + 1); ZeroMemory(pGBCHTChar, Len * 2 + 1); LCMapString($804, LCMAP_TRADITIONAL_CHINESE, pGBCHSChar, -1, pGBCHTChar, Len * 2); result := String(pGBCHTChar); FreeMem(pGBCHTChar);End;你试一下,应该没有的,如果有问题可以到高级群:9642802,找管理员! 摘一段给你Function GBChs2Cht(GBStr: String): AnsiString; {进行GBK简体转繁体} Var Len: integer; pGBCHTChar: PChar; pGBCHSChar: PChar; Begin pGBCHSChar := PChar(GBStr); Len := MultiByteToWideChar(936, 0, pGBCHSChar, -1, Nil, 0); GetMem(pGBCHTChar, Len * 2 + 1); ZeroMemory(pGBCHTChar, Len * 2 + 1); //GB CHS -> GB CHT LCMapString($804, LCMAP_TRADITIONAL_CHINESE, pGBCHSChar, -1, pGBCHTChar, Len * 2); result := String(pGBCHTChar); FreeMem(pGBCHTChar); //FreeMem(pGBCHSChar); End;调用ShowMessage(GBChs2Cht('中国')); 另外一个问题,刚刚我在winxp简体 ,delphi 下写了一个测试程序。 edit2.text:=GBChs2Cht(edit1.text);在我的xp下没有任何的问题,但是我把这个exe复制到win2003繁体上去时在edit1里输入的字都变成乱码啦。这是怎么回事啊。 求一个波形的简单算法的,呵呵 StringGrid string 问题?? 如何打开系统的udp所有端口 Delphi7中有没可以直接在cell中输入数据的gird控件 Delphi中可否实现异步SOAP或回调? 使用wsdl时的疑惑 (60分) 通过崩溃地址找错误行数 我在连接数据库的时候老是报错误,请问是什么原因? 江湖告急:如何实现 3/4=75% 急啊:谁写一段代码给我,把memo中的词提取出来,放到另一个memo中 如何将统计出来的结果用RMReport打印出来 关于delphi字符串的问题!
Function GBChs2Cht(GBStr: String): AnsiString;
Var
Len: integer;
pGBCHTChar: PChar;
pGBCHSChar: PChar;
Begin
pGBCHSChar := PChar(GBStr);
Len := MultiByteToWideChar(936, 0, pGBCHSChar, -1, Nil, 0);
GetMem(pGBCHTChar, Len * 2 + 1);
ZeroMemory(pGBCHTChar, Len * 2 + 1);
LCMapString($804, LCMAP_TRADITIONAL_CHINESE, pGBCHSChar, -1, pGBCHTChar, Len * 2);
result := String(pGBCHTChar);
FreeMem(pGBCHTChar);
End;你试一下,应该没有的,如果有问题可以到高级群:9642802,找管理员!
{进行GBK简体转繁体}
Var
Len: integer;
pGBCHTChar: PChar;
pGBCHSChar: PChar;
Begin
pGBCHSChar := PChar(GBStr);
Len := MultiByteToWideChar(936, 0, pGBCHSChar, -1, Nil, 0);
GetMem(pGBCHTChar, Len * 2 + 1);
ZeroMemory(pGBCHTChar, Len * 2 + 1);
//GB CHS -> GB CHT
LCMapString($804, LCMAP_TRADITIONAL_CHINESE, pGBCHSChar, -1, pGBCHTChar, Len * 2);
result := String(pGBCHTChar);
FreeMem(pGBCHTChar);
//FreeMem(pGBCHSChar);
End;调用
ShowMessage(GBChs2Cht('中国'));