メインコンテンツまでスキップ
バージョン: 20 R7 BETA

RESOURCE LIST

RESOURCE LIST ( resType ; resIDs ; resNames {; resFile} )

引数説明
resTypeText4文字のリソースタイプ
resIDsInteger arrayリソースID番号
resNamesText arrayリソース名
resFileTimeリソースファイル参照番号、または 省略時、開かれている全てのリソースファイル

このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。

説明

RESOURCE LIST コマンドは、resTypeに渡したタイプのリソースIDとリソース名から、resIDsresNamesの配列を作成します。

重要: resTypeには4文字を受渡す必要があります。.

オプション引数resFileに有効なリソースファイル参照番号を渡すと、そのファイルのリソースのみが返されます。resFileを省略した場合、現在開いているリソースファイルのすべてのリソースがリストされます。

RESOURCE LISTを呼び出す前に配列を事前定義する場合は、resIDsを倍長整数配列に、resNamesを文字列またはテキスト配列として定義します。配列の事前定義を行わない場合、このコマンドはresIDsを倍長整数配列、resNamesをテキスト配列として作成します。

このコマンドの実行後、Size of arrayresIDsまたは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

参照

RESOURCE TYPE LIST