ページの先頭行へ戻る
NetCOBOL V12.2 PowerCOBOL ユーザーズガイド
FUJITSU Software

7.6 Unicodeの取り扱い方法

本節では、実行時のコード系をUnicodeにし、プログラムを作成する場合の取り扱い方法について説明します。

実行時のコード系は、ランタイムコードセットを指定することで変更できます。ランタイムコードセットの変更方法については、「5.1.3 Unicodeを利用する」を参照してください。

PowerCOBOLでは、データとしてだけUnicode文字を取り扱うことができます。したがって、コントロール名、リソース名、イベント手続き名およびイベント手続き中などでは、Unicode文字を使用できません。

PowerCOBOLでは、フォームやコントロールのKeyPressイベントやPreKeyPressイベントの引数として、押されたキーの文字コードが渡されます。PowerCOBOLで提供されているコントロールを利用する範囲では、この文字コードはランタイムコードセットの指定に従って、自動的に切り替えられます。

しかし、サードベンダーが提供しているカスタムコントロールを利用した場合、つねに引数の文字コードをシフトJISコードで渡すイベントもあります。そのような場合、イベントの引数で渡された文字コードをUnicodeへ変換してから、文字を扱う必要があります。

PowerCOBOLでは、文字コードを変換するために、以下のルーチンを提供しています。(括弧内は同一機能を持つV9までのルーチン名で、今後も使用可能です。)

注意

これらの変換ルーチンは、Windowsの機能を利用して実現しています。したがって、Windowsの仕様により、たとえば、Unicode→シフトJISコード→Unicodeや、シフトJISコード→Unicode→シフトJISコードのように変換を繰り返した場合、同じコードに戻らない場合があります。