4D v12.4SET RESOURCE |
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
4D v12.4
SET RESOURCE
|
SET RESOURCE ( resType ; resID ; resData {; resFile} ) | ||||||||
引数 | 型 | 説明 | ||||||
resType | 文字 |
![]() |
4文字のリソースタイプ | |||||
resID | 倍長整数 |
![]() |
リソースID番号 | |||||
resData | BLOB |
![]() |
リソースの新しい内容 | |||||
resFile | DocRef |
![]() |
リソースファイル参照番号、または 省略時、カレントリソースファイル | |||||
SET RESOURCE コマンドは、BLOB resDataに渡されるデータを使って引数resTypeとresIDに渡されるタイプとIDを持つリソースを作成または上書きします。
重要: resTypeには4文字を渡す必要があります。
リソースを書き込めなかった場合、システム変数OKに0が設定されます。
resFileに有効なリソースファイル参照番号を渡すと、リソースはそのリソースファイルに追加されます。resFileを省略した場合、リソースはリソースチェーンの最上位にあるファイル (最後に開いたリソースファイル) に追加されます。
Note: リソースは数メガバイトのサイズになる可能性があります。
Mac OSベースのリソースに対して作業していることを忘れないでください。プラットフォームが何であろうと、倍長整数のような内部リソースデータは Macintoshバイトオーダーで格納されます。Windows上では、(ストリングリストリソースおよびピクチャリソース等の) 標準リソースデータは必要に応じて自動的にバイトスワップされます。これに対して、カスタム内部データストラクチャを作成および使用する場合は、BLOB から取り出すデータのバイトスワップは開発者に任されています (LONGINT TO BLOBコマンドにMacintosh byte ordering定数を渡すなど)。
4Dセッション中にインタープロセス変数でユーザの環境設定を管理すると仮定します。この環境設定をセッション間で保存するには、以下のように記述できます:
` On Exit データベースメソッド
If(Test path name("DB_Prefs")#Is a document)
$vhResFile:=Create resource file("DB_Prefs")
Else
$vhResFile:=Open resource file("DB_Prefs")
End if
If(OK=1)
VARIABLE TO BLOB(<>vbAutoRepeat;$vxPrefData)
VARIABLE TO BLOB(<>vlCurTable;$vxPrefData;*)
VARIABLE TO BLOB(<>asDfltOption;$vxPrefData;*)
` and so on...
SET RESOURCE("PREF";26500;$vxPrefData;$vhResFile)
CLOSE RESOURCE FILE($vhResFile)
End if
` On Startup データベースメソッド
C_BOOLEAN(<>vbAutoRepeat)
C_LONGINT(<>vlCurTable)
$vbDone:=False
$vhResFile:=Open resource file("DB_Prefs")
If(OK=1)
GET RESOURCE("PREF";26500;$vxPrefData;$vhResFile)
If(OK=1)
$vlOffset:=0
BLOB TO VARIABLE($vxPrefData;<>vbAutoRepeat;$vlOffset)
BLOB TO VARIABLE($vxPrefData;<>vlCurTable;$vlOffset)
BLOB TO VARIABLE($vxPrefData;<>asDfltOption;$vlOffset)
` and so on...
$vbDone:=True
End if
CLOSE RESOURCE FILE($vhResFile)
End if
If(Not($vbDone))
<>vbAutoRepeat:=False
<>vlCurTable:=0
ARRAY STRING(127;<>asDfltOption;0)
End if
リソースが書き込まれるとOKは1に、そうでなければ0に設定されます。
プロダクト: 4D
テーマ: リソース
番号:
509
初出: 4D v6