<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://learn.cemetech.net/index.php?action=history&amp;feed=atom&amp;title=TI-BASIC%3ACustom_Menu_Multi_Page</id>
	<title>TI-BASIC:Custom Menu Multi Page - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://learn.cemetech.net/index.php?action=history&amp;feed=atom&amp;title=TI-BASIC%3ACustom_Menu_Multi_Page"/>
	<link rel="alternate" type="text/html" href="http://learn.cemetech.net/index.php?title=TI-BASIC:Custom_Menu_Multi_Page&amp;action=history"/>
	<updated>2026-04-18T04:01:55Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.3</generator>
	<entry>
		<id>http://learn.cemetech.net/index.php?title=TI-BASIC:Custom_Menu_Multi_Page&amp;diff=1346&amp;oldid=prev</id>
		<title>Maintenance script: Automated @@ correction</title>
		<link rel="alternate" type="text/html" href="http://learn.cemetech.net/index.php?title=TI-BASIC:Custom_Menu_Multi_Page&amp;diff=1346&amp;oldid=prev"/>
		<updated>2016-02-24T22:10:27Z</updated>

		<summary type="html">&lt;p&gt;Automated @@ correction&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 22:10, 24 February 2016&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-l9&quot;&gt;Line 9:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 9:&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;|compatibility=TI-83/84/+/SE&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;|compatibility=TI-83/84/+/SE&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;|author=Mr Dino&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;|author=Mr Dino&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;|authors=&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;@@&lt;/del&gt;&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;|authors=&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;|url=&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;@@&lt;/del&gt;&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;|url=&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;|download=[file MENUZ.zip]&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;|download=[file MENUZ.zip]&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;/table&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
	<entry>
		<id>http://learn.cemetech.net/index.php?title=TI-BASIC:Custom_Menu_Multi_Page&amp;diff=732&amp;oldid=prev</id>
		<title>Maintenance script: Initial automated import</title>
		<link rel="alternate" type="text/html" href="http://learn.cemetech.net/index.php?title=TI-BASIC:Custom_Menu_Multi_Page&amp;diff=732&amp;oldid=prev"/>
		<updated>2016-02-24T18:15:50Z</updated>

		<summary type="html">&lt;p&gt;Initial automated import&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Template:TI-BASIC:Routine&lt;br /&gt;
|picture=wabbitemu.gif&lt;br /&gt;
|summary=A custom menu with up to 9 switchable pages.&lt;br /&gt;
|input=&amp;#039;&amp;#039;Str1-Str9&amp;#039;&amp;#039; - one string per page&lt;br /&gt;
&amp;#039;&amp;#039;A&amp;#039;&amp;#039; - Number of pages the menu includes&lt;br /&gt;
|output=&amp;#039;&amp;#039;B&amp;#039;&amp;#039; - the page they&amp;#039;re on&lt;br /&gt;
&amp;#039;&amp;#039;X&amp;#039;&amp;#039; - the # choice they made&lt;br /&gt;
|variable=Ans, B, C, D, X, Str#&lt;br /&gt;
|compatibility=TI-83/84/+/SE&lt;br /&gt;
|author=Mr Dino&lt;br /&gt;
|authors=@@&lt;br /&gt;
|url=@@&lt;br /&gt;
|download=[file MENUZ.zip]&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
 :1→B&lt;br /&gt;
 :While 1&lt;br /&gt;
 :If B=1:Str1&lt;br /&gt;
 :If B=2:Str2&lt;br /&gt;
 :If B=3:Str3&lt;br /&gt;
 :If B=4:Str4&lt;br /&gt;
 :If B=5:Str5&lt;br /&gt;
 :If B=6:Str6&lt;br /&gt;
 :If B=7:Str7&lt;br /&gt;
 :If B=8:Str8&lt;br /&gt;
 :If B=9:Str9&lt;br /&gt;
 :ClrHome&lt;br /&gt;
 :Output(1,1,Ans&lt;br /&gt;
 :length(Ans)/16&lt;br /&gt;
 :If fPart(Ans&lt;br /&gt;
 :1+iPart(Ans&lt;br /&gt;
 :Ans→D&lt;br /&gt;
 :2→X&lt;br /&gt;
 :Repeat C=24 or C=26&lt;br /&gt;
 :Output(X,2,&amp;quot;&amp;gt;&lt;br /&gt;
 :Repeat Ans&lt;br /&gt;
 :getKey→C&lt;br /&gt;
 :End&lt;br /&gt;
 :If Ans=21&lt;br /&gt;
 :Then&lt;br /&gt;
 :X-1→X&lt;br /&gt;
 :Return&lt;br /&gt;
 :End&lt;br /&gt;
 :Output(X,2,&amp;quot; &amp;quot; // space&lt;br /&gt;
 :X-(Ans=25)+(Ans=34→X&lt;br /&gt;
 :2(X&amp;gt;D)+D(X≤1)+X(X≤D and X&amp;gt;1→X&lt;br /&gt;
 :max(1,min(A,B+(C=26)-(C=24→B&lt;br /&gt;
 :End&lt;br /&gt;
 :End&lt;br /&gt;
&lt;br /&gt;
To use this code, store an integer to A 1-0 representing the number of pages that will be in your menu. It will use all strings Str1-StrA. Next, store the menu pages into the strings. They will be shown with &amp;#039;Output(1,1,StrA)&amp;#039;, so make sure that the menu looks right before using it. Make sure there are 16 characters in each line (starting with the title). Use spaces to make the words fit right, and you should probably test it to make sure it works. There should probably also be something in the title that signifies what page you&amp;#039;re on. Finally, run the code as a subprogram.&lt;br /&gt;
&lt;br /&gt;
Here&amp;#039;s how it works:&lt;br /&gt;
&lt;br /&gt;
B represents what page number it&amp;#039;s on, so we start off by storing 1 to B to put us on page 1. Then we have a While 1 loop to manage page changes. Based on the value of B, it will put one of the strings into Ans. It will output Ans onto the home screen, then determine how many rows are in the menu and store that to D. And the user will always start out on option 1 - row 2 (because of the title screen).&lt;br /&gt;
&lt;br /&gt;
Now we start the choice loop: We display the cursor, then wait for a keypress. If the use presses [2nd], we subtract 1 from X (for the offset from the title) and Return back to the parent program, with B as the page number and X as the choice number. But if not, it continues: The cursor is erased, X and B are changed according to the keypress, and if the use changed the page, it exits the choice loop and enters the page loop where it displays the new page and sets up for another choice loop.&lt;br /&gt;
&lt;br /&gt;
= Error Conditions =&lt;br /&gt;
&lt;br /&gt;
It won&amp;#039;t work properly if A isn&amp;#039;t an integer within the bounds 1-9 or if the strings don&amp;#039;t represent the menu pages correctly.&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;[[TI-BASIC:Errors#undefined|ERR:UNDEFINED]]&amp;#039;&amp;#039;&amp;#039; is thrown if you don&amp;#039;t define the strings.&lt;br /&gt;
&lt;br /&gt;
= Related Routines =&lt;br /&gt;
&lt;br /&gt;
There are several routines that are similar in functionality or are used in a similar context. Make a bulleted list of them, with links to the other routines&amp;#039; pages. It will often be the case that several routines all link to each other.&lt;br /&gt;
&lt;br /&gt;
* [[TI-BASIC:Custom_Menu_Single_Page|Custom_Menu_Single_Page]][[Category:TI-BASIC]]&lt;br /&gt;
[[Category:TIBD]]&lt;/div&gt;</summary>
		<author><name>Maintenance script</name></author>
	</entry>
</feed>