この方法では,1 つのプログラムで複数の書式を指定することができます。通常は,指定した装置番号ごとに 1 つの書式を指定します。数値書式は,装置番号に対する暗黙または明示的な OPEN が行われる前に,適切な環境変数を設定することによって実行時に指定します。
ファイルを開いた時点で適切な環境変数が設定されていると,この方法は他のすべての方法よりも優先されるので,その環境変数がつねに使用されます。たとえば,この方法を使うと,特定の装置番号に対して,プログラムで指定されている書式の代わりに特定の書式を使用するように指示することができます (1 回限りのファイル変換などに便利です)。
たとえば,以前に装置 28 から数値データを読み取り,書式なし I/O 文を使ってこれを装置 29 に書き出すプログラムをコンパイルしていたとします。このプログラムを使って,装置 28 から非ネイティブ・ビッグ・エンディアン (IEEE 浮動小数点) 書式を読み取り,そのデータを装置 29 にネイティブ・リトル・エンディアン書式で書き出したいとします。この場合,データは装置 28 から読み取られるときに,ビッグ・エンディアン IEEE 書式からネイティブ・リトル・エンディアン IEEE メモリー書式 (S 浮動小数点と T 浮動小数点) に変換され,装置 29 に変換なしでネイティブ・リトル・エンディアン IEEE 書式で書き出されます。
このプログラムのソース・コードを変更したり,再コンパイルを行ったりしなくても,次のコマンド列を使えば,プログラム (c:\users\leslie\convieee.exe) を実行する前に適切な環境変数を設定することができます。
set FORT_CONVERT28=BIG_ENDIAN set FORT_CONVERT29=NATIVE c:\users\leslie\convieee.exe
次図に,環境変数の設定後にサンプル・ファイル c:\users\leslie\convieee.exe を実行したときの,ディスク上とメモリー上で使用されるデータ書式を示します。
書式なしファイル変換の例
この方法は,他の方法に優先します。