■ 漢字1文字の文字コードを取得するには?

[Delphi Q & A 掲示板] [過去ログの一覧]


桜坂 2009/03/07(土) 19:08:28 <初心者>
いつもご指導頂きありがとうございます。
タイトルからすると、馬鹿げた質問と笑われるかも知れませんが検索しても判らず恥を忍んで質問させて頂きます。
例えば、「今」という漢字の文字コードは、JIS=3A23 、シフトJIS=8DA1 、 区点=02603 、 ユニコード=4ECA です。
ここで、入力した漢字の各種文字コードを表示するプログラムを作りたいと考えましたが、どの様にすればよいのかも解りません。
EDIT1に漢字1文字を入力します。
ボタン1を押すとEDIT2にJISコードが表示されることを想定しています。
同様にボタン2を押すとEDIT2にシフトJISコードが表示され、ボタン3を押すと区点コードが、ボタン4を押すとユニコードが表示されることを想像しています。
ご指導よろしくお願いします。

桜坂 2009/03/07(土) 20:15:46 <初心者>
すみません。あわてて環境を書くのを忘れてしまいました。
開発環境は、Delphi7のエンタープライズです。
PCは、Windows2000です。
よろしくお願いします。

D 2009/03/08(日) 08:51:41
シフトJISとユニコードだけ(でもシフトJISは自信なし)

procedure TForm1.Button2Click(Sender: TObject);
var
  S: String;
begin
  S := WideString(Edit1.Text)[1];
  if (Length(S) = 2) then begin
    Edit2.Text := Format('%.2x%.2x', [Ord(S[1]), Ord(S[2])]);
  end else begin
    Edit2.Text := Format('%.4x', [Ord(S[1])]);
  end;
end;

procedure TForm1.Button4Click(Sender: TObject);
begin
  Edit2.Text := Format('%.4x', [Ord(WideString(Edit1.Text)[1])]);
end;


あとは↓にシフトJIS、JIS、区点の変換関数がありました。
http://delfusa.main.jp/delfusafloor/archive/www.nifty.ne.jp_forum_fdelphi/faq/00286.htm

桜坂 2009/03/08(日) 10:11:24 <初心者>
[[解決]]

Dさん、ありがとうございます。
私の抱えていた問題が解決しました。
私の目的は、ユニコードが解ると外字作成の時の参考にする漢字のコードが解り、それを探すためのプログラムです。
仕事で、外字を作ることが最近多くなり、苦労しましたので「参考にする漢字コードを表示できればいいのに・・・」と思いましたが、・・・技量不足のため頓挫していました。
本当に助かりました。重ねてお礼申し上げます。ありがとうございます。
今後ともご指導、よろしくお願い申し上げます。

毎週金曜日はポイント最大3倍!さらに4倍のチャンスも!

Programming Library