<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://brwiki2.brulescorp.com/brwiki2/index.php?action=history&amp;feed=atom&amp;title=FnSnap%3A_Screen_Processing</id>
	<title>FnSnap: Screen Processing - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://brwiki2.brulescorp.com/brwiki2/index.php?action=history&amp;feed=atom&amp;title=FnSnap%3A_Screen_Processing"/>
	<link rel="alternate" type="text/html" href="https://brwiki2.brulescorp.com/brwiki2/index.php?title=FnSnap:_Screen_Processing&amp;action=history"/>
	<updated>2026-04-17T12:28:47Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.41.0</generator>
	<entry>
		<id>https://brwiki2.brulescorp.com/brwiki2/index.php?title=FnSnap:_Screen_Processing&amp;diff=5314&amp;oldid=prev</id>
		<title>Laura: 1 revision</title>
		<link rel="alternate" type="text/html" href="https://brwiki2.brulescorp.com/brwiki2/index.php?title=FnSnap:_Screen_Processing&amp;diff=5314&amp;oldid=prev"/>
		<updated>2013-07-11T17:09:05Z</updated>

		<summary type="html">&lt;p&gt;1 revision&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;1&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 17:09, 11 July 2013&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-notice&quot; lang=&quot;en&quot;&gt;&lt;div class=&quot;mw-diff-empty&quot;&gt;(No difference)&lt;/div&gt;
&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;</summary>
		<author><name>Laura</name></author>
	</entry>
	<entry>
		<id>https://brwiki2.brulescorp.com/brwiki2/index.php?title=FnSnap:_Screen_Processing&amp;diff=5313&amp;oldid=prev</id>
		<title>Gtisdale: /* FNDIALOG$*40 - Display dialog box and return selected text */</title>
		<link rel="alternate" type="text/html" href="https://brwiki2.brulescorp.com/brwiki2/index.php?title=FnSnap:_Screen_Processing&amp;diff=5313&amp;oldid=prev"/>
		<updated>2011-05-10T00:40:20Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;FNDIALOG$*40 - Display dialog box and return selected text&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;==Buttons, messages and dialogs==&lt;br /&gt;
===FNBUTTON - Add button on the button bar===&lt;br /&gt;
&lt;br /&gt;
Creates a button on the button bar.  Buttons are created left to right and can be removed with FNCLRBUTTON&lt;br /&gt;
&lt;br /&gt;
 FNBUTTON(BUTTON_TEXT$,FK;BTN)&lt;br /&gt;
&lt;br /&gt;
;Functions used:&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;BUTTON_TEXT$&amp;#039;&amp;#039;&amp;#039;||Text to display on button.  Must be less than 10 characters&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;FK&amp;#039;&amp;#039;&amp;#039;||Function key value to return when the button is pressed&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;BTN&amp;#039;&amp;#039;&amp;#039;||Button number if an existing button is to be changed.  If this parameter is omitted the next button position will be used.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNCHECK - in connection with a radio dot or check box returns a 1 if checked===&lt;br /&gt;
&lt;br /&gt;
Used to process the elements of a radio dot list or check box is to determine wether the element has been checked (true) or not (false)&lt;br /&gt;
&lt;br /&gt;
  FNCHECK(L$*100)&lt;br /&gt;
&lt;br /&gt;
;Functions used:&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;L$ &amp;#039;&amp;#039;&amp;#039;||The label description being processed for an element of a radio list or check b ox list&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&amp;lt;br&amp;gt;&lt;br /&gt;
This function is intended to be used by other functions see for example FNOPTIONS and FNOPTIONS$&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNCHECK$ - places or strips ^ from an element===&lt;br /&gt;
&lt;br /&gt;
Based on the results of FNCHECK or a default parameter this function will add or remove the ^ from a description that indicates if it has been checked&lt;br /&gt;
&lt;br /&gt;
Returns the label modified to either contain or be free of a leading ^.&lt;br /&gt;
 FNCHECK$*100(L$*100,L)&lt;br /&gt;
&lt;br /&gt;
;Functions used:&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;L$ &amp;#039;&amp;#039;&amp;#039;||The label description to be modified if L is true&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;L &amp;#039;&amp;#039;&amp;#039;||A flag indicating whether the ^ is to be appended to the front of a label, or stripped from it&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&amp;lt;br&amp;gt;&lt;br /&gt;
Used as a part of FNOPTIONS and FNOPTIONS$&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNCLRBUTTON - removes a button from the button bar===&lt;br /&gt;
&lt;br /&gt;
Removes a button from the button bar if it was created using FNBUTTON&lt;br /&gt;
&lt;br /&gt;
 FNCLRBUTTON(;BTN)&lt;br /&gt;
