ListOfGlobals (Subsystem function)

From m204wiki
Revision as of 21:09, 16 November 2012 by JAL (talk | contribs)
Jump to navigation Jump to search

List of subsystem globals (Subsystem class)

The ListOfGlobals shared function returns a Stringlist containing information about Subsystem globals.

Syntax

%sl = %(Subsystem):ListOfGlobals[( [subsysW], [nameW])]

Syntax terms

%slThe Stringlist variable that contains the data about the globals selected according to the nameW and subsysW patterns.
%(Subsystem) The class name in parentheses denotes a shared method. ListOfGlobals can also be invoked via a Subsystem object variable, which may be null.
nameW A string that identifies the name of the global(s) to be listed. This can be a specific name or a name containing wildcards. This optional argument defaults to an asterisk (*), that is, all globals.

The eligible wildcard characters are:

* Matches any group of 0 or more characters
? Matches any single characters
" An escape, which means the next character is treated literally, even if it is a double quotation mark ("), question mark (?), or asterisk (*).
subsysW The subsystem context for which globals are to be listed. This can be a specific name or a name containing wildcards. This is an optional argument which defaults to an asterisk (*), that is, all subsystems. The eligible wildcard characters are the same as those for nameW, above.

Usage notes

  • All errors result in request cancellation.
  • The Subsystem class ListOfGlobals applies to the subsys argument only; it ignores the current subsystem context.
  • The items placed on the target sl are put there in no particular order.
  • The data returned to each item of the Stringlist is in character format with the following contents:
    Bytes 1-10
    Userid that last set the global.
    Bytes 12-28
    Date and time global last set, in YY/MM/DD HH:MI:SS format.
    Bytes 30-53
    Subsystem context for global (Null for system globals).
    Bytes 54-
    Global name.
  • You can map to an image the information in each Stringlist item (described in the previous bullet) as follows

    image desc userid is string len 11 dateTime is string len 18 subsystem is string len 24 name is string len 255 end image

    Note that the image items are one byte longer than the item lengths indicated in the previous bullet. Those bytes would be blank, so standard trailing-blank stripping for image items will cause that extra blank to be stripped. The above image could then be used to map the entries, as follows:

    %sl is object stringList %i is float %sl = %(system):listOfGlobals prepare image desc %sl:bindImage('DESC') for %i from 1 to %sl:count %sl:getImage(%i) print %desc:userid and %desc:dateTime and %desc:name end for

Examples

The following statement prints the description of all subsystem globals:

%(subsystem):listOfGlobals:print

See also