function HanjaToAnsiUniCode(const Han: PChar): integer;
var UniCode: Integer;
begin
MultiByteToWideChar(CP_ACP, MB_PRECOMPOSED, Han, 2, @UniCode, 1);
Result := UniCode;
end;
procedure TForm1.Button2Click(Sender: TObject);
var aa,Ln,UniCode: integer;
begin
Ln := Length(RichEdit1.Lines.Strings[0]);
if (Ln < 2) and (ln > 2) then Exit;
aa := HanjaToAnsiUniCode(PChar(RichEdit1.Lines.Strings[0]));
Edit1.Text := IntToStr(aa);
end;
한글이랑 한자는 UniCode가 나오는 것 같은데 중국어 한자는 자꾸 제대로 안나오네요.
리치에디터에 중국어 한자를 넣고 읽어서 위와같이 API 함수를 이용해서 UniCode를
시도했는데 0x3F만 나오네요. ㅠㅠ. 0x7D27 나와야 하는데 어떻게 해야하죠?
WBCS나 MBCS를 먼저 뭔가 선언해주고 해야 하는건가요?
아시는분 답변 좀 부탁해요
soft8051@hanmail.net
|