<?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_Array_Functions</id>
	<title>FnSnap: Array Functions - 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_Array_Functions"/>
	<link rel="alternate" type="text/html" href="https://brwiki2.brulescorp.com/brwiki2/index.php?title=FnSnap:_Array_Functions&amp;action=history"/>
	<updated>2026-04-16T15:55:37Z</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:_Array_Functions&amp;diff=10888&amp;oldid=prev</id>
		<title>Gordon.dye: /* Sorting arrays */</title>
		<link rel="alternate" type="text/html" href="https://brwiki2.brulescorp.com/brwiki2/index.php?title=FnSnap:_Array_Functions&amp;diff=10888&amp;oldid=prev"/>
		<updated>2017-05-26T01:27:59Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;Sorting arrays&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Older revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 01:27, 26 May 2017&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l18&quot;&gt;Line 18:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 18:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;DESCENDING&amp;#039;&amp;#039;&amp;#039;|| if true sorts descending order else sorts ascending&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;DESCENDING&amp;#039;&amp;#039;&amp;#039;|| if true sorts descending order else sorts ascending&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-valign=&amp;quot;top&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-valign=&amp;quot;top&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|width=&quot;10%&quot;|&#039;&#039;&#039;HEADER number of rows at the top of the matrix to omit from the sort&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|width=&quot;10%&quot;|&#039;&#039;&#039;HEADER&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;|| &lt;/ins&gt;number of rows at the top of the matrix to omit from the sort&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-valign=&amp;quot;top&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-valign=&amp;quot;top&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|width=&quot;10%&quot;|&#039;&#039;&#039;FOOTER number of rows at the bottom of the matrix to omit from the sort&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|width=&quot;10%&quot;|&#039;&#039;&#039;FOOTER&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&#039;&#039;&#039;|| &lt;/ins&gt;number of rows at the bottom of the matrix to omit from the sort&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-valign=&amp;quot;top&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|-valign=&amp;quot;top&amp;quot;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;|}&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l78&quot;&gt;Line 78:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 78:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&amp;lt;br&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;;Comments:&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;;Comments:&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/del&gt;&lt;/div&gt;&lt;/td&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-added&quot;&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Array arithmetic==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Array arithmetic==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>Gordon.dye</name></author>
	</entry>
	<entry>
		<id>https://brwiki2.brulescorp.com/brwiki2/index.php?title=FnSnap:_Array_Functions&amp;diff=5320&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:_Array_Functions&amp;diff=5320&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:_Array_Functions&amp;diff=5319&amp;oldid=prev</id>
		<title>Gtisdale: /* FNPARMAT - split an array into sub-arrays */</title>
		<link rel="alternate" type="text/html" href="https://brwiki2.brulescorp.com/brwiki2/index.php?title=FnSnap:_Array_Functions&amp;diff=5319&amp;oldid=prev"/>
		<updated>2010-03-23T01:11:23Z</updated>

		<summary type="html">&lt;p&gt;&lt;span dir=&quot;auto&quot;&gt;&lt;span class=&quot;autocomment&quot;&gt;FNPARMAT - split an array into sub-arrays&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;==Sorting arrays==&lt;br /&gt;
===FNSORTARRAY - sort an array with header and footer===&lt;br /&gt;
Sorts an array either ascending or descending and optionally excludes elements at the top and bottom to allow headers and footers to remain in place - sort is based on positions within the array, not the start of the string&lt;br /&gt;
&lt;br /&gt;
 FNSORTARRAY(MAT L$,START,LENGTH;DESENDING,HEADER,FOOTER)!:&lt;br /&gt;
&lt;br /&gt;
Functions used |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;Mat L$&amp;#039;&amp;#039;&amp;#039;||matrix to be sorted&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;START&amp;#039;&amp;#039;&amp;#039;||Starting position for the character string on which to sort&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;LENGTH&amp;#039;&amp;#039;&amp;#039;||length of the character sub string on which to sort&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;DESCENDING&amp;#039;&amp;#039;&amp;#039;|| if true sorts descending order else sorts ascending&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;HEADER number of rows at the top of the matrix to omit from the sort&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;FOOTER number of rows at the bottom of the matrix to omit from the sort&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;
Sort an array on any character sub-set allowing for header rows at the top and footer/total rows at the bottom.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNSRTARY - sort an array with header and footer based on itself===&lt;br /&gt;
&lt;br /&gt;
Similar to FNSORTARRAY but uses the entire string to sort rather than a sub string&lt;br /&gt;
&lt;br /&gt;
 FNSRTARY(MAT L$;MAT M$,DESENDING,HEADER,FOOTER)&lt;br /&gt;
