RESOURCE LIST
RESOURCE LIST ( resType ; resIDs ; resNames {; resFile} )
引数 | 型 | 説明 | |
---|---|---|---|
resType | Text | → | 4文字のリソースタイプ |
resIDs | Integer array | ← | リソースID番号 |
resNames | Text array | ← | リソース名 |
resFile | Time | → | リソースファイル参照番号、または 省略時、開かれている全てのリソースファイル |
このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。
説明
RESOURCE LIST コマンドは、resTypeに渡したタイプのリソースIDとリソース名から、resIDsとresNamesの配列を作成します。
重要: resTypeには4文字を受渡す必要があります。.
オプション引数resFileに有効なリソースファイル参照番号を渡すと、そのファイルのリソースのみが返されます。resFileを省略した場合、現在開いているリソースファイルのすべてのリソースがリストされます。
RESOURCE LISTを呼び出す前に配列を事前定義する場合は、resIDsを倍長整数配列に、resNamesを文字列またはテキスト配列として定義します。配列の事前定義を行わない場合、このコマンドはresIDsを倍長整数配列、resNamesをテキスト配列として作成します。
このコマンドの実行後、Size of arrayをresIDsまたはresNamesの配列に対して適用し、見つかったリソースの数を調べることができます。
例題 1
以下の例は、配列*$alResIDと$atResName*にデータベースのストラクチャファイル内に存在するストリングリストリソースのIDと名前を返します:
If(On Windows)
$vhStructureResFile:=Open resource file(Replace string(Structure file;".4DB";".RSR"))
Else
$vhStructureResFile:=Open resource file(Structure file)
End if
If(OK=1)
RESOURCE LIST("STR#";$alResID;$atResName;$vhStructureResFile)
End if
例題 2
以下の例は、現在開かれているリソースファイル内にあるピクチャリソースをデータベースのピクチャライブラリの中にコピーします:
RESOURCE LIST("PICT";$alResID;$atResName)
Open window(50;50;550;120;5;"Copying PICT resources...")
For($vlElem;1;Size of array($alResID))
GET PICTURE RESOURCE($alResID{$vlElem};$vgPicture)
If(OK=1)
$vsName:=$atResName{$vlElem}
If($vsName="")
$vsName:="PICT resID="+String($alResID{$vlElem})
End if
ERASE WINDOW
GOTO XY(2;1)
MESSAGE("Adding picture “"+$vsName+"” to the DB picture library.")
SET PICTURE TO LIBRARY($vgPicture;$alResID{$vlElem};$vsName)
End if
End for
CLOSE WINDOW