&lt;br /&gt;
Functions used |&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;BTN&amp;#039;&amp;#039;&amp;#039;||The number of the button to be cleared.  If blank the last, highest number, button will be cleared. If equal to 99 all buttons will be cleared.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&amp;lt;br&amp;gt;&lt;br /&gt;
Use in connection with FNBUTTON to display and remove buttons left to right on the button bar.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNDIALOG$*40 - Display dialog box and return selected text===&lt;br /&gt;
&lt;br /&gt;
Displays a dialog box with up to three options and specifiable text.  See also FNDLG&lt;br /&gt;
&lt;br /&gt;
 FNDIALOG$*40(SROW$,SCOL$,DBWIDTH,TXTSTR$*900,OPT1$*40,OPT2$*40,OPT3$*40,REMOVE,DFLTOPT,DISPANYKEY,KEYWAIT) !:&lt;br /&gt;
&lt;br /&gt;
Functions used |&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&lt;br /&gt;
&lt;br /&gt;
Text does not align very well in the box when using proportional fonts.  This function can be called from FNDLG that uses an unformatted BR file to supply text and button labels.  Both functions have been updated to utilize the external utility from David Blankenship.&lt;br /&gt;
&lt;br /&gt;
See also FNWAITWIN for a very useful alternative.&lt;br /&gt;
&lt;br /&gt;
===FNDLG - Display a dialog box from data in a file===&lt;br /&gt;
&lt;br /&gt;
Creates a dialog box from a DAT file prepared by DIALOGMN.BR&lt;br /&gt;
&lt;br /&gt;
 FNDLG(DIALOG_DAT,DLNR;DISPANYKEY,KEYWAIT,SUFFIX$*300)&lt;br /&gt;
&lt;br /&gt;
Functions used&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;FNDIALOG&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;DIALOG_DAT&amp;#039;&amp;#039;&amp;#039;||&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;DLNR&amp;#039;&amp;#039;&amp;#039;||&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;DISPANYKEY&amp;#039;&amp;#039;&amp;#039;||&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;KEYWAIT&amp;#039;&amp;#039;&amp;#039;||&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;SUFFIX$&amp;#039;&amp;#039;&amp;#039;||&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&lt;br /&gt;
&lt;br /&gt;
This is a carry over from earlier versions and does not align proportional text very well. If possible use MSGBOX instead.&lt;br /&gt;
&lt;br /&gt;
The function has been updated to use the message box utility from David Blankenship if RADIOCHK.exe is in the VOL002 directory&lt;br /&gt;
&lt;br /&gt;
With version 4.2 the function FNWAITWIN and rel;ated functions FNWAITMSG and FNWAITBAR are much more flexible and provde a Windows look message box with custom buttons, a progress bar and optionsl message flashing across the wait window as processing progresses.&lt;br /&gt;
&lt;br /&gt;
===FNHELP - open a tip box associated with a screen using a text file===&lt;br /&gt;
&lt;br /&gt;
Searches a specified text file for an anchor point, then displays a record after that point specified by HFLD.  Used for displaying pop up help windows based on the input field where the cursor is located&lt;br /&gt;
&lt;br /&gt;
[PICT(PICS\SNAP0007.ptf)]&lt;br /&gt;
&lt;br /&gt;
 FNHELP(HPATH$*60,HFILE$*20,HBASE$,HFLD,HROW,HCOL;HTITLE$*80)&lt;br /&gt;
&lt;br /&gt;
;Functions used:&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;HPATH$ &amp;#039;&amp;#039;&amp;#039;||Path where the help file is located&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;HFILE$ &amp;#039;&amp;#039;&amp;#039;||File name within HPATH$ for the help file&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;HFLD &amp;#039;&amp;#039;&amp;#039;||Field number, usually set by CURFLD except in GRIDs it should be set by CURCOL.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;HROW &amp;#039;&amp;#039;&amp;#039;||Current row position of cursor, used to help in the positioning of the help window.  Usually set by CURROW&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;HCOL &amp;#039;&amp;#039;&amp;#039;||Current column of cursor, used to help in the positioning of the help window.  Usually set by CURCOL&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;HTITLE$ &amp;#039;&amp;#039;&amp;#039;||An optional title to appear in the bar at the top of the help window.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&amp;lt;br&amp;gt;&lt;br /&gt;
Very flexible and easy to implement help system.  I uses David Blankenship&amp;#039;s HELPTIPS.exe utility.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNHELPTIP - uses David Blankenship utility to display a help record===&lt;br /&gt;
&lt;br /&gt;
Displays a record from a text file in a pop up window.  Used in the BR system by the ERRORS routine to display the description of an error number.&lt;br /&gt;
&lt;br /&gt;
 FNHELPTIP(PROGPATH$*100,TEXTFILE$*50,TITLE$*50,RECORD,HROW,HCOL;NO_WAIT)&lt;br /&gt;
