$List Print: Difference between revisions

From m204wiki
Jump to navigation Jump to search
m (1 revision)
m (add square brackets)
 
(46 intermediate revisions by 3 users not shown)
Line 2: Line 2:
<span class="pageSubtitle">Display contents of a $list</span>
<span class="pageSubtitle">Display contents of a $list</span>


<p class="warning">Most Sirius $functions have been deprecated in favor of Object Oriented methods. The OO equivalent for the $List_Print function is the [[Print (Stringlist function)]].</p>
<p class="warn"><b>Note:</b> Many $functions have been deprecated in favor of Object Oriented methods. The OO equivalent for the <var>$List_Print</var> function is the <var>[[Print (Stringlist function)|Print]]</var> function. </p>


This function displays the contents of a $list on the user's standard output device, typically a terminal.  
This function displays the contents of a $list on the user's standard output device, typically a terminal.  


$List_Print accepts five arguments and returns a numeric result. It is a callable $function (see [[Calling Sirius Mods $functions]]).  
<var>$List_Print</var> accepts five arguments and returns a numeric result. It is a [[Calling Sirius Mods $functions|callable]] $function.  


The first argument is the $list identifier of the input $list. This is a required argument.
==Syntax==
<p class="syntax">[%result =] $List_Print(listid, [num_len], [len_len], [first_item], [max_items])
</p>


The second argument is the number of bytes in the display of each line to use for the item number. This must be a number between 0 and 10 inclusive and, if greater than 0, a blank is placed after the item number. Item numbers are right justified in the indicated number of bytes. and they are truncated on the left if the length of the item number exceeds the space allocated for it. This is an optional argument and defaults to 0 meaning the item numbers will not be displayed.  
<table>
<tr><th>%result</th>
<td>A numeric value that is set to the number of $list items displayed. <p>
All errors result in request cancellation. </p></td></tr>


The third argument is the number of bytes in the display of each line to use for the item length. This must be a number between 0 and 4 inclusive and, if greater than 0, a blank is placed after the item length. Item lengths are right justified in the indicated number of bytes, and they are truncated on the left if the length of the item length exceeds the space allocated for it. This is an optional argument and defaults to 0 meaning the item lengths will not be displayed.  
<tr><th>listid</th>
<td>The $list identifier of the input $list. This is a required argument. </td></tr>


The fourth argument is the first item number to display. This is an optional argument and defaults to 1.  
<tr><th>num_len</th>
<td>The number of bytes in the display of each line to use for the item number. This must be a number between 0 and 10 inclusive and, if greater than 0, a blank is placed after the item number.
<p>
Item numbers are right-justified in the indicated number of bytes. and they are truncated on the left if the length of the item number exceeds the space allocated for it. </p>
<p>
This optional argument defaults to 0, which means the item numbers will not be displayed. </p></td></tr>


The fifth argument is the maximum number of items to display. A zero or negative value means to display all items to the end of the $list. This is an optional argument and defaults to zero meaning display to the end of the $list.
<tr><th>len_len</th>
<td>The number of bytes in the display of each line to use for the item length. This must be a number between 0 and 4 inclusive and, if greater than 0, a blank is placed after the item length.
<p>
Item lengths are right-justified in the indicated number of bytes, and they are truncated on the left if the length of the item length exceeds the space allocated for it. </p>
<p>
This optional argument defaults to 0, which means the item lengths will not be displayed. </p></td></tr>


==Syntax==
<tr><th>first_item</th>  
<p class="syntax"><section begin="syntax" /> [%RESULT =] $List_Print(listid, num_len, len_len, -
<td>The first item number to display. This optional argument defaults to 1. </td></tr>  
first_item, max_items)
<section end="syntax" /></p>
<p class="caption">$List_Print Function
</p>
<p class="caption">%RESULT is set to the number of $list items displayed.</p>


<p class="code">  
<tr><th>max_items</th>  
0 or greater - Number of items printed
<td>The maximum number of items to display. A zero or negative value means to display all items to the end of the $list.
<p>
All errors result in request cancellation
This optional argument defaults to zero, which means display to the end of the $list. </p></td></tr>
</p>
</table>
<p class="caption">$List_Print return codes
</p>


$List_Print, as its name would suggest, is functionally equivalent to a PRINT statement with the exception that $list items longer than 255 bytes are displayed in their entirety. This means that any output redirection or capturing whether it be a USE command or a [[$List_Capture]] or a [[$Sock_Capture]] will apply to the output of a $List_Print. If the input $list for a $List_Print is also the current output target via [[$List_Capture]], only the $list items on the $list before the $List_Print is issued will be displayed and and appended on to its own end.
==Usage notes==
The following code
<ul>
<li><var>$List_Print</var>, as its name would suggest, is functionally equivalent to a <var>Print</var> statement, except that $list items longer than 255 bytes are displayed in their entirety. Any output redirection or capturing, whether it be a <var>USE</var> command, a <var>[[$List_Capture]]</var>, or a <var>[[$Sock_Capture]]</var>, will apply to the output of a <var>$List_Print</var>. </li>