&lt;br /&gt;
Functions used |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;Mat L$&amp;#039;&amp;#039;&amp;#039;||matrix to be sorted&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;DESCENDING&amp;#039;&amp;#039;&amp;#039;|| if true sorts descending order else sorts ascending&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;HEADER&amp;#039;&amp;#039;&amp;#039;|| number of rows at the top of the matrix to omit from the sort&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;FOOTER&amp;#039;&amp;#039;&amp;#039;|| number of rows at the bottom of the matrix to omit from the sort&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;
===FNSRTNARY -Sort a numeric array based on another array===&lt;br /&gt;
&lt;br /&gt;
Similar to FNSRTARY but for a numeric matrix&lt;br /&gt;
&lt;br /&gt;
 FNSRTNARY(MAT L;MAT M$,DESENDING,HEADER,FOOTER) !:&lt;br /&gt;
&lt;br /&gt;
Functions used |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;Mat L$&amp;#039;&amp;#039;&amp;#039;||matrix to be sorted&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;DESCENDING&amp;#039;&amp;#039;&amp;#039;||if true sorts descending order else sorts ascending&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;HEADER&amp;#039;&amp;#039;&amp;#039;||number of rows at the top of the matrix to omit from the sort&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;FOOTER&amp;#039;&amp;#039;&amp;#039;|| number of rows at the bottom of the matrix to omit from the sort&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;
==Array arithmetic==&lt;br /&gt;
===FNCOLSUM - sums the elements of an array for a specified column===&lt;br /&gt;
&lt;br /&gt;
Provides the sum of a single column of a multi column array.&lt;br /&gt;
&lt;br /&gt;
 FNCOLSUM(MAT L,C)&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 L &amp;#039;&amp;#039;&amp;#039;||Matrix containing multiple columns&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 to be summed&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|}&lt;br /&gt;
;Comments:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNROWSUM - sums the elements of an array for a specified row===&lt;br /&gt;
&lt;br /&gt;
Returns the sum of a row of a multi row and multi column array&lt;br /&gt;
&lt;br /&gt;
 FNROWSUM(MAT L,R)&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 L &amp;#039;&amp;#039;&amp;#039;||Numeric array containing the row to be totaled&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 to be totaled&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;
==Searching arrays==&lt;br /&gt;
===FNCHRMAT$ - convert a numeric array to character===&lt;br /&gt;
&lt;br /&gt;
Convert a numeric matrix into a formatted character matrix&lt;br /&gt;
&lt;br /&gt;
 FNCHRMAT$(CHRMAT$,NUMMAT,FORMAT$;BLANKS)&lt;br /&gt;
&lt;br /&gt;
Functions used |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;Mat CHRMAT$&amp;#039;&amp;#039;&amp;#039;||matrix that will be output&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 NUMMAT&amp;#039;&amp;#039;&amp;#039;||numeric matrix being converted&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;FORMAT$&amp;#039;&amp;#039;&amp;#039;||format used to convert each line to a string&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;BLANKS&amp;#039;&amp;#039;&amp;#039;||if true replaces a zero value with blanks&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;
===FNLISTSRCH - searches a character array based on a search string===&lt;br /&gt;
&lt;br /&gt;
 FNLISTSRCH(MAT L$,SRCHSTR$,MAT SELECT;STRT)&lt;br /&gt;
&lt;br /&gt;
Description|&amp;lt;br&amp;gt;&lt;br /&gt;
Performs a search on a matrix and modifies the matrix select with elements in the searched matrix that match SRCHSTR$&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 L$ &amp;#039;&amp;#039;&amp;#039;||The array to be searched.  The search is case insensitive and will match any matching combination regardless of position within each 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;SRCHSTR$ &amp;#039;&amp;#039;&amp;#039;||The string that is being matched to each element, case insensitive&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 SELECT &amp;#039;&amp;#039;&amp;#039;||A numeric array that holds the row numbers of matching elements.  Any newly found elements are added to the array.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;STRT &amp;#039;&amp;#039;&amp;#039;||Optional positioning number. matches will only occur if the match is AFTER this position in the row string&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 in lists and grids following FNLISTSPEC to allow for a search of the arrays used in a list or grid and a positioning of the cursor on elements matching the criteria&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNLISTSRCHN - searches a numeric array based on a search string===&lt;br /&gt;
&lt;br /&gt;
 FNLISTSRCHN(MAT L,SRCHSTR$,MAT SELECT;STRT,SMASK$)&lt;br /&gt;
