OverlayImageItem (Stringlist subroutine): Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (1 revision)
m (1 revision)
Line 6: Line 6:
<li>The contents of a given image item.
<li>The contents of a given image item.
<li>A specified value, but at the same offset as that of a given image item in its image.
<li>A specified value, but at the same offset as that of a given image item in its image.
</ul>  
</ul>


OverlayImageItem is a subroutine that accepts three arguments, and returns no value.
OverlayImageItem is a subroutine that accepts three arguments, and returns no value.
Line 14: Line 14:
===Syntax terms===
===Syntax terms===
<table class="syntaxTable">
<table class="syntaxTable">
<tr><th>sl </th>
<tr><th>sl</th>
<td>A <var>Stringlist</var> object. </td></tr>
<td>A <var>Stringlist</var> object. </td></tr>
<tr><th>itemnum </th>
<tr><th>itemnum</th>
<td>The number of the <var>Stringlist</var> item that is to be updated. </td></tr>
<td>The number of the <var>Stringlist</var> item that is to be updated. </td></tr>
<tr><th>imageitem </th>
<tr><th>imageitem</th>
<td>The image item that indicates the overlay offset and length and, if the third argument is not specified, the value to be overlayed in the <var>Stringlist</var> item. </td></tr>
<td>The image item that indicates the overlay offset and length and, if the third argument is not specified, the value to be overlayed in the <var>Stringlist</var> item. </td></tr>
<tr><th>value </th>
<tr><th>value</th>
<td>The value to be placed at the image item's offset in the <var>Stringlist</var> item. If this optional argument is not specified, the contents of the image item specified by the '''itemnum''' argument are used to overlay the <var>Stringlist</var> item.</td></tr>
<td>The value to be placed at the image item's offset in the <var>Stringlist</var> item. If this optional argument is not specified, the contents of the image item specified by the '''itemnum''' argument are used to overlay the <var>Stringlist</var> item.</td></tr>
</table>
</table>
Line 52: Line 52:
</pre>
</pre>


If a value is specified in addition to the image item, processing is performed as if the value were assigned to the image item, and then the image item is restored to its original value. Any data type conversions required between the value and the image item are performed before the overlay is performed.  
If a value is specified in addition to the image item, processing is performed as if the value were assigned to the image item, and then the image item is restored to its original value. Any data type conversions required between the value and the image item are performed before the overlay is performed.


That is, this method invocation:
That is, this method invocation:

Revision as of 15:49, 19 January 2011

Overlay part of Stringlist item with image item (Stringlist class)


This method is used to overlay a Stringlist item with either of the following:

  • The contents of a given image item.
  • A specified value, but at the same offset as that of a given image item in its image.

OverlayImageItem is a subroutine that accepts three arguments, and returns no value.

Syntax

sl:OverlayImageItem( itemNum, imageItem, [value])

Syntax terms

sl A Stringlist object.
itemnum The number of the Stringlist item that is to be updated.
imageitem The image item that indicates the overlay offset and length and, if the third argument is not specified, the value to be overlayed in the Stringlist item.
value The value to be placed at the image item's offset in the Stringlist item. If this optional argument is not specified, the contents of the image item specified by the itemnum argument are used to overlay the Stringlist item.

Usage notes

  • All errors in OverlayImageItem result in request cancellation.
  • OverlayImageItem does not change the length of a Stringlist item. If the overlay string does not completely overlay a Stringlist item, the characters after and before the overlay string remain unchanged.
  • If the start column plus the length of the image item is greater than the current length of the Stringlist item, the request is cancelled.

Examples

OverlayImageItem is especially useful for Stringlists whose contents map to an image. In the following example, the Stringlist item associated with product code 983 has its description overlayed with a new description:

image product
code is binary len 2
desc is string len 30
end image
...
fr products
%product:code = code
%product:desc = desc
%rc = %list:addImage('PRODUCT')
end for
...
%product:code = 983
%num = %list:findImageItem(%product:code)
%product:desc = 'Insertion widget'
%list:overlayImageItem(%num, %product:desc)

If a value is specified in addition to the image item, processing is performed as if the value were assigned to the image item, and then the image item is restored to its original value. Any data type conversions required between the value and the image item are performed before the overlay is performed.

That is, this method invocation:

%list:overlayImageItem(%num, %product:code, 543)

is identical to this:

%temp = %product:code
%product:code = 543
%list:overlayImageItem(%num, %product:code)
%product:code = %temp