• ベストアンサー

漢字の振り仮名を取得したい

電話帳のようなものを作成しております。 名前をローマ字入力で入れたときの振り仮名(カタカナでも平仮名、半角もOK)を取得する方法は無いでしょうか。 Edit1で名前を入力するとLabel1->Captionにふりがなを入れたいのです・・・。 環境;Windows98SE / C++Builder V.4 何分、まだまだ初心者の領域を出られない状態ですので どなたかヒントになるようなことでも構いません。 よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • toysmith
  • ベストアンサー率37% (570/1525)
回答No.1

確定後の漢字列からふりがなを取得するのは辞書検索する以外に方法はないと思います。 「変換中に変換元のかな文字列を取得する」と言う仕様ならImmGetCompositionString()で可能です。 LONG ImmGetCompositionString( HIMC hIMC, DWORD InfoType, LPVOID Buf, DWORD BufSize); InfoTypeにRESULTREADSTRを指定すると「最後に変換を行った際に入力された文字列を1バイトカタカナで表した文字列をbufに返す。戻り値は、文字列のバイトサイズ」という動作になります。 1バイトカナで返されるので、全角変換が必要ならやってください。 詳しくはMSDNでご確認を!

toshi_yn
質問者

お礼

早速の回答ありがとうございます。 欲しかったのは「変換中に変換元のかな文字列を取得する」です。 ImmGetCompositionString()でやってみます。 ありがとうございました。

すると、全ての回答が全文表示されます。

その他の回答 (2)

noname#4564
noname#4564
回答No.3

> 確定後の漢字列からふりがなを取得するのは辞書検索する以外に方法はないと思います。 有力な手段は下記の2つです。 (1) KAKASIを使用する。 http://kakasi.namazu.org/ COMインターフェイスが提供されていないので、ラッパーでも作らないと、VBからは使いにくいですが、C/C++のスキルがあれば問題ないでしょう。 (2) ExcelのApplication.GetPhonetic メソッド Excel 2000以上で使用できます。 こちらは言うまでもなく、COMベースです。 ※ どちらの方法も、固有名詞など、辞書にない語、一意の読み方が特定できない語は意図通りの変換できない場合があります。

参考URL:
http://kakasi.namazu.org/
toshi_yn
質問者

お礼

早速の回答ありがとうございます。 確定後の漢字列からふりがなを取得することも出来るのですね。 知りませんでした。ご教授いただいたWebを早速勉強してみます。 ありがとうございました。

すると、全ての回答が全文表示されます。
  • tegawa
  • ベストアンサー率17% (60/337)
回答No.2

年賀状ソフトは名簿を作成すると、氏名にカタカナと漢字に記録されるものでは不満ですか、 名簿の作成には効率がよいと思います。

すると、全ての回答が全文表示されます。

関連するQ&A