&lt;br /&gt;
Description|&amp;lt;br&amp;gt;&lt;br /&gt;
Same as FNLISTSRCH except for a numeric matrix&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 L &amp;#039;&amp;#039;&amp;#039;||The array to be searched.  Each element is turned into a string before being searched. The search is case insensitive and will match any matching combination regardless of position within each 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;SRCHSTR$ &amp;#039;&amp;#039;&amp;#039;||The string that is being matched to each element, case insensitive&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 SELECT &amp;#039;&amp;#039;&amp;#039;||A numeric array that holds the row numbers of matching elements.  Any newly found elements are added to the array.&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;STRT &amp;#039;&amp;#039;&amp;#039;||Optional positioning number. matches will only occur if the match is AFTER this position in the row string&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;
Used in lists and grids following FNLISTSPEC to allow for a search of the arrays used in a list or grid and a positioning of the cursor on elements matching the criteria&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===FNSELECTION - selection process using two arrays===&lt;br /&gt;
&lt;br /&gt;
 FNSELECTION(SELECTION,MAT SEL$,MAT SEL;MANY)&lt;br /&gt;
&lt;br /&gt;
Description|&amp;lt;br&amp;gt;&lt;br /&gt;
Maintains two matrices, one SEL is true if an item is selected.  The other SEL$ contains the selection sequence number if MANY is greater than one or the word SELECTED if MANY equals one.  If many=0 only one item is allowed as a selection.&lt;br /&gt;
&lt;br /&gt;
Functions used |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;SELECTION the element number selected or deselected  MAT SEL$ selection number or word MAT SEL true if element is selected  MANY 0 for a single selection 1 for any or all and a number for a limited number of elements&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;
===FNSRCHCRIT$*50 - search criteria for a list box===&lt;br /&gt;
&lt;br /&gt;
 FNSRCHCRIT$*50(SR$,SC$,LROWS,LCOLS,PARENT;MESSAGE$)&lt;br /&gt;
&lt;br /&gt;
Description|&amp;lt;br&amp;gt;&lt;br /&gt;
Opens a window within a listbox window and asks for a search string&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;
==Other==&lt;br /&gt;
===FNDELROW - removes a row from an array and redimensions the array===&lt;br /&gt;
&lt;br /&gt;
Removes a row form an array and redimensions the array to be one row shorter&lt;br /&gt;
&lt;br /&gt;
 FNDELROW$(MAT DEL,DELROW)&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 DEL &amp;#039;&amp;#039;&amp;#039;||The numeric array that needs to be updated&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;DELROW &amp;#039;&amp;#039;&amp;#039;||The row number to delete&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;
===FNDELROW$ - removes a row from an array and redimensions the array===&lt;br /&gt;
&lt;br /&gt;
Removes a row form an array and redimensions the array to be one row shorter&lt;br /&gt;
&lt;br /&gt;
 FNDELROW$(MAT DEL$,DELROW)&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 DEL$ &amp;#039;&amp;#039;&amp;#039;||The character array that needs to be updated&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;DELROW &amp;#039;&amp;#039;&amp;#039;||The row number to delete&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;
===FNPARMAT - split an array into sub-arrays===&lt;br /&gt;
&lt;br /&gt;
Parses an array into a multi-dimensional array based on splitting at a predefined character&lt;br /&gt;
&lt;br /&gt;
 FNPARMAT(MAT M$,SUB$;NOREF)&lt;br /&gt;
&lt;br /&gt;
Functions used |None&lt;br /&gt;
&lt;br /&gt;
;Variables:&lt;br /&gt;
&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 M$&amp;#039;&amp;#039;&amp;#039;||matrix to be parsed&lt;br /&gt;
|-valign=&amp;quot;top&amp;quot;&lt;br /&gt;
|width=&amp;quot;10%&amp;quot;|&amp;#039;&amp;#039;&amp;#039;SUB$&amp;#039;&amp;#039;&amp;#039;||character that will be treated as a boundary or field separator   NOREF if true prevents a single line matrix from being reformatted to a one dimensional matrix&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;
[[Category:FnSnap]]&lt;/div&gt;</summary>
		<author><name>Gtisdale</name></author>
	</entry>
</feed>