&lt;br /&gt;
;Functions used:&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;PROGPATH$ &amp;#039;&amp;#039;&amp;#039;||Path where text file is located.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;TEXTFILE$ &amp;#039;&amp;#039;&amp;#039;||Name of text file within the specified path&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;TITLE$ &amp;#039;&amp;#039;&amp;#039;||Name to be displayed at the top of the pop up window&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;RECORD &amp;#039;&amp;#039;&amp;#039;||The record number within the text file to display as the text of the message.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;HROW &amp;#039;&amp;#039;&amp;#039;||A positioning variable generally set by CURROW&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;HCOL &amp;#039;&amp;#039;&amp;#039;||A positioning variable generally set by CURCOL&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;NO_WAIT &amp;#039;&amp;#039;&amp;#039;||Ignored&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&amp;lt;br&amp;gt;&lt;br /&gt;
If HROW and HCOL are zero then the window id positioned in the center of the screen.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNOK - Pop-up &amp;quot;OK&amp;quot; question===&lt;br /&gt;
&lt;br /&gt;
 FNOK&lt;br /&gt;
&lt;br /&gt;
Description|&amp;lt;br&amp;gt;&lt;br /&gt;
Displays a dialog box with OK yes or NO. If yes is returned FNOK is true else it is false&lt;br /&gt;
&lt;br /&gt;
Functions used |&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&amp;lt;br&amp;gt;&lt;br /&gt;
MSGBOX is probably a better option with current programs&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNOPTIONS - creates a radio dot selection pop up===&lt;br /&gt;
&lt;br /&gt;
Displays a pop up radio dot selection window.  If David Blankenship&amp;#039;s utility RADIOCHEK.exe is present that will be used.  If not present then a BR generated selection window will be generated.&lt;br /&gt;
&lt;br /&gt;
[PICT(PICS\SNAP0005.ptf)]&lt;br /&gt;
 FNOPTIONS(MAT O$;DEFAULT,TITLE$*100,MESSAGE$*1000,WAITTIME,SROW,SCOL)&lt;br /&gt;
&lt;br /&gt;
;Functions used:&amp;lt;br&amp;gt;&lt;br /&gt;
FNRADIOCHK&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;Mat O$ &amp;#039;&amp;#039;&amp;#039;||Matrix containing the descriptions for each line in the list&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;DEFAULT &amp;#039;&amp;#039;&amp;#039;||A number indicating which radio dot item should carry the dot when the box is displayed&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;TITLE$ &amp;#039;&amp;#039;&amp;#039;||A title to appear across the top of the list box.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;MESSAGE$ &amp;#039;&amp;#039;&amp;#039;||A message to appear in a separate part of the dialog box explaining the choices if appropriate.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;WAITTIME &amp;#039;&amp;#039;&amp;#039;||Number of seconds that the list should be displayed before accepting whatever is checked and continuing.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;SROW &amp;#039;&amp;#039;&amp;#039;||Positioning parameter generally set by CURROW&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;SCOL &amp;#039;&amp;#039;&amp;#039;||Positioning parameter generally set by CURCOL&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNOPTIONS$ - creates a check box selection pop up===&lt;br /&gt;
&lt;br /&gt;
Similar to FNOPTIONS, but this function displays the information in the form of a multiple selection check box list.&lt;br /&gt;
&lt;br /&gt;
[PICT(PICS\SNAP0006.ptf)]&lt;br /&gt;
&lt;br /&gt;
 FNOPTIONS$*100(MAT O$;DEFAULT$*100,TITLE$*100,MESSAGE$*1000,WAITTIME,NONE)&lt;br /&gt;
&lt;br /&gt;
;Functions used:&amp;lt;br&amp;gt;&lt;br /&gt;
FNRADIOCHK&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;DEFAULT &amp;#039;&amp;#039;&amp;#039;||A number indicating which radio dot item should carry the dot when the box is displayed&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;TITLE$ &amp;#039;&amp;#039;&amp;#039;||A title to appear across the top of the list box.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;MESSAGE$ &amp;#039;&amp;#039;&amp;#039;||A message to appear in a separate part of the dialog box explaining the choices if appropriate.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;WAITTIME &amp;#039;&amp;#039;&amp;#039;||Number of seconds that the list should be displayed before accepting whatever is checked and continuing.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;NONE &amp;#039;&amp;#039;&amp;#039;||A flag that will allow no items to be selected, otherwise the check list may not be exited without at least one selection being made.Positioning parameter generally set by CURROW&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNPFKEYLINE - Creates a hot field string of function key options===&lt;br /&gt;
&lt;br /&gt;
See also FNWINBUTTONS for 4.17+&lt;br /&gt;
&lt;br /&gt;
Prints a function key message line in an open window or child window at the row specified. Function keys displayed are hot and return the Fkey value. Fkey references can be hot text or optionally buttons.&lt;br /&gt;
&lt;br /&gt;
[PICT(PICS\SNAP0009.ptf)]&lt;br /&gt;
&lt;br /&gt;
 FNPFKEYLINE(ROW,TXT$*80;FKWIN)&lt;br /&gt;
