繁体与简体之间的转换
DELPHI XE5测试通过
http://download.youkuaiyun.com/detail/teststudio/6464553


类
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;