Page History
[ |../../index.htm#lansa/ov_query_sys_info.htm]
現在地:
...
OV_QUERY_SYS_INFO
| Note |
|---|
...
注意: 組み込み関数の規則 |
...
クエリー・システム構成情報
| Info |
|---|
この組み込み関数は、アプリケーションへの影響を考慮した上でユーザーの責任において使用してください。明示的か暗黙的かを問わず、いかなる保証もありません。「免責事項」全文を参照してください。 |
ファンクション番号: | 993 |
|---|---|
必要なDLL: | U_BIF993.DLL |
...
各製品の対応
Visual LANSA for Windows | 使用可 |
|---|---|
Visual LANSA for Linux | 使用不可 |
LANSA/AD | 使用不可 |
...
引数
番号 | タイプ | 必須/任意 | 説明 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 |
|---|---|---|---|---|---|---|---|
1 | A | 必須 | 照会する情報 |
以下のいずれかの値として渡します。 SYS_ |
DRIV | 1 | 256 |
...
戻り値
番号 | タイプ | 必須/任意 | 説明 | 最小長 | 最大長 | 最小小数桁数 | 最大小数桁数 |
|---|---|---|---|---|---|---|---|
1 | A | 必須 | 返される情報 SYS_ |
DRIV LANSAシステムが存在するドライブが、ドライブ文字とコロンとして返されます(例:C:、D:、E |
:)。 SYS_ |
DIR LANSAシステムが存在するルート・ディレクトリが返されます(例:D:\X_WIN95\X_LANSA)。 SYS_DIR_ |
EXECUTE LANSAシステムのEXECUTEオブジェクトが存在するディレクトリが返されます(例:D:\X_WIN95\X_LANSA\EXECUTE)。 SYS_DIR_ |
SOURCE LANSAシステムのSOURCEオブジェクトが存在するディレクトリが返されます(例:D:\X_WIN95\X_LANSA\SOURCE) |
。 SYS_DIR_ |
OBJECT LANSAシステムのOBJECTオブジェクトが存在するディレクトリが返されます(例:D:\X_WIN95\X_LANSA\OBJECT)。 PART_ |
DRIV LANSAシステムが存在する現在の区画のドライブが、ドライブ文字とコロンとして返されます(例C:、D:、E |
:)。 PART_ |
DIR システムが存在する現在の区画のルート・ディレクトリが返されます(例:D:\X_WIN95\X_LANSA\X_DEM)。 PART_DIR_ |
EXECUTE EXECUTEオブジェクトが存在する現在の区画のディレクトリが返されます(例:D:\X_WIN95\X_LANSA\X_DEM\EXECUTE)。 PART_DIR_ |
SOURCE SOURCEオブジェクトが存在する現在の区画のディレクトリが返されます(例:D:\X_WIN95\X_LANSA\X_DEM\SOURCE)。 PART_DIR_ |
OBJECT OBJECTオブジェクトが存在する現在の区画のディレクトリが返されます(例:D:\X_WIN95\X_LANSA\X_DEM\OBJECT)。 TEMP_ |
DRIV 一時ファイル/オブジェクトが作成されるドライブが、ドライブ文字とコロンとして返されます(例:C:、D:、E |
:)。 TEMP_ |
DIR 一時ファイル/オブジェクトが作成されるディレクトリが返されます(例:D:\TEMP)。 DRIV_ |
LIST 戻り値2の作業リストが返されます。この値(戻り値1)は、DRIV_LIST要求を行うときにダミー引数として渡す必要があります。 | 1 | 256 |
2 | リスト | 任意 | 返された情報が保持される作業リスト。現時点では、DRIV_ |
LIST要求の場合のみ必要です。 DRIV_LIST要求に対して返される作業リストのレイアウトと形式については、以下の例を参照してください。 | N/A |
...
例
以下のRDMLファンクションの例(CS/400の自由形式のファンクション・エディターでコピー/貼り付け可能)は、可能性のあるドライブ/パスのすべての組み合わせを照会して表示します。
FUNCTION OPTIONSパスのすべての組み合わせを照会して表示します。
FUNCTION OPTIONS(*DIRECT)
...
EXECUTE SUBROUTINE(SHOW_INFO)
...
WITH_PARMS(SYS_DRIV)
...
EXECUTE SUBROUTINE(SHOW_INFO)
...
WITH_PARMS(SYS_DIR)
...
EXECUTE SUBROUTINE(SHOW_INFO)
...
WITH_PARMS(SYS_DIR_EXECUTE)
...
EXECUTE SUBROUTINE(SHOW_INFO)
...
WITH_PARMS(SYS_DIR_OBJECT)
...
EXECUTE SUBROUTINE(SHOW_INFO)
...
WITH_PARMS(SYS_DIR_SOURCE)
...
EXECUTE SUBROUTINE(SHOW_INFO)
...
WITH_PARMS(PART_DRIV)
...
EXECUTE SUBROUTINE(SHOW_INFO)
...
WITH_PARMS(PART_DIR)
...
EXECUTE SUBROUTINE(SHOW_INFO)
...
WITH_PARMS(PART_DIR_EXECUTE)
...
EXECUTE SUBROUTINE(SHOW_INFO)
...
WITH_PARMS(PART_DIR_OBJECT)
...
EXECUTE SUBROUTINE(SHOW_INFO)
...
WITH_PARMS(PART_DIR_SOURCE)
...
EXECUTE SUBROUTINE(SHOW_INFO)
...
WITH_PARMS(TEMP_DRIV)
...
EXECUTE SUBROUTINE(SHOW_INFO)
...
WITH_PARMS(TEMP_DIR)
...
**********
...
COMMENT(Display subroutine)
SUBROUTINE NAME(SHOW_INFO)
...
PARMS(
...
OV_QUERY)
...
DEFINE FIELD(#OV_QUERY)
...
TYPE(*CHAR)
...
LENGTH(50)
...
DEFINE FIELD(#OV_RESULT)
...
TYPE(*CHAR)
...
LENGTH(50)
...
USE BUILTIN(OV_QUERY_SYS_INFO)
...
WITH_ARGS(#OV_QUERY)
...
TO_GET(#OV_RESULT)
...
DISPLAY FIELDS(#OV_
...
QUERY #OV_RESULT)
...
ENDROUTINE
以下の例は、現在のPCに接続されているすべてのディスク・ドライブのドライブ文字とドライブ・タイプを表示します。ドライブ・タイプはREM (取り外し可能ドライブ)、FIX (ハード・ドライブ)、NET (ネットワーク・ドライブ)、CD (CD-ROMドライブ)、またはRAM (RAMドライブ)として返されることに注意してください。 として返されることに注意してください。
Windows 3.1環境では、使用可能なドライブの分類はタイプREM、FIX、NETのみです。 1環境では、使用可能なドライブの分類はタイプREM、FIX、NETのみです。
Windows 95/NT環境では、使用可能なドライブの分類はタイプREM、FIX、NET、CD、またはRAMのみです。 NT環境では、使用可能なドライブの分類はタイプREM、FIX、NET、CD、またはRAMのみです。
また、この例では、ドライブ文字がchar(2)としてA:、B:などの形式で返されることに注意してください。
FUNCTION OPTIONSなどの形式で返されることに注意してください。
FUNCTION OPTIONS(*DIRECT)
...
DEFINE FIELD(#OV_RESULT)
...
TYPE(*CHAR)
...
LENGTH(50)
...
DEFINE FIELD(#OV_DRIVE)
...
TYPE(*CHAR)
...
LENGTH(2)
...
DEFINE FIELD(#OV_TYPE)
...
TYPE(*CHAR)
...
LENGTH(3)
...
DEF_
...
LIST NAME(#OV_DRIVD)
...
FIELDS(#OV_
...
DRIVE #OV_TYPE)
...
DEF_
...
LIST NAME(#OV_DRIVW)
...
FIELDS(#OV_
...
DRIVE #OV_TYPE)
...
TYPE(*WORKING)
...
ENTRYS(26)
...
**********
...
COMMENT(Extract list off drives and display)
USE BUILTIN(OV_QUERY_SYS_INFO)
...
WITH_ARGS(DRIV_LIST)
...
TO_GET(#OV_
...
RESULT #OV_DRIVW)
...
CLR_
...
LIST NAMED(#OV_DRIVD)
...
SELECTLIST NAMED(#OV_DRIVW)
...
ADD_
...
ENTRY TO_LIST(#OV_DRIVD)
...
ENDSELECT
DISPLAY BROWSELIST(#OV_DRIVD)
...
以下の例は、対象のドライブ・タイプをREM、FIX、NET、またはALLとして指定するよう要求し、要求されたタイプのすべてのドライブをドロップダウンに表示します。この例では、ドライブ文字がchar(1)としてA、B、Cなどの形式で返されることに注意してください。
FUNCTION OPTIONSとしてA、B、Cなどの形式で返されることに注意してください。
FUNCTION OPTIONS(*DIRECT)
...
DEFINE FIELD(#OV_RESULT)
...
TYPE(*CHAR)
...
LENGTH(50)
...
DEFINE FIELD(#OV_DRIVE)
...
TYPE(*CHAR)
...
LENGTH(1)
...
INPUT_ATR(DDHD)
...
DEFINE FIELD(#OV_WDRIVE)
...
TYPE(*CHAR)
...
LENGTH(1)
...
DEFINE FIELD(#OV_TYPE)
...
TYPE(*CHAR)
...
LENGTH(3)
...
DEFINE FIELD(#OV_WTYPE)
...
TYPE(*CHAR)
...
LENGTH(3)
...
DEFINE FIELD(#OV_RC)
...
TYPE(*CHAR)
...
LENGTH(2)
...
DEFINE FIELD(#OV_WCOUNT)
...
TYPE(*DEC)
...
LENGTH(7)
...
DECIMALS(0)
...
DEFAULT(*zero)
...
DEF_
...
LIST NAME(#OV_DRIVW)
...
FIELDS(#OV_
...
WDRIVE #OV_WTYPE)
...
TYPE(*WORKING)
...
ENTRYS(26)
...
DEF_
...
COND NAME(*SHOWDRIV)
...
COND('#OV_
...
wcount *gt 0')
**********
...
COMMENT(Request type to be shown in Drop Down)
BEGIN_LOOP
REQUEST FIELDS(#OV_TYPE (#OV_DRIVE *SHOWDRIV))
BEGINCHECK
VALUECHECK FIELD(#OV_TYPE)
...
WITH_LIST('REM'
...
'FIX'
...
'NET'
...
'ALL')
...
MSGTXT('
...
Type must be REM, FIX, NET or ALL')
ENDCHECK
**********
...
COMMENT(Extract list off drives and display)
USE BUILTIN(OV_QUERY_SYS_INFO)
...
WITH_ARGS(DRIV_LIST)
...
TO_GET(#OV_
...
RESULT #OV_DRIVW)
...
USE BUILTIN(DROP_DD_VALUES)
...
WITH_ARGS(DDHD)
...
TO_GET(#OV_RC)
...
CHANGE FIELD(#OV_
...
WCOUNT #OV_DRIVE)
...
TO(*NULL)
...
SELECTLIST NAMED(#OV_DRIVW)
...
IF COND('(#OV_
...
type =
...
#OV_wtype)
...
*
...
or (#OV_
...
type =
...
ALL)')
...
CHANGE FIELD(#OV_WCOUNT)
...
TO('#OV_
...
wcount +
...
1')
...
USE BUILTIN(ADD_DD_VALUES)
...
WITH_ARGS(
...
DDHD *BLANKS #OV_WDRIVE)
...
TO_GET(#OV_RC)
...
IF_
...
NULL FIELD(#OV_DRIVE)
...
CHANGE FIELD(#OV_DRIVE)
...
TO(#OV_WDRIVE)
...
ENDIF
ENDIF
ENDSELECT
IF COND('#OV_
...
wcount <= 0')
MESSAGE MSGTXT('No drives of the requested type exist on (or are accessible to) this system')
ENDIF
END_LOOP