&lt;br /&gt;
Functions used&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;ROW&amp;#039;&amp;#039;&amp;#039;||The row number of the window on which the line should be displayed. Negative number indicate that many rows UP from the bottom of the window. Zero &amp;quot;0&amp;quot; indicates the very bottom of the window. All messages will be right justified within the window.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;TXT$&amp;#039;&amp;#039;&amp;#039;||Text to be displayed. Function keys should be designated with a leading carat ^ and trailing double space such as &amp;quot;^Esc  End&amp;quot;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;FKWIN&amp;#039;&amp;#039;&amp;#039;||Window number in which the line should be displayed&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&amp;lt;br&amp;gt;&lt;br /&gt;
Valid function keys are numbers beginning with &amp;quot;^F&amp;quot; such a ^F9, or abbreviations for keys including ^PgUp ^PgDn ^Esc and ^Enter.  These are not case sensitive.&lt;br /&gt;
See also FNWINBUTTONS for a GUI based alternative.&lt;br /&gt;
&lt;br /&gt;
===FNPFKEY - Prints a function key message===&lt;br /&gt;
&lt;br /&gt;
 FNPFKEY(R,C,F$,TXT$*78) !:&lt;br /&gt;
&lt;br /&gt;
Description|&amp;lt;br&amp;gt;&lt;br /&gt;
Prints a function key message on window zero&lt;br /&gt;
&lt;br /&gt;
Functions used&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;R&amp;#039;&amp;#039;&amp;#039;||Row number&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;C&amp;#039;&amp;#039;&amp;#039;||Column number&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;F$&amp;#039;&amp;#039;&amp;#039;||Function key to be displayed&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;TXT$&amp;#039;&amp;#039;&amp;#039;||Message to be displayed next to the function key&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&amp;lt;br&amp;gt;&lt;br /&gt;
Displays only one function key message at the row and column of window #0 specified.  FNPFKEYLINE is more flexible and recommended.&lt;br /&gt;
&lt;br /&gt;
Effective with GUI mode and release 4.17 FNWINBUTTONS and FNPICBUTTONS are much better options.&lt;br /&gt;
&lt;br /&gt;
===FNRADIOCHK$ - display a radio/checkbox with a set of options===&lt;br /&gt;
&lt;br /&gt;
Used by FNOPTONS and FNOPTIONS$ and FNDLG to display radio dot list, check box list, or a dialog box.  Makes use of David Blankenship&amp;#039;s RADIOCHK.exe utility.&lt;br /&gt;
&lt;br /&gt;
 FNRADIOCHK$*100(CAPTION$*80,INFILE$*60,LEFT,TOP,ALLOW,DEFAULT$*100,TYPE$,LOCATE,NOCOLS,COLWIDTH,WAITTIME;TEXTSTRING$*2400)&lt;br /&gt;
&lt;br /&gt;
;Functions used:&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;CAPTION$ &amp;#039;&amp;#039;&amp;#039;||Title for the top bar&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;INFILE$ &amp;#039;&amp;#039;&amp;#039;||File name to be processed&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;LEFT &amp;#039;&amp;#039;&amp;#039;||Position form left of screen to display in pixels&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;TOP &amp;#039;&amp;#039;&amp;#039;||Position from the top of the screen in pixels&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;ALLOW &amp;#039;&amp;#039;&amp;#039;||allows no responses if true, requires at least one if false&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;DEFAULT$ &amp;#039;&amp;#039;&amp;#039;||A string of 0 and 1 where 0 is not checked and 1 is checked&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;TYPE$ &amp;#039;&amp;#039;&amp;#039;||R for Radio C for Check box&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;LOCATE &amp;#039;&amp;#039;&amp;#039;||Record number in file to use as data for a dialog box&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;NOCOLS &amp;#039;&amp;#039;&amp;#039;||Number of columns to display&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;COLWIDTH &amp;#039;&amp;#039;&amp;#039;||Width of columns or buttons.  If not provided the spacing will be automatic based on the length of text provided&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;WAITTIME$ &amp;#039;&amp;#039;&amp;#039;||Number of seconds to wait before returning the default answer.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;TEXTSTRING$ &amp;#039;&amp;#039;&amp;#039;||Text to display in a dialog box if not using text from a file.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNRADNUM - Return the option selected in a radio dot list===&lt;br /&gt;
&lt;br /&gt;
 FNRADNUM(MAT V$)&lt;br /&gt;
