https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/42471&feed=atom&action=history
Microsoft KB Archive/42471 - Revision history
2024-03-28T13:35:26Z
Revision history for this page on the wiki
MediaWiki 1.39.3
https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/42471&diff=380897&oldid=prev
X010: Text replacement - "&" to "&"
2020-07-21T13:14:08Z
<p>Text replacement - "&" to "&"</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en-GB">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 13:14, 21 July 2020</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l158">Line 158:</td>
<td colspan="2" class="diff-lineno">Line 158:</td></tr>
<tr><td class="diff-marker"></td><td style="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;"><div> windows(windowN%, 4) = right%</div></td><td class="diff-marker"></td><td style="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;"><div> windows(windowN%, 4) = right%</div></td></tr>
<tr><td class="diff-marker"></td><td style="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;"><div> windows(windowN%, 5) = bottom%</div></td><td class="diff-marker"></td><td style="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;"><div> windows(windowN%, 5) = bottom%</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="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;"><div> inregs.ax = &<del style="font-weight: bold; text-decoration: none;">amp;</del>H600</div></td><td class="diff-marker" data-marker="+"></td><td style="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;"><div> inregs.ax = &H600</div></td></tr>
<tr><td class="diff-marker"></td><td style="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;"><div> inregs.bx = Wcolor% * 4096</div></td><td class="diff-marker"></td><td style="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;"><div> inregs.bx = Wcolor% * 4096</div></td></tr>
<tr><td class="diff-marker"></td><td style="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;"><div> inregs.cx = top% * 256 + left%</div></td><td class="diff-marker"></td><td style="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;"><div> inregs.cx = top% * 256 + left%</div></td></tr>
<tr><td class="diff-marker"></td><td style="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;"><div> inregs.dx = bottom% * 256 + right%</div></td><td class="diff-marker"></td><td style="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;"><div> inregs.dx = bottom% * 256 + right%</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="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;"><div> CALL Interrupt(&<del style="font-weight: bold; text-decoration: none;">amp;</del>H10, inregs, outregs)</div></td><td class="diff-marker" data-marker="+"></td><td style="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;"><div> CALL Interrupt(&H10, inregs, outregs)</div></td></tr>
<tr><td class="diff-marker"></td><td style="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;"><div> DrawBorder windowN%</div></td><td class="diff-marker"></td><td style="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;"><div> DrawBorder windowN%</div></td></tr>
<tr><td class="diff-marker"></td><td style="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;"><div>END SUB</div></td><td class="diff-marker"></td><td style="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;"><div>END SUB</div></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l182">Line 182:</td>
<td colspan="2" class="diff-lineno">Line 182:</td></tr>
<tr><td class="diff-marker"></td><td style="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;"><div> inregs.cx = windows(windowN%, 3) * 256 + windows(windowN%, 2)</div></td><td class="diff-marker"></td><td style="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;"><div> inregs.cx = windows(windowN%, 3) * 256 + windows(windowN%, 2)</div></td></tr>
<tr><td class="diff-marker"></td><td style="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;"><div> inregs.dx = windows(windowN%, 5) * 256 + windows(windowN%, 4)</div></td><td class="diff-marker"></td><td style="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;"><div> inregs.dx = windows(windowN%, 5) * 256 + windows(windowN%, 4)</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="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;"><div> CALL Interrupt(&<del style="font-weight: bold; text-decoration: none;">amp;</del>H10, inregs, outregs)</div></td><td class="diff-marker" data-marker="+"></td><td style="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;"><div> CALL Interrupt(&H10, inregs, outregs)</div></td></tr>
<tr><td class="diff-marker"></td><td style="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;"><div>END SUB</div></td><td class="diff-marker"></td><td style="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;"><div>END SUB</div></td></tr>
<tr><td class="diff-marker"></td><td style="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;"><br/></td><td class="diff-marker"></td><td style="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;"><br/></td></tr>
<tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l201">Line 201:</td>
<td colspan="2" class="diff-lineno">Line 201:</td></tr>
<tr><td class="diff-marker"></td><td style="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;"><div> inregs.cx = windows(windowN%, 3) * 256 + windows(windowN%, 2)</div></td><td class="diff-marker"></td><td style="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;"><div> inregs.cx = windows(windowN%, 3) * 256 + windows(windowN%, 2)</div></td></tr>
<tr><td class="diff-marker"></td><td style="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;"><div> inregs.dx = windows(windowN%, 5) * 256 + windows(windowN%, 4)</div></td><td class="diff-marker"></td><td style="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;"><div> inregs.dx = windows(windowN%, 5) * 256 + windows(windowN%, 4)</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="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;"><div> CALL Interrupt(&<del style="font-weight: bold; text-decoration: none;">amp;</del>H10, inregs, outregs)</div></td><td class="diff-marker" data-marker="+"></td><td style="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;"><div> CALL Interrupt(&H10, inregs, outregs)</div></td></tr>
<tr><td class="diff-marker"></td><td style="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;"><div>END SUB</div></td><td class="diff-marker"></td><td style="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;"><div>END SUB</div></td></tr>
<tr><td class="diff-marker"></td><td style="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;"><br/></td><td class="diff-marker"></td><td style="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;"><br/></td></tr>
</table>
X010
https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/42471&diff=331748&oldid=prev
X010: Text replacement - ">" to ">"
2020-07-21T09:19:30Z
<p>Text replacement - ">" to ">"</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en-GB">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 09:19, 21 July 2020</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l135">Line 135:</td>
<td colspan="2" class="diff-lineno">Line 135:</td></tr>
<tr><td class="diff-marker"></td><td style="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;"><div> NEXT I 'top of Window #3 and</div></td><td class="diff-marker"></td><td style="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;"><div> NEXT I 'top of Window #3 and</div></td></tr>
<tr><td class="diff-marker"></td><td style="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;"><div> ScrollWindowDown 3, 1 'Scroll Down one line</div></td><td class="diff-marker"></td><td style="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;"><div> ScrollWindowDown 3, 1 'Scroll Down one line</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="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;"><div>LOOP UNTIL INKEY$ <<del style="font-weight: bold; text-decoration: none;">&gt; </del>&quot;&quot;</div></td><td class="diff-marker" data-marker="+"></td><td style="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;"><div>LOOP UNTIL INKEY$ <<ins style="font-weight: bold; text-decoration: none;">> </ins>&quot;&quot;</div></td></tr>
<tr><td class="diff-marker"></td><td style="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;"><div>END</div></td><td class="diff-marker"></td><td style="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;"><div>END</div></td></tr>
<tr><td class="diff-marker"></td><td style="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;"><br/></td><td class="diff-marker"></td><td style="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;"><br/></td></tr>
</table>
X010
https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/42471&diff=302297&oldid=prev
X010: Text replacement - "<" to "<"
2020-07-21T08:25:54Z
<p>Text replacement - "<" to "<"</p>
<table style="background-color: #fff; color: #202122;" data-mw="interface">
<col class="diff-marker" />
<col class="diff-content" />
<col class="diff-marker" />
<col class="diff-content" />
<tr class="diff-title" lang="en-GB">
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">← Older revision</td>
<td colspan="2" style="background-color: #fff; color: #202122; text-align: center;">Revision as of 08:25, 21 July 2020</td>
</tr><tr><td colspan="2" class="diff-lineno" id="mw-diff-left-l135">Line 135:</td>
<td colspan="2" class="diff-lineno">Line 135:</td></tr>
<tr><td class="diff-marker"></td><td style="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;"><div> NEXT I 'top of Window #3 and</div></td><td class="diff-marker"></td><td style="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;"><div> NEXT I 'top of Window #3 and</div></td></tr>
<tr><td class="diff-marker"></td><td style="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;"><div> ScrollWindowDown 3, 1 'Scroll Down one line</div></td><td class="diff-marker"></td><td style="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;"><div> ScrollWindowDown 3, 1 'Scroll Down one line</div></td></tr>
<tr><td class="diff-marker" data-marker="−"></td><td style="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;"><div>LOOP UNTIL INKEY$ <del style="font-weight: bold; text-decoration: none;">&lt;</del>&gt; &quot;&quot;</div></td><td class="diff-marker" data-marker="+"></td><td style="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;"><div>LOOP UNTIL INKEY$ <ins style="font-weight: bold; text-decoration: none;"><</ins>&gt; &quot;&quot;</div></td></tr>
<tr><td class="diff-marker"></td><td style="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;"><div>END</div></td><td class="diff-marker"></td><td style="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;"><div>END</div></td></tr>
<tr><td class="diff-marker"></td><td style="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;"><br/></td><td class="diff-marker"></td><td style="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;"><br/></td></tr>
</table>
X010
https://www.betaarchive.com/wiki/index.php?title=Microsoft_KB_Archive/42471&diff=184198&oldid=prev
3155ffGd: importing KB archive
2020-07-18T16:56:16Z
<p>importing KB archive</p>
<p><b>New page</b></p><div><div id="nsbanner"><br />
<br />
<div id="bannerrow1"><br />
<br />
{|<br />
| Knowledge Base<br />
|<br />
|}<br />
<br />
<br />
</div><br />
<div id="TitleRow"><br />
<br />
= <span id="KB42471"></span>How to Scroll Text in Separately Defined Windows in QuickBasic =<br />
<br />
<br />
</div><br />
<br />
</div><br />
<div id="nstext" valign="BOTTOM"><br />
<br />
Article ID: 42471<br />
<br />
Article Last Modified on 11/21/2006<br />
<br />
<br />
-----<br />
<br />
APPLIES TO<br /><br />
<br /><br />
<br />
* Microsoft QuickBasic 4.0<br />
* Microsoft QuickBASIC 4.0b<br />
* Microsoft QuickBasic 4.5 for MS-DOS<br />
* Microsoft BASIC Compiler 6.0<br />
* Microsoft BASIC Compiler 6.0b<br />
* Microsoft BASIC Professional Development System 7.0<br />
<br />
<br />
-----<br />
<br />
<div class="notice_section"><br />
<br />
This article was previously published under Q42471<br />
<br />
</div><br />
<div class="summary_section"><br />
<br />
== SUMMARY ==<br />
<br />
This article describes how to use a hardware interrupt to define scrollable text windows with viewing limits on all four sides. This information applies to QuickBasic Versions 4.00, 4.00b, and 4.50, to Microsoft Basic Compiler Versions 6.00 and 6.00b, and to Microsoft Basic PDS Version 7.00 running under MS-DOS.<br />
<br />
</div><br />
<div class="moreinformation_section"><br />
<br />
== MORE INFORMATION ==<br />
<br />
In some languages such as PASCAL, text windows are easily defined with a function called WINDOW. After a window is defined, all text written to the screen appears only within the defined window, and only text within the window is scrolled up or down. There are two additional functions, DELLINE and INSLINE, that scroll the window contents up or down one line.<br /><br />
<br /><br />
Using the VIEW PRINT statements in QuickBasic, a window can be defined, but only Rows (top and bottom, ymax and ymin) can be defined. Column limits (left and right, xmin and xmax) cannot be defined. Any window defined will always use the entire width of the screen.<br /><br />
<br /><br />
Defining Windows with left, right, top, and bottom limits in QuickBasic requires just a little more work, but it can be done using the CALL INTERRUPT routine with Interrupt 10 Hex, functions 06 Hex (scroll up) and 07 Hex (scroll down).<br /><br />
<br /><br />
Interrupt 10 Hex, functions 06 Hex and 07 Hex, can define windows and scroll text within the defined window, but it does not prevent text from being written to other coordinates on the screen. Therefore, it is up to the programmer to write routines that will write text to the areas defined as Windows. Interrupt 10 Hex, functions 06 Hex and 07 Hex will scroll the text up or down.<br />
=== Code Example ===<br />
<br />
The following program demonstrates the use of Interrupt 10 Hex, functions 06 Hex and 07 Hex. Three separate Windows are defined by the following:<br />
<div class="indent"><br />
<br />
Window number<br /><br />
Window color<br /><br />
Window limits: left, right, top, bottom<br />
<br />
<br />
</div><br />
Random text is written to each Window, scrolling the text up or down as required.<br />
<pre class="codesample">'***************************************<br />
' Text Windowing Demonstration program.<br />
' (Interrupt 10H, functions 06H and 07H)<br />
'***************************************<br />
' Define the TYPE needed for INTERRUPT (you could<br />
' use REM $INCLUDE:'QB.BI' as an alternative under QuickBasic<br />
' 4.00, 4.00b, 4.50 or the Basic compiler 6.00 or 6.00b. Use<br />
' REM $INCLUDE:'QBX.BI' as an alternative under the Basic<br />
' PDS 7.00):<br />
<br />
TYPE RegType<br />
ax AS INTEGER<br />
bx AS INTEGER<br />
cx AS INTEGER<br />
dx AS INTEGER<br />
bp AS INTEGER<br />
si AS INTEGER<br />
di AS INTEGER<br />
flags AS INTEGER<br />
END TYPE<br />
DECLARE SUB Interrupt (intnum%, inregs AS RegType, _<br />
outregs AS RegType)<br />
DECLARE SUB ScrollWindowUp (windowN%, numlines%)<br />
DECLARE SUB ScrollWindowDown (windowN%, numlines%)<br />
DECLARE SUB InitializeWindow (windowN%,Wcolor%,left%,_<br />
top%,right%,bottom%)<br />
DECLARE SUB DrawBorder (windowN%)<br />
DIM SHARED windows(5, 5) AS INTEGER 'allow max of 5 windows<br />
DIM SHARED inregs AS RegType, outregs AS RegType<br />
<br />
CLS<br />
VIEW PRINT 'use entire screen 25 X 80<br />
LOCATE 25, 27<br />
COLOR 15, 6<br />
PRINT &quot; PRESS ANY KEY TO QUIT &quot;;<br />
InitializeWindow 1, 5, 10, 35, 3, 21 'Initialize 3<br />
InitializeWindow 2, 2, 45, 70, 3, 11 'separate windows<br />
InitializeWindow 3, 1, 40, 70, 15, 21<br />
<br />
DO<br />
LOCATE 22, 11<br />
COLOR 15, windows(1, 1)<br />
FOR I% = 1 TO 26 'print one full line of<br />
PRINT CHR$(INT(RND * 200) + 32); 'random characters at<br />
NEXT I% 'bottom of Window #1 and<br />
ScrollWindowUp 1, 1 'Scroll Up one line<br />
<br />
LOCATE 12, 46<br />
COLOR 15, windows(2, 1)<br />
FOR I = 1 TO 26 'print one full line of<br />
PRINT CHR$(INT(RND * 200) + 32); 'random characters at<br />
NEXT 'bottom of Window #2 and<br />
ScrollWindowUp 2, 1 'Scroll Up one line<br />
<br />
LOCATE 16, 41<br />
COLOR 15, windows(3, 1)<br />
FOR I = 1 TO 31 'print one full line of<br />
PRINT CHR$(INT(RND * 200) + 32); 'random characters at<br />
NEXT I 'top of Window #3 and<br />
ScrollWindowDown 3, 1 'Scroll Down one line<br />
LOOP UNTIL INKEY$ &lt;&gt; &quot;&quot;<br />
END<br />
<br />
'********************************************************************<br />
' SUBprogram: InitializeWindow - Interrupt 10H function 06H or 07H<br />
' Stores the Window information for the Window specified<br />
' in the ARRAY windows, then uses<br />
' CALL INTERRUPT with Interrupt 10H to initialize Window<br />
'<br />
' AH = function 06H or 07H (scroll up or scrol down)<br />
' AL = 00H if zero, window is blanked<br />
' BH = color of window<br />
' CH = top window border<br />
' CL = left window border<br />
' DH = bottom window border<br />
' DL = right window border<br />
'********************************************************************<br />
SUB InitializeWindow(windowN%, Wcolor%, left%, right%, top%, bottom%)<br />
windows(windowN%, 1) = Wcolor%<br />
windows(windowN%, 2) = left%<br />
windows(windowN%, 3) = top%<br />
windows(windowN%, 4) = right%<br />
windows(windowN%, 5) = bottom%<br />
inregs.ax = &amp;H600<br />
inregs.bx = Wcolor% * 4096<br />
inregs.cx = top% * 256 + left%<br />
inregs.dx = bottom% * 256 + right%<br />
CALL Interrupt(&amp;H10, inregs, outregs)<br />
DrawBorder windowN%<br />
END SUB<br />
<br />
'**********************************************************<br />
' SUBprogram: ScrollWindowDown - Interrupt 10H function 07H<br />
'<br />
' AH = function 07H<br />
' AL = number of lines to scroll<br />
' BH = window color<br />
' CH = top window border<br />
' CL = left window border<br />
' DH = bottom window border<br />
' DL = right window border<br />
'**********************************************************<br />
SUB ScrollWindowDown (windowN%, numlines%)<br />
inregs.ax = 1792 + numlines%<br />
inregs.bx = windows(windowN%, 1) * 4096<br />
inregs.cx = windows(windowN%, 3) * 256 + windows(windowN%, 2)<br />
inregs.dx = windows(windowN%, 5) * 256 + windows(windowN%, 4)<br />
CALL Interrupt(&amp;H10, inregs, outregs)<br />
END SUB<br />
<br />
'********************************************************<br />
' SUBprogram: ScrollWindowUp - Interrupt 10H function 06H<br />
'<br />
' AH = function 06H<br />
' AL = number of lines to scroll<br />
' BH = window color<br />
' CH = top window border<br />
' CL = left window border<br />
' DH = bottom window border<br />
' DL = right window border<br />
'********************************************************<br />
SUB ScrollWindowUp (windowN%, numlines%)<br />
inregs.ax = 1536 + numlines%<br />
inregs.bx = windows(windowN%, 1) * 4096<br />
inregs.cx = windows(windowN%, 3) * 256 + windows(windowN%, 2)<br />
inregs.dx = windows(windowN%, 5) * 256 + windows(windowN%, 4)<br />
CALL Interrupt(&amp;H10, inregs, outregs)<br />
END SUB<br />
<br />
'***********************************************<br />
' SUBprogram: DrawBorder<br />
' Draws a solid border around window<br />
' specified using character #219<br />
'***********************************************<br />
SUB DrawBorder (windowN%)<br />
COLOR 14, 0<br />
FOR I% = windows(windowN%, 3) TO windows(windowN%, 5) + 2<br />
LOCATE I%, windows(windowN%, 2)<br />
PRINT CHR$(219)<br />
LOCATE I%, windows(windowN%, 4) + 2<br />
PRINT CHR$(219)<br />
NEXT I%<br />
FOR I% = windows(windowN%, 2) + 1 TO windows(windowN%, 4) + 1<br />
LOCATE windows(windowN%, 3), I%<br />
PRINT CHR$(219)<br />
LOCATE windows(windowN%, 5) + 2, I%<br />
PRINT CHR$(219)<br />
NEXT I%<br />
END SUB<br />
</pre><br />
<br />
</div><br />
<br /><br />
<br />
Additional query words: QuickBas BasicCom<br />
<br />
Keywords: KB42471<br />
<br />
<div class="footer"><br />
<br />
<br /><br />
<br />
<br />
-----<br />
<br />
[mailto:TECHNET@MICROSOFT.COM Send feedback to Microsoft]<br />
<br />
<span>© Microsoft Corporation. All rights reserved.</span><br />
<br />
<br />
</div><br />
<br />
</div></div>
3155ffGd