version 3
ARRAY PICTURE (arrayName; size{; size2})
| 引数 | 型 | 説明 | |
| arrayName | 配列 | 配列名 | |
| size | 数値 | 配列の要素数、または | |
| size2を指定した場合は、配列の行数 | |||
| size2 | 数値 | 2次元配列の列数 |
説明
ARRAY PICTURE コマンドは、メモリ上にピクチャ要素の配列を作成またはリサイズします。
・arrayName引数は作成する配列の名前です。
・size引数は配列の要素数です。
・size2引数はオプションです。size2が渡されている場合、コマンドは2次元配列を作成します。この場合、sizeに配列の行数を、size2にはそれぞれの配列の列数を指定します。2次元配列の各行は要素および配列として扱えます。これは配列の一番目の次元を扱う時、2次元配列中の配列全体を挿入あるいは削除するために、他の配列コマンドを使用できることを意味します。
ARRAY PICTUREを既存の配列に適用する場合、
・配列サイズを増やす場合、既存の値は保持され、新しい要素は空のピクチャで初期化されます。これは、追加された要素にPicture sizeを適用すると0が返されることを意味します。
・配列サイズを減らす場合、後ろの要素は配列から削除され、失われます。
例題
1. この例は、100要素のピクチャプロセス配列を作成します:
ARRAY PICTURE (agValues;100)
2. この例は、100行50列要素のピクチャローカル配列を作成します:
ARRAY PICTURE ($agValues;100;50)
3. この例は、50要素のピクチャインタープロセス配列を作成し、それぞれの要素にピクチャをロードします。配列のサイズは、データベースで利用可能な'PICT'リソースの数で、リソース名が"User Intf/"で始まるピクチャリソースをロードします。最後にロードしたピクチャリソースの数に配列をリサイズします:
RESOURCE LIST("PICT";$aiResIDs;$asResNames)
ARRAY PICTURE (<>agValues;Size of array($aiResIDs))
$vlPictElem:=0
For ($vlElem;1;Size of array(<>agValues))
If ($asResNames{$vlElem}="User Intf/@")
$vlPictElem:=$vlPictElem+1
GET PICTURE RESOURCE("PICT";$aiResIDs{$vlElem};$vgPicture)
<>agValues{$vlPictElem}:=$vgPicture
End if
End for
ARRAY PICTURE (<>agValues;$vlPictElem)