| 各国語対応 | COBOL インターフェイス環境 |
この章では、NLS の実装例として、アクセント記号を含むヨーロッパの地名リストをソートするサンプルプログラムを紹介します。
ここで紹介する例は、同じコードを使用して同一のリストを 2 回ソートします。ただし、最初のソートには NLS 指令を指定してコンパイルしたプログラム、2 回めのソートには NONLS 指令 (NLS を無効化) を指定してコンパイルしたプログラムをそれぞれ使用します。2 つのソート結果は一度に表示されるため、ソート結果の違いを比較できます。このサンプルで使用する地名リストには、標準的な 2 種類の文字集合 (ISO 8859-1 と IBM PC) が使用されており、サンプルを実行するためには、どちらかの文字集合を表示できる端末が必要です。サンプルのコピーファイルを正しく設定すると、どちらの文字集合でも表示される結果は同じになります (コピーファイルの設定については、『サンプルプログラムの実行』を参照してください)。
NLS 実装例のサンプルプログラムを実行するには、次の各ファイルが必要です。
| nlsdemo.cbl | メインプログラムと NLS 非対応サブルーチンのソースファイル |
| nlssort.cbl | NLS 対応サブルーチンのソースファイル |
| sortsub.cpy | 両方のサブルーチンに共通のコードのコピーファイル |
これらのファイルの検索には Infomgr を使用してください。
サンプルプログラムは次の手順で実行します。
*78 charset value "ISO". 78 charset value "IBMPC".
cob nlsdemo.cbl nlssort.cbl
UNIX の場合
UNIX 上でフランス語用の ISO 8859-1 コードセットを設定するには、次のコマンドを実行します。
LANG=fr_FR export LANG
AIX の場合
AIX 上でフランス語用の IBM PC コードセットを設定するには、次のコマンドを実行します。
LANG=Fr_FR export LANG
cobrun nlsdemo
画面にソート結果が表示されます。次の『典型的な処理結果』にソート結果の例を示しています。この例と実際のソート結果が一致しない場合には、LANG 環境変数の設定に応じた文字の大小順序の定義に、標準とは異なる UNIX システムファイルが使用されている可能性があります。システム管理者に連絡し、適切な処置を行ってください。
次の表は、アクセント記号を含むヨーロッパの地名リストをサンプルプログラムでソートした結果の画面表示内容の 24 行めまでの一覧です。左側の列が NLS コンパイラ指令を使用しない (NONLS) プログラムによるソート結果、右側の列が NLS コンパイラ指令を使用したプログラムによるソート結果です。
| NONLS コンパイラ指令 | NLS コンパイラ指令 | ||
Aschaffenburg Bl3vands Huk Brìzová * Böda Chatel-Guyon Châlons S. Marne Château Thierry Châteauneuf en Thîm. Crèvecoeur le Gd. Cádiz Córdoba Föhr Göteborg Hj|rring La Campiña Leucate Lébn Lörrach Muhlhausen |
Munden
Munnerstadt Mys` gliborz * Málaga Mâcon Mâcon Mühldorf München Nice Nievre Nyköping Næstrved Nîmes Nürnberg Oddes Oslo Perusaic * Peñaranda Poznad * Roma |
Äland Älborg Aschaffenburg Blåvands Huk Böda Brìzová * Cádiz Châlons S. Marne Château Thierry Châteauneuf en Thîm. Chatel-Guyon Córdoba Crèvecoeur le Gd. Èáslav * Ètaples Föhr Göteborg Hjørring La Campiña |
Lébn
Leucate Lörrach Mâcon Mâcon Málaga Mühldorf Muhlhausen München münchen Munden Munnerstadt Mys` gliborz * Næstrved Nice Nievre Nîmes Nürnberg Nyköping Oddes |
注:
Copyright © 2002 Micro Focus International Limited. All rights reserved.
本書、ならびに使用されている固有の商標および商品名は国際著作権法で保護されています。
| 各国語対応 | COBOL インターフェイス環境 |