地域の設定および問合せルーチン

プログラムの起動時には,現在の言語と国の設定がオペレーティング・システムから取得されます。ユーザーは「コントロールパネル」の「地域」アイコンを通して,この設定を変更することができます。また,システムからは現在のコードページも取得されます。

システム基本コンソール・コードページとシステム基本 Windows コードページがあります。コンソール・プログラムはシステム・コンソール・コードページを取得し,(QuickWin アプリケーションを含む) Windows プログラムはシステム Windows コードページを取得します。

NLS ライブラリーは,現在の地域 (ローカル・コードセット) を判定するルーチン,現在の地域のパラメタを返すルーチン,システムがサポートしているすべての地域一覧を作成するルーチン,および地域を別の言語,国,コードページに設定するルーチンを用意しています。これらのルーチンを次表に要約します。これらのルーチンで設定される地域とコードページは,そのルーチンを呼び出したプログラムまたはコンソールでのみ有効であることに注意してください。システムの基本設定を変更したり,他のプログラムやコンソールに影響を与えることはありません。

地域の設定または問い合わせを行うルーチン

名前 手続の形式 説明
NLSSetLocale 関数 言語,国,およびコードページを設定します。
NLSGetLocale サブルーチン 現在の言語,国,およびコードページを取得します。
NLSGetLocaleInfo 関数 現在のローカル・コードセットに関する要求された情報を取得します。
NLSEnumLocales 関数 システムがサポートしているすべての言語と国の組み合わせを返します。
NLSEnumCodepages 関数 システム上でサポートされているすべてのコードページを返します。
NLSSetEnvironmentCodepage 関数 現在のコンソール・コードページを変更します。
NLSGetEnvironmentCodepage 関数 システム (Windows) コードページまたはコンソール・コードページのコードページ番号を返します。

次に例を示します。

	USE DFNLS
	INTEGER(4) strlen, status
	CHARACTER(40) str
	strlen = NLSGetLocaleInfo(NLS$LI_SDAYNAME1, str)
	print *, str	!「月曜日」と出力
	strlen = NLSGetLocaleInfo(NLS$LI_SDAYNAME2, str)
	print *, str	!「火曜日」と出力
	strlen = NLSGetLocaleInfo(NLS$LI_SDAYNAME3, str)
	print *, str	!「水曜日」と出力
!	ロケールをアメリカ英語に変更
	status = NLSSetLocale("English", "United States")
	strlen = NLSGetLocaleInfo(NLS$LI_SDAYNAME1, str)
	print *, str	!「Monday」と出力
	strlen = NLSGetLocaleInfo(NLS$LI_SDAYNAME2, str)
	print *, str	!「Tuesday」と出力
	strlen = NLSGetLocaleInfo(NLS$LI_SDAYNAME3, str)
	print *, str	!「Wednesday」と出力
	END