SET PICTURE TO LIBRARY
SET PICTURE TO LIBRARY ( picture ; picRef ; picName )
引数 | 型 | 説明 | |
---|---|---|---|
picture | Picture | → | 新しいピクチャ |
picRef | Integer | → | ピクチャライブラリ画像の参照番号 |
picName | Text | → | ピクチャの新しい名前 |
このコマンドはスレッドセーフではないため、プリエンプティブなコードには使えません。
説明
SET PICTURE TO LIBRARY コマンドは、新規ピクチャを作成、またはピクチャライブラリにあるピクチャを置き換えます。
このコマンドを呼び出す前に、下記の引数を渡してください:
- picRefにピクチャ参照番号(1~32767の範囲)
- pictureにピクチャ自身
- picNameにピクチャの名前(最大255文字)
同じ参照番号を持つ既存のピクチャライブラリのピクチャがある場合、そのピクチャの内容は置き換えられ、引数pictureとpicNameに渡された値でピクチャと名前が変更されます。
picRefに渡された参照番号を持つピクチャライブラリのピクチャがない場合、新規ピクチャがピクチャライブラリに追加されます。
4D Server: SET PICTURE TO LIBRARYコマンドはサーバマシン上で実行される (ストアードプロシージャやトリガ) メソッドの中から使用することはできません。SET PICTURE TO LIBRARYコマンドをサーバマシン上で呼び出しても、無視され、何も行われません。
警告: デザインオブジェクト (階層リスト項目、メニュー項目等) は、ピクチャライブラリのピクチャを参照することができます。プログラムによってピクチャライブラリのピクチャを修正する際は、注意する必要があります。
Note: pictureに空のピクチャを渡すか、picRefに負数またはヌル値を渡すと、コマンドは何も行いません。
例題 1
以下の例は、ピクチャライブラリの現在の内容に関わらず、最初にユニークなピクチャ参照番号を探すことによってピクチャライブラリに新規ピクチャを追加します:
PICTURE LIBRARY LIST($alPicRef;$asPicNames)
Repeat
$vlPicRef:=1+Abs(Random)
Until(Find in array($alPicRef;$vlPicRef)<0)
SET PICTURE TO LIBRARY(vgPicture;$vlPicRef;"New Picture")
例題 2
以下の例は、PICTURE LIBRARY LISTの3番目の例題で作成した、ディスク上のドキュメントに格納されたピクチャをピクチャライブラリの中に読み込みます:
SET CHANNEL(10;"")
If(OK=1)
RECEIVE VARIABLE($vsTag)
If($vsTag="4DV6PICTURELIBRARYEXPORT")
RECEIVE VARIABLE($vlNbPictures)
If($vlNbPictures>0)
For($vlPicture;1;$vlNbPictures)
RECEIVE VARIABLE($vlPicRef)
If(OK=1)
RECEIVE VARIABLE($vsPicName)
End if
If(OK=1)
RECEIVE VARIABLE($vgPicture)
End if
If(OK=1)
SET PICTURE TO LIBRARY($vgPicture;$vlPicRef;$vsPicName)
Else
$vlPicture:=$vlNbPictures+1
ALERT("This file looks like being damaged.")
End if
End for
Else
ALERT("This file looks like being damaged.")
End if
Else
ALERT("The file “"+Document+"” is not a Picture Library export file.")
End if
SET CHANNEL(11)
End
エラー管理
ピクチャライブラリにピクチャを追加するための十分なメモリがない場合、エラーコード-108が生成されます。また、I/Oエラーが返される(例えば、ストラクチャファイルがロックされている等)点にも注意してください。エラー処理メソッドを使って、このエラーを受け取ることができます。
参照
GET PICTURE FROM LIBRARY
PICTURE LIBRARY LIST
REMOVE PICTURE FROM LIBRARY