MoveFromId (Stringlist subroutine)
Move data from $list to Stringlist (Stringlist class)
This method moves data ($list items) from a $list to a Stringlist. MoveFromId is a subroutine that accepts one argument: the $list identifier of the $list from which data is to be moved.
Syntax
sl:MoveFromId( listId)
Syntax terms
sl | A Stringlist object. |
---|---|
listId | The $list identifier of the $list from which data is to be moved. |
Usage notes
- All errors in MoveFromId result in request cancellation.
- After MovefromId is invoked, the source $list will be emptied, although the $list identifier is still valid.
- MoveFromId discards any current contents of the method Stringlist.
- MoveFromId copies to the method Stringlist any image association that is set via $ListImg.
- MoveFromid simply moves the internal $list data pointers to the object stringlist. It does not actually perform any data movement; therefore, it is extremely efficient.
- MoveFromid is intended to facilitate migration to stringlists of existing applications that use $lists.
- stringlists should always be used in preference to $lists, so MoveFromId is provided only for the migration of existing $list applications to the use of Stringlists.
Examples
Suppose complex subroutine Summarize
takes a $list identifier as its input parameter. Further suppose that the subroutine is rewritten to use a Stringlist rather than a $list. The following code illustrates how this can be accomplished:
subroutine summarize(%listId is float) %list is object stringList %list = new %list:moveFromid(%listId) ... %list:moveToid(%listId) return
Of course, if the subroutine "forgets" to restore the input $list contents with MoveToId, the input $list remains empty at the end of the subroutine.
See also
- MoveToId does the converse of MoveToid (moves Stringlist data into a $list).