QB64 Phoenix Edition
What's with "RUN" and "CLS"? - Printable Version

+- QB64 Phoenix Edition (https://qb64phoenix.com/forum)
+-- Forum: QB64 Rising (https://qb64phoenix.com/forum/forumdisplay.php?fid=1)
+--- Forum: Code and Stuff (https://qb64phoenix.com/forum/forumdisplay.php?fid=3)
+---- Forum: Help Me! (https://qb64phoenix.com/forum/forumdisplay.php?fid=10)
+---- Thread: What's with "RUN" and "CLS"? (/showthread.php?tid=1381)



What's with "RUN" and "CLS"? - PhilOfPerth - 01-09-2023

Probably two of the simplest instructions,  Run and Cls are confusing the hell out of me!
When I run this code:
Screen 1
Print "ABC"
Print "DEF"
_Delay 1
Print "XXX"
_Delay 1
Cls
Run
I would expect either the Cls, or the Run, to wipe the screen clean. According to Help, Run clears the current programme (and I assume this means its screen as well) but it doesn't!

So, I added the Cls, expecting that this, at least, would clear the screen, but it only cleans down to the first  _Delay (or Sleep) line. Why does the text after _Delay not get wiped?  Huh


RE: What's with "RUN" and "CLS"? - SMcNeill - 01-09-2023

It *does* wipe the screen clear.   You just so happen to write on it immediately after.  Try this and watch.

Code: (Select All)
Screen 1
Print "ABC"
Print "DEF"
_Delay 1
Print "XXX"
_Delay 1
Cls
_Delay 4
Run



RE: What's with "RUN" and "CLS"? - SMcNeill - 01-09-2023

Or, for an added thought exercise, let's take a look at what's going on with the code:

Screen 1
Print "ABC"
Print "DEF"
_Delay 1
Print "XXX"
_Delay 1
Cls
Run   <--- at this point, we start over again.  Right?


So isn't our code actually something like:

Code: (Select All)
Screen 1
Print "ABC"
Print "DEF"
_Delay 1
Print "XXX"
_Delay 1
Cls
Screen 1
Print "ABC"
Print "DEF"
_Delay 1
Print "XXX"
_Delay 1
Cls
Screen 1
Print "ABC"
Print "DEF"
_Delay 1
Print "XXX"
_Delay 1
Cls
Screen 1
Print "ABC"
Print "DEF"
_Delay 1
Print "XXX"
_Delay 1
Cls
Screen 1
Print "ABC"
Print "DEF"
_Delay 1
Print "XXX"
_Delay 1
Cls
....



Make the issue a little more obvious now?


RE: What's with "RUN" and "CLS"? - PhilOfPerth - 01-09-2023

(01-09-2023, 04:17 AM)SMcNeill Wrote: Or, for an added thought exercise, let's take a look at what's going on with the code:

Screen 1
Print "ABC"
Print "DEF"
_Delay 1
Print "XXX"
_Delay 1
Cls
Run   <--- at this point, we start over again.  Right?


So isn't our code actually something like:

Code: (Select All)
Screen 1
Print "ABC"
Print "DEF"
_Delay 1
Print "XXX"
_Delay 1
Cls
Screen 1
Print "ABC"
Print "DEF"
_Delay 1
Print "XXX"
_Delay 1
Cls
Screen 1
Print "ABC"
Print "DEF"
_Delay 1
Print "XXX"
_Delay 1
Cls
Screen 1
Print "ABC"
Print "DEF"
_Delay 1
Print "XXX"
_Delay 1
Cls
Screen 1
Print "ABC"
Print "DEF"
_Delay 1
Print "XXX"
_Delay 1
Cls
....



Make the issue a little more obvious now?
Ahah, gotit! Thanks Steve.

Now I can move on to the *really* tricky ones, like If... Then... Else  Big Grin