<p class="code"> %LIST = $ListNew
<li>If the input $list for a <var>$List_Print</var> is also the current output target of a <var>[[$List_Capture]]</var>, only the $list items that are on the $list before the <var>$List_Print</var> is issued will be displayed and appended to its own end. </li>
%RC = $List_Capture(%LIST)
</ul>
PRINT 'I will not talk out of turn in class'
FOR %I FROM 1 TO 10
    %RC = $List_Print(%LIST)
END FOR
%RC = $List_Capture
</p>


would populate the $list %LIST with 1024 $list items that each contain "I will not talk out of turn in class".
==Example==
This code fragment would populate the $list <code>%list</code> with 1024 $list items that each contain "I will not talk out of turn in class":


This $function is new in Version 6.2 of the ''[[Sirius Mods]]''.<p>
<p class="code">%list = $ListNew
%rc = $List_Capture(%list)
Print 'I will not talk out of turn in class'
For %i From 1 To 10
  %rc = $List_Print(%list)
End For
%rc = $List_Capture
</p>


==Products authorizing {{PAGENAMEE}}==
<ul class="smallAndTightList">
<ul class="smallAndTightList">
<li>[[Sirius functions]]</li>
<li>[[Sirius Functions]]</li>
<li>[[Fast/Unload User Language Interface]]</li>
<li>[[Fast/Unload User Language Interface]]</li>
<li>[[Janus Open Client]]</li>
<li>[[Media:JoclrNew.pdf|Janus Open Client]]</li>
<li>[[Janus Open Server]]</li>
<li>[[Media:JosrvrNew.pdf|Janus Open Server]]</li>
<li>[[Janus Sockets]]</li>
<li>[[Janus Sockets]]</li>
<li>[[Janus Web Server]]</li>
<li>[[Janus Web Server]]</li>
<li>[[Japanese functions]]</li>
<li>Japanese functions</li>
<li>[[Sir2000 Field Migration Facility]]</li>
<li>[[Media:SirfieldNew.pdf|Sir2000 Field Migration Facility]]</li>
 
</ul>
</ul>
   
   
</p>
<p class="caption">Products authorizing $List_Print
</p>
[[Category:$Functions|$List_Print]]
[[Category:$Functions|$List_Print]]

Latest revision as of 23:04, 5 June 2018

Display contents of a $list

Note: Many $functions have been deprecated in favor of Object Oriented methods. The OO equivalent for the $List_Print function is the Print function.

This function displays the contents of a $list on the user's standard output device, typically a terminal.

$List_Print accepts five arguments and returns a numeric result. It is a callable $function.

Syntax

[%result =] $List_Print(listid, [num_len], [len_len], [first_item], [max_items])

%result A numeric value that is set to the number of $list items displayed.

All errors result in request cancellation.

listid The $list identifier of the input $list. This is a required argument.
num_len The number of bytes in the display of each line to use for the item number. This must be a number between 0 and 10 inclusive and, if greater than 0, a blank is placed after the item number.

Item numbers are right-justified in the indicated number of bytes. and they are truncated on the left if the length of the item number exceeds the space allocated for it.

This optional argument defaults to 0, which means the item numbers will not be displayed.

len_len The number of bytes in the display of each line to use for the item length. This must be a number between 0 and 4 inclusive and, if greater than 0, a blank is placed after the item length.

Item lengths are right-justified in the indicated number of bytes, and they are truncated on the left if the length of the item length exceeds the space allocated for it.

This optional argument defaults to 0, which means the item lengths will not be displayed.

first_item The first item number to display. This optional argument defaults to 1.
max_items The maximum number of items to display. A zero or negative value means to display all items to the end of the $list.

This optional argument defaults to zero, which means display to the end of the $list.

Usage notes

  • $List_Print, as its name would suggest, is functionally equivalent to a Print statement, except that $list items longer than 255 bytes are displayed in their entirety. Any output redirection or capturing, whether it be a USE command, a $List_Capture, or a $Sock_Capture, will apply to the output of a $List_Print.
  • If the input $list for a $List_Print is also the current output target of a $List_Capture, only the $list items that are on the $list before the $List_Print is issued will be displayed and appended to its own end.

Example

This code fragment would populate the $list %list with 1024 $list items that each contain "I will not talk out of turn in class":

%list = $ListNew %rc = $List_Capture(%list) Print 'I will not talk out of turn in class' For %i From 1 To 10 %rc = $List_Print(%list) End For %rc = $List_Capture

Products authorizing $List_Print