繁体与简体之间的转换
DELPHI XE5测试通过 http://download.csdn.net/detail/teststudio/6464553
![](https://images0.cnblogs.com/blog/300447/201310/28123902-c4e1cdd406bf40cc88b7cc360b1b94d3.png)
![](https://images0.cnblogs.com/blog/300447/201310/28123903-ff7c26d1ab2c4f21864c4b43ac15b9fb.png)
类
unit SimpleConvert; interface uses Classes, Windows; type TTraditional = class(TObject) public function ConvertComplex(Text: String): AnsiString; function ConvertSimple(Text: String): AnsiString; end; implementation { 进行GBK繁体转简体 } function TTraditional.ConvertSimple(Text: String): AnsiString; Var Len: Integer; pGBCHTChar: PChar; pGBCHSChar: PChar; Begin pGBCHTChar := PChar(Text); Len := MultiByteToWideChar(936, 0, pansichar(pGBCHTChar), -1, Nil, 0); GetMem(pGBCHSChar, Len * 2 + 1); ZeroMemory(pGBCHSChar, Len * 2 + 1); LCMapString($804, LCMAP_SIMPLIFIED_CHINESE, pGBCHTChar, -1, pGBCHSChar, Len * 2); Result := String(pGBCHSChar); FreeMem(pGBCHSChar); end; { 进行GBK简体转繁体 } function TTraditional.ConvertComplex(Text: String): AnsiString; Var Len: Integer; pGBCHTChar: PChar; pGBCHSChar: PChar; Begin pGBCHSChar := PChar(Text); Len := MultiByteToWideChar(936, 0, pansichar(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; end.
使用
uses SimpleConvert; procedure TForm1.Button1Click(Sender: TObject); var a: TTraditional; begin a := TTraditional.Create; Caption := a.ConvertSimple(Edit1.Text); end; procedure TForm1.Button2Click(Sender: TObject); var a: TTraditional; begin a := TTraditional.Create; Caption := a.ConvertComplex(Edit1.Text); end;