[Delphi] ひらがなからカタカナへ、カタカナからひらがなへ(.Net)

ひらがなからカタカナに、カタカナからひらがなに変換したい時って無いですか?たとえば、フリガナ入力欄などにユーザがカタカナって書いてるのにひらがなで入力してくる人いませんか?そんなとき、変換関数があったら便利ですよね。
でも、結構こんな日本語の変換関数を作るのは骨が折れるもの、作ってもデバッグが大変。だったら、あるものを使う方が楽じゃない?標準で日本語変換してくれる関数を持った言語って...と考えると C 言語とかありますね。でも、C 言語は .Net Frramework には見あたらないです。C# にはそのような変換関数は無いようです。でも、Visual Basic には StrConv 関数がありますね。これを使いましょう。
今までだと、他の言語の機能を使うときは、その言語でその機能を呼び出す DLL を作って使っていたかもしれませんが、StrConv は .Net Framework で Microsoft.VisualBasic アセンブリとして、元々入っています。ということは、これを使っても配布の必要すらないということです。
これを呼び出すには、プロジェクトツリーの「参照先」を右クリックして、参照の追加で Microsoft.VisualBasic を追加します。これだけで、使う準備は完了です。
あとは、必要な場所で StrConvを呼び出すだけです。

カタカナに変換する場合
edtKata.Text := Strings.StrConv(edtHira.Text, VbStrConv.Katakana);
    
ひらがなに変換する場合
edtHira.Text := Strings.StrConv(edtKata.Text, VbStrConv.Hiragana);
    

StrConv には、半角⇔全角変換などの機能があります。これらも同様の方法で使えるので、是非試してみてください。

コメント (0件)


くろねこ研究所
https://www.blackcat.xyz/article.php/ProgramingFAQ_del0055