BindImage (Stringlist subroutine)

From m204wiki
Revision as of 13:49, 24 November 2010 by Admin (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Associate an image with a Stringlist

This method associates or binds an image to a Stringlist. BindImage is a subroutine that accepts one argument, an image name, and does not return anything.

BindImage is a member of the Stringlist class.

BindImage Syntax

%sl:BindImage(imagename)

Syntax Terms

%sl
A Stringlist object.
imagename
A string that contains the name of an image. This argument is case sensitive. That is, in the likely event the User Language was written in mixed case, with automatic upper-casing in effect, the image name should be in uppercase.

Usage Notes

Examples

  1. Once an image is bound to a Stringlist, methods that operate on an image can omit the image name parameter. This is not only convenient from a coding perspective, it is more efficient -- no image name lookup needs to be done in NTBL. The following example illustrates such a use of BindImage:
    %list is object stringList
    ...
    image customer
    id is string len 8
    lname is string len 32
    end image
    ...
    %list = new
    %list:bindImage('CUSTOMER')
    ...
    for each record in %recset
    %customer:id = id
    %customer:lname = lname
    %list:addImage
    end for
    
  2. BindImage could also enable the Sort and SortNew methods to use the names of image items in the sort criteria rather than column numbers, for example, where a Stringlist has a layout described by an image:
    %list is object stringList
    ...
    image customer
    id is string len 8
    lname is string len 32
    end image
    ...
    %list = new
    %list:bindImage('CUSTOMER')
    ...
    %list:sort('LNAME,A ID,D')
    
  3. It is probably quite common that one and only one image is bound to a Stringlist in a request. In such cases, the BindImage functionality can be achieved with the New method (:hdref reftxt=New refid=slnew.) by using an image name argument on the New method invocation:
    %list is object stringList
    ...
    image customer
    id is string len 8
    lname is string len 32
    end image
    ...
    %list = new('CUSTOMER')