&lt;br /&gt;
Description|&amp;lt;br&amp;gt;&lt;br /&gt;
Function determines which in a group of radio buttons was selected and returns the element number&lt;br /&gt;
&lt;br /&gt;
Functions used |&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNTIMEOUT - Display timeout message===&lt;br /&gt;
&lt;br /&gt;
 FNTIMEOUT(;SECONDS)&lt;br /&gt;
&lt;br /&gt;
Description|&amp;lt;br&amp;gt;&lt;br /&gt;
Displays a message that input has timed out and waits for a keystroke to reactivate the program.&lt;br /&gt;
&lt;br /&gt;
Functions used |&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNWINBUTTONS - print one or more buttons on a screen in a designated window===&lt;br /&gt;
&lt;br /&gt;
Similar to and a replacement of FNPFKEYLINE.  Prints one or more buttons, right justified in a designated window either BROWs down from the top of the window if BROPW is positive of BROWS up from the bottom of the window if BROW is zero or negative.&lt;br /&gt;
&lt;br /&gt;
[PICT(PICS\SNAP0002.ptf)]&lt;br /&gt;
&lt;br /&gt;
 DEF LIBRARY FNWINBUTTONS(BROW,BTEXT$*100;BWIN,CENTER,FONT$)&lt;br /&gt;
&lt;br /&gt;
;Functions used:&amp;lt;br&amp;gt;&lt;br /&gt;
FNWINROWCOL&amp;lt;br&amp;gt;&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;BROW &amp;#039;&amp;#039;&amp;#039;||The row number within a window on which to place the buttons.  If 0 or negative the row is up from the bottom of the window, positive is down from the top.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;BTEXT$ &amp;#039;&amp;#039;&amp;#039;||The text to display within the buttons. Each button is designated with a ^followed by FX: where X is the fkey value to be returned when the button is pushed.  FX can also be PGUP, PGDN or ESC.  The^FX: is followed by the text to appear within each button.  Al buttons are dimensioned to the longest string provided for any button.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;BWIN &amp;#039;&amp;#039;&amp;#039;||The window number of the window within which the buttons should appear.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;CENTER &amp;#039;&amp;#039;&amp;#039;||The default is zero (0) which right aligns the buttons on the right hand border of the window. To center the buttons horizontally in the window enter one (1) in this element.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;FONT$ &amp;#039;&amp;#039;&amp;#039;||If this element is blank the default BUTTONS font will be used for the WINBUTTONS. Entering an alternative font can allow wingdings or directional arrows if the font allows it.  An example would be specifying TERMINAL on a Windows machine and then usinrt chr$(16) and chr$(17) next to the word Right or Left.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&amp;lt;br&amp;gt;&lt;br /&gt;
Can only be used in GUI ON mode&lt;br /&gt;
&lt;br /&gt;
==String Manipulation==&lt;br /&gt;
===FNDECRYPT$ - Decrypt FNENCRYPT$===&lt;br /&gt;
&lt;br /&gt;
Undoes what FNENCRYPT$ does&lt;br /&gt;
&lt;br /&gt;
 FNDECRYPT$(PW$)&lt;br /&gt;
&lt;br /&gt;
Functions used&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;PW$&amp;#039;&amp;#039;&amp;#039;||The encrypted password from FNENCRYPT$.  This is usually a stored value to be compared with an entered value&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&amp;lt;br&amp;gt;&lt;br /&gt;
This is a simple encryption routine only meant to hide a value from a casual observer, not a dedicated hacker. A more robust encryption routine is available with George Tisdale&amp;#039;s WORKMENU.br menuing system.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNENCRYPT$ - Simple encryption===&lt;br /&gt;
&lt;br /&gt;
 FNENCRYPT$(PW$) !:&lt;br /&gt;
&lt;br /&gt;
Description|&amp;lt;br&amp;gt;&lt;br /&gt;
Simple encryption routine to ward off SNOOPS, NOT serious hackers&lt;br /&gt;
&lt;br /&gt;
Functions used |&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&amp;lt;br&amp;gt;&lt;br /&gt;
This is a simple encryption routine only meant to hide a value from a casual observer, not a dedicated hacker.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNFKEY - Converts an FKEY value greater than 1000===&lt;br /&gt;
&lt;br /&gt;
Returns a function key value.  If the value would be greater than 1000 then only the right tree places are used to determine the number.  Useful in converting button FKEYs to hot text fkeys&lt;br /&gt;
&lt;br /&gt;
 FNFKEY(AKEY)&lt;br /&gt;
