<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Recent posts to Ways to delete text on screen</title><link>https://sourceforge.net/p/pcbasic/discussion/programs/thread/df7018982d/</link><description>Recent posts to Ways to delete text on screen</description><atom:link href="https://sourceforge.net/p/pcbasic/discussion/programs/thread/df7018982d/feed.rss" rel="self"/><language>en</language><lastBuildDate>Fri, 03 Sep 2021 23:47:33 -0000</lastBuildDate><atom:link href="https://sourceforge.net/p/pcbasic/discussion/programs/thread/df7018982d/feed.rss" rel="self" type="application/rss+xml"/><item><title>Ways to delete text on screen</title><link>https://sourceforge.net/p/pcbasic/discussion/programs/thread/df7018982d/?limit=25#a2c2</link><description>&lt;div class="markdown_content"&gt;&lt;p&gt;Hi, I just wanted  to share with the pcbasic community two ways to delete a line or part of it I just used in a program of mine.&lt;br/&gt;
the goal is to have a subroutine you can use in multiple position around your program just passing to it two variables: Y the line you want to delete and X the point where you want to start deleting.&lt;br/&gt;
The only drawback is that you can delete only from a point to the end of line, not let's say ten characters at the center of a line.&lt;/p&gt;
&lt;p&gt;this code uses a for cycle to locate a fixxed Y and a subsequent X a "space" character.&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="mf"&gt;10&lt;/span&gt; &lt;span class="n"&gt;Y&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;X&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="kr"&gt;GOSUB&lt;/span&gt; &lt;span class="mf"&gt;20&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="kr"&gt;END&lt;/span&gt;
&lt;span class="mf"&gt;20&lt;/span&gt; &lt;span class="kr"&gt;FOR&lt;/span&gt; &lt;span class="n"&gt;A&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="n"&gt;X&lt;/span&gt; &lt;span class="kr"&gt;TO&lt;/span&gt; &lt;span class="mf"&gt;80&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;LOCATE&lt;/span&gt; &lt;span class="n"&gt;Y&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;A&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt;?&lt;/span&gt;&lt;span class="s"&gt;" "&lt;/span&gt;&lt;span class="p"&gt;;:&lt;/span&gt;&lt;span class="kr"&gt;NEXT&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="kr"&gt;RETURN&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;the second code runs much faster due to the use of STRING$ command instead of FOR cycle:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;&lt;span class="mf"&gt;10&lt;/span&gt; &lt;span class="n"&gt;Y&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="n"&gt;X&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="mf"&gt;1&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="kr"&gt;GOSUB&lt;/span&gt; &lt;span class="mf"&gt;20&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="kr"&gt;END&lt;/span&gt;
&lt;span class="mf"&gt;20&lt;/span&gt; &lt;span class="n"&gt;LOCATE&lt;/span&gt; &lt;span class="n"&gt;Y&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="n"&gt;X&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="err"&gt;?&lt;/span&gt;&lt;span class="n"&gt;STRING$&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mf"&gt;80&lt;/span&gt;&lt;span class="o"&gt;-&lt;/span&gt;&lt;span class="n"&gt;X&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt;&lt;span class="mf"&gt;32&lt;/span&gt;&lt;span class="p"&gt;);:&lt;/span&gt;&lt;span class="kr"&gt;RETURN&lt;/span&gt;
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;And if you want to delete more lines in a single command you could use VIEW:&lt;/p&gt;
&lt;div class="codehilite"&gt;&lt;pre&gt;&lt;span&gt;&lt;/span&gt;VIEW ?10 TO 20:CLS:VIEW ?
&lt;/pre&gt;&lt;/div&gt;


&lt;p&gt;this code clear all the lines starting from 10th down to 20th.&lt;/p&gt;&lt;/div&gt;</description><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">Theruler76</dc:creator><pubDate>Fri, 03 Sep 2021 23:47:33 -0000</pubDate><guid>https://sourceforge.net3dc47e1127ad1a71cf53f726b2d1b6c58e417ba7</guid></item></channel></rss>