TntUnicode라는 컴포넌트가 있어서 리치Edit대신 TntRichEdit를 사용해보았는데도 안되네요
오히려 더 어려운 값이 나오네요 ㅠㅠ
왠만한 한자는 아래와 같이 하면 다 Unicode값이 나오는데 특수하게 중국 한자만 입력해서하면 안되네요
실행파일 첨부했고요, 소스는 아래와 질문의 소스가 Main입니다.
아시는분 돠주세요
아무개 님이 쓰신 글 :
: 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
|