&lt;br /&gt;
Functions used&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;AKEY&amp;#039;&amp;#039;&amp;#039;||An FKEY value to be reduced by 1000 and returned as the value of FKEY.  If AKEY is less than 1000 the value of AKEY will be returned&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&lt;br /&gt;
&lt;br /&gt;
Use in conjunction with FNPFKEYLINE&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNNUM$ - Convert number to string===&lt;br /&gt;
&lt;br /&gt;
 FNNUM$(NAMT,DCML,LNGTH) !:&lt;br /&gt;
&lt;br /&gt;
Description|&amp;lt;br&amp;gt;&lt;br /&gt;
Converts a number to a character string with fixed decimal places.  CNVRT$ is a better option.&lt;br /&gt;
&lt;br /&gt;
Functions used |&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNPHONE$ - Convert number to (###) ###-####===&lt;br /&gt;
&lt;br /&gt;
Formats a 10 digit number into a telephone number formatted string&lt;br /&gt;
&lt;br /&gt;
 FNPHONE$(X)&lt;br /&gt;
&lt;br /&gt;
Functions used |&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;X&amp;#039;&amp;#039;&amp;#039;||Numeric telephone number including a leading &amp;quot;1&amp;quot;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNPROPER$*60 - Convert to Proper Case===&lt;br /&gt;
&lt;br /&gt;
Converts a string into an initial capital title or name case&lt;br /&gt;
&lt;br /&gt;
 FNPROPER$*60(A_IN$*60) !:&lt;br /&gt;
&lt;br /&gt;
Functions used |&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;A_IN$&amp;#039;&amp;#039;&amp;#039;||String that is to be converted to initial capitals&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&amp;lt;br&amp;gt;&lt;br /&gt;
The function uses a lot of SREP$ statements, consequently the string passed should be short enough to not cause a string overflow. About 500 characters is a reasonable limit.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Other==&lt;br /&gt;
===FNAUTO - 1 if last field exit was automatic===&lt;br /&gt;
&lt;br /&gt;
Returns a 1 (true) if the last field was exited with an automatic exit Attribute E or X LASTFIELD is the field # that was current&lt;br /&gt;
&lt;br /&gt;
 FNAUTO(LASTFLD) !:&lt;br /&gt;
&lt;br /&gt;
Functions used |&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;NONE&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNCLKBUF - Clear keyboard buffer===&lt;br /&gt;
&lt;br /&gt;
Clears the keyboard buffer&lt;br /&gt;
&lt;br /&gt;
 FNCLKBUF ! Clear the keyboard buffer&lt;br /&gt;
&lt;br /&gt;
;Functions used:&amp;lt;br&amp;gt;&lt;br /&gt;
None&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;None&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNERRTRAP - Trapped Error Processing===&lt;br /&gt;
&lt;br /&gt;
Red Screen error trapping routine. Displays error, program line and number to call.  Also logs the error to a log file by workstation and creates an email message&lt;br /&gt;
&lt;br /&gt;
 FNERRTRAP(EPROG$*50,ELINE,EERR,ECOUNT,EVARIABLE$,&amp;amp;ECURFLD,EMENU$)&lt;br /&gt;
&lt;br /&gt;
Functions used |&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;EPROG$&amp;#039;&amp;#039;&amp;#039;||Program name where the error was generated&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;ELINE&amp;#039;&amp;#039;&amp;#039;||Line number where the error occurred&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;EERR&amp;#039;&amp;#039;&amp;#039;||Error number that occurred&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;ECOUNT&amp;#039;&amp;#039;&amp;#039;||Variable count if appropriate to the error&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;EVARIABLE$&amp;#039;&amp;#039;&amp;#039;||Name of the variable, if appropriate where the error occurred&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;ECURFLD&amp;#039;&amp;#039;&amp;#039;||Current field where the error occurred if in full screen processing&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;EMENU$ &amp;#039;&amp;#039;&amp;#039;||The menu to which the program should return if the error can not be resolved&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;EMENUSEQ$ &amp;#039;&amp;#039;&amp;#039;||The menu Sequence to which the program should return if the error can not be resolved.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&lt;br /&gt;
&lt;br /&gt;
Requires FNEMAILFILE and EmailBlaster or EmailMonitor&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNINIT - Initialize variables in FNSNAP Library===&lt;br /&gt;
&lt;br /&gt;
Initiates the variables for the FNSNAP library.  Be careful not to use more than once in a program&lt;br /&gt;
&lt;br /&gt;
 FNINIT(;SYSDIR$,SYS$)&lt;br /&gt;
&lt;br /&gt;
Functions used&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;NONE&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&amp;lt;br&amp;gt;&lt;br /&gt;
Initializes variables for the older FNSNAP tools.  If run  in the middle of a program the variables will be reset to the initial values and may cause problems.  Most new functions being written should NOT use this function.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNPRINTSCREEN - stuff the keyboard to generate a print screen===&lt;br /&gt;
&lt;br /&gt;
Programmatically controls the keyboard to do the equivalent of Ctrl-P to issue a print screen&lt;br /&gt;
&lt;br /&gt;
 FNPRINTSCREEN&lt;br /&gt;
&lt;br /&gt;
;Functions used:&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;None&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNZERO - set to number if zero===&lt;br /&gt;
&lt;br /&gt;
 FNZERO(V,DV) ! SET Variable equal to the Default Variable if zero !:&lt;br /&gt;
&lt;br /&gt;
Description|&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Screen input and display==&lt;br /&gt;
===FNMOD - returns the column number of a cell in a grid===&lt;br /&gt;
&lt;br /&gt;
Replaced by CURCOL in 4.17.  Returns the column number of the current cell&lt;br /&gt;
&lt;br /&gt;
 FNMOD(CEL,COLS)&lt;br /&gt;
&lt;br /&gt;
;Functions used:&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;CEL &amp;#039;&amp;#039;&amp;#039;||The cell number where the cursor is located&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;COLS &amp;#039;&amp;#039;&amp;#039;||The number of columns in the grid&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNPARSERES - returns screen resolution and BR window size for a session===&lt;br /&gt;
&lt;br /&gt;
Converts&lt;br /&gt;
&lt;br /&gt;
 FNPARSERES(W$,MAT SCRNRES,MAT WINRES,MAT CONRES)&lt;br /&gt;
&lt;br /&gt;
;Functions used:&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;W$ &amp;#039;&amp;#039;&amp;#039;||The workstation ID being queried&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;MAT SCRNRES &amp;#039;&amp;#039;&amp;#039;||Two element array of current terminal rows and columns in pixels&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;MAT WINRES &amp;#039;&amp;#039;&amp;#039;||Five element matrix 1    0 is maximized (&amp;quot;M-&amp;quot;) 1 is windowed (&amp;quot;A-&amp;quot;)2    rows in pixels of window  3    columns in pixels of window 4    row position of upper left corner in pixels of window  5    columns position of upper left corner in pixels of window&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;MAT CONRES &amp;#039;&amp;#039;&amp;#039;||Five element matrix 1    0 is maximized (&amp;quot;M-&amp;quot;) 1 is windowed (&amp;quot;A-&amp;quot;)2    rows in pixels of window3    columns in pixels of window 4    row position of upper left corner in pixels of window5    columns position of upper left corner in pixels of window&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&amp;lt;br&amp;gt;&lt;br /&gt;
Uses Steve Koger&amp;#039;s RESOLUTION.exe utility&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNPROGRESS - Progress bar===&lt;br /&gt;
&lt;br /&gt;
 FNPROGRESS(&amp;amp;PCT_WINDEV,PCT_TOTAL,PCT_DONE;SR$,CAPTION$*55)&lt;br /&gt;
&lt;br /&gt;
Description|&amp;lt;br&amp;gt;&lt;br /&gt;
Displays a progress bar that expands based on numbers passed to the function&lt;br /&gt;
&lt;br /&gt;
Functions used |&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNSCREEN - 24 x 80 screen display for screen painter===&lt;br /&gt;
&lt;br /&gt;
 FNSCREEN(SCRNO;SCREENFILE,MAT SCRATR$,MAT SCREEN$,MAT INWRK$,MAT INFLDA$,MAT INWRKH$,NOPAINT) ! Retrieve and display screen&lt;br /&gt;
&lt;br /&gt;
Description|&amp;lt;br&amp;gt;&lt;br /&gt;
Displays a generated screen in the full screen window 0.  Screen was created using SCREENMN in a 23x80 format.&lt;br /&gt;
&lt;br /&gt;
This function has been significantly changed by NEWSCREEN.dll&lt;br /&gt;
&lt;br /&gt;
Functions used |&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNTEXTBOX - creates a text box with word wrap===&lt;br /&gt;
&lt;br /&gt;
 Displays and allows input from a windows text box with text&lt;br /&gt;
&lt;br /&gt;
 FNTEXTBOX$*4000(&amp;amp;TEXTWIN,SROW,SCOL,ROWS,COLS,TLEN,PARENT,TEXT$*4000;BORDER,TKEY$)&lt;br /&gt;
&lt;br /&gt;
;Functions used:&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;TEXTWIN &amp;#039;&amp;#039;&amp;#039;||&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;SROW &amp;#039;&amp;#039;&amp;#039;||Starting row within the parent window where the upper left corner should appear&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;SCOL &amp;#039;&amp;#039;&amp;#039;||Starting column number within the parent window where the upper left corner should appear&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;ROWS &amp;#039;&amp;#039;&amp;#039;||Number of rows the text box should cover&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;COLS &amp;#039;&amp;#039;&amp;#039;||Number of Columns the text box should cover&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;TLEN &amp;#039;&amp;#039;&amp;#039;||Allowable length of the text&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;PARENT &amp;#039;&amp;#039;&amp;#039;||Parent window number&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;TEXT$ &amp;#039;&amp;#039;&amp;#039;||Text to display.  Modified text will be returned as the value of the function&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;BORDER &amp;#039;&amp;#039;&amp;#039;||Zero for no border or any other number to create a single line border&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;TKEY$ &amp;#039;&amp;#039;&amp;#039;||Function key to return if the window is to be marked as hot&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNWINSCRN - paints a screen in a window===&lt;br /&gt;
&lt;br /&gt;
 FNWINSCRN(SFIL,SCRNO,WINNO,WINLIN,WINLEN,MAT SINFLDA$,MATSHELP$;DISPLAY) !:&lt;br /&gt;
&lt;br /&gt;
Description|&amp;lt;br&amp;gt;&lt;br /&gt;
Displays a generated screen in an open child window of specified size.  The generated screen was created using SCREENMN&lt;br /&gt;
&lt;br /&gt;
This function has been significantly changed by NEWSCRN.DLL&lt;br /&gt;
&lt;br /&gt;
Functions used |&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNWINROWCOL - in GUI mode returns rows and columns of a window===&lt;br /&gt;
&lt;br /&gt;
Must be in GUI ON mode to use this function.  Returns the number of rows and number of columns in the specified window.  the values returned are actually one shorter than the actual size of the window.&lt;br /&gt;
&lt;br /&gt;
 FNWINROWCOL(WINNO,&amp;amp;WROWS,&amp;amp;WCOLS)&lt;br /&gt;
&lt;br /&gt;
;Functions used:&amp;lt;br&amp;gt;&lt;br /&gt;
FNWINSIZE&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;WINNO &amp;#039;&amp;#039;&amp;#039;||Window number for which information is requested&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;WROWS &amp;#039;&amp;#039;&amp;#039;||Number of rows less one of the requested window&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;WCOLS &amp;#039;&amp;#039;&amp;#039;||Number of columns less on of the requested window&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNWINSIZE - in GUI mode creates arrays holding all window sizes===&lt;br /&gt;
&lt;br /&gt;
Returns arrays carrying dimensions for all open windows&lt;br /&gt;
&lt;br /&gt;
 FNWINSIZE(MAT S_WINNO,MAT S_SROW,MAT S_SCOL,MAT S_EROW,MAT S_ECOL,MAT S_ROWS,MAT S_COLS,MAT S_PARENT)&lt;br /&gt;
&lt;br /&gt;
;Functions used:&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
{|&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;MAT S_WINNO &amp;#039;&amp;#039;&amp;#039;||Array is dynamically populated with window number information&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;MAT S_SROW &amp;#039;&amp;#039;&amp;#039;||Array is dynamically populated with starting row number&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;MAT S_SCOL &amp;#039;&amp;#039;&amp;#039;||Array is dynamically populated with starting column number&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;MAT S_EROW &amp;#039;&amp;#039;&amp;#039;||Array is dynamically populated with ending row number&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;MAT S_ECOL &amp;#039;&amp;#039;&amp;#039;||Array is dynamically populated with ending column number&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;MAT S_ROWS &amp;#039;&amp;#039;&amp;#039;||Array is dynamically populated with the number of rows in the window&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;MAT S_COLS &amp;#039;&amp;#039;&amp;#039;||Array is dynamically populated with the number of columns in the window&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;MAT S_PARENT &amp;#039;&amp;#039;&amp;#039;||Array is dynamically populated with the number of the parent window&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
&amp;lt;br&amp;gt;&lt;br /&gt;
;Comments:&amp;lt;br&amp;gt;&lt;br /&gt;
this is the working function for FNWINROWCOL&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
[[Category:FnSnap]]&lt;/div&gt;</summary>
		<author><name>Gtisdale</name></author>
	</entry>
</feed>