実行時関数:既存の環境変数に値を設定するか,新しい環境変数を追加し,値を設定します。
モジュール:USE DFLIB
形式
result = SETENVQQ (vername = value)
vername = value
(入力) CHARACTER*(*)。追加または修正する環境変数の名前と値を含んだ文字列。vername = value の書式でなければなりません。ここで,vername は環境変数の名前で,value はそれに代入する値です。
結果
結果の型は LOGICAL(4) です。成功すれば .TRUE.,そうでなければ .FALSE. が返されます。
環境変数は,プログラムが実行される環境を定義します。たとえば,LIB 環境変数はプログラムとリンクされるライブラリーの基本検索パスを定義します。
SETEVNQQ は,文字列中の最後の空白を削除します。等号 (=) は環境変数内では不正な文字であるため,等号を value を終わらせるために使うことができます。これによって,最後の空白が取り除かれることを防ぐことができます。たとえば,文字列 PATH= = は value に '' を設定します。
環境変数名の後の等号に値を指定しないことで,SETEVNQQ を使って既存の環境変数を削除することができます。たとえば,LIB= は環境変数一覧から環境変数 LIB を削除します。既存の環境変数に値を指定すると,値が変更されます。環境変数が存在しない場合は,作成されます。
SETEVNQQ は,現在のプロセスに対して局所的な環境にのみ影響します。これをコマンド・レベルの環境を修正するために使用することはできません。現在のプロセスが終了すると,環境は親プロセスのレベルに戻ります。多くの場合,これはオペレーティング・システムのレベルです。しかしながら,SETEVNQQ で修正した環境を RUNQQ で作成した子プロセスに渡すことは可能です。これらの子プロセスは,SETEVNQQ が追加した新しい環境変数と値を受け取ります。
SETENVQQ は C 実行時ルーチン _putenv を使用し,GETENVQQ は C 実行時ルーチン getenv を使用します。C のマニュアルには,以下の説明があります。
getenv と _putenv は,環境を参照するために大域変数 _environ が示す環境のコピーを使用します。getenv は,実行時ライブラリーが参照可能なデータ構造でのみ動作し,オペレーティング・システムがプロセス用に作成した環境セグメントでは動作しません。
SETENVQQ と GETENVQQ は,Win32 API の SetEnvironmentVariable と GetEnvironmentVariable と一緒には正しく動作しません。
互換性
CONSOLE STANDARD GRAPHICS QUICKWIN GRAPHICS WINDOWS DLL LIB
関連情報
例
USE DFLIB LOGICAL(4) success success = SETENVQQ("PATH=c:\mydir\tmp") success = & SETENVQQ("LIB=c:\mylib\bessel.lib;c:\math\difq.lib") END