mirror of
https://github.com/QB64Official/qb64.git
synced 2024-09-28 11:17:47 +00:00
90 lines
3.5 KiB
Markdown
90 lines
3.5 KiB
Markdown
The [$CONSOLE]($CONSOLE) [metacommand](metacommand) creates a console window that can be used throughout a QB64 program module.
|
|
|
|
## Syntax
|
|
|
|
> [$CONSOLE]($CONSOLE)[:ONLY]
|
|
|
|
## Description
|
|
|
|
* [_CONSOLE](_CONSOLE) **ON** or **OFF** may be used to show or hide the console window at run time.
|
|
* The **:ONLY** option can be used when only a console window is desired without a program window.
|
|
* [_DEST](_DEST) and [_SOURCE](_SOURCE) are automatically set to [_CONSOLE](_CONSOLE) when the **:ONLY** option is used, in order to send screen output to the console window and get input from it too.
|
|
* In normal [$CONSOLE]($CONSOLE) mode (dual screen) you have to manually set [_DEST](_DEST) and [_SOURCE](_SOURCE) to [_CONSOLE](_CONSOLE) in order to work with the console window.
|
|
* [_SCREENHIDE](_SCREENHIDE) and [_SCREENSHOW](_SCREENSHOW) can be used to hide or show the main program window.
|
|
* [_DELAY](_DELAY) or [SLEEP](SLEEP) can be used to allow the console window to be set in front of the main program window.
|
|
* [_CONSOLETITLE](_CONSOLETITLE) can be used to change the title of the console window.
|
|
* **Note:** Text can be copied partially or totally from console screens in Windows by highlighting and using the title bar menu.
|
|
> To copy console text output, right click the title bar and select *Edit* for *Mark* to highlight and repeat to *Copy*
|
|
* QB64 [Metacommand](Metacommand)s are not commented out with ' or REM, differently from QBasic metacommands.
|
|
|
|
## Example(s)
|
|
|
|
Hiding and displaying a console window. Use [_DELAY](_DELAY) to place console in front of main program window.
|
|
|
|
```vb
|
|
|
|
$CONSOLE
|
|
_DELAY 4
|
|
|
|
_CONSOLE OFF
|
|
_DELAY 4
|
|
_CONSOLE ON
|
|
|
|
_DEST _CONSOLE
|
|
PRINT "Close this console window or click main window and press a key!"
|
|
|
|
```
|
|
|
|
How to use a Console window to copy screen output using the *Edit* menu by right clicking the console title bar.
|
|
|
|
```vb
|
|
|
|
$CONSOLE
|
|
_DEST _CONSOLE
|
|
|
|
c&& = -1: d& = -1: e% = -1: f%% = -1
|
|
hx$ = HEX$(f%%)
|
|
PRINT "Max hex _BYTE = "; hx$; " with"; LEN(hx$); "digits ="; VAL("&H" + hx$)
|
|
hx$ = HEX$(e%)
|
|
PRINT "Max hex INTEGER = "; hx$; " with"; LEN(hx$); "digits ="; VAL("&H" + hx$)
|
|
hx$ = HEX$(d&)
|
|
PRINT "Max hex LONG = "; hx$; " with"; LEN(hx$); "digits ="; VAL("&H" + hx$)
|
|
hx$ = HEX$(c&&)
|
|
PRINT "Max hex _INTEGER64 = "; hx$; " with"; LEN(hx$); "digits ="; VAL("&H" + hx$)
|
|
hx$ = HEX$(9223372036854775807)
|
|
PRINT "Max _INTEGER64 value = "; hx$; " with"; LEN(hx$); "digits"
|
|
hx$ = HEX$(-9223372036854775808)
|
|
PRINT "Min _INTEGER64 value = "; hx$; " with"; LEN(hx$); "digits"
|
|
|
|
```
|
|
|
|
```text
|
|
|
|
Max hex _BYTE = FF with 2 digits = 255
|
|
Max hex INTEGER = FFFF with 4 digits = 65535
|
|
Max hex LONG = FFFFFFFF with 8 digits = 4294967295
|
|
Max hex _INTEGER64 = FFFFFFFFFFFFFFFF with 16 digits =-1
|
|
Max _INTEGER64 value = 7FFFFFFFFFFFFFFF with 16 digits
|
|
Min _INTEGER64 value = 8000000000000000 with 16 digits
|
|
|
|
```
|
|
|
|
> *Console:* Right click and select *Edit* > *Select All* (mouse highlight after) then hit Enter or select *Edit* > *Copy* to the [_CLIPBOARD$ (function)](_CLIPBOARD$-(function)).
|
|
|
|
```text
|
|
|
|
Max hex _BYTE = FF with 2 digits = 255
|
|
Max hex INTEGER = FFFF with 4 digits = 65535
|
|
Max hex LONG = FFFFFFFF with 8 digits = 4294967295
|
|
Max hex _INTEGER64 = FFFFFFFFFFFFFFFF with 16 digits =-1
|
|
|
|
```
|
|
|
|
> *Copied text:* The above text was copied after *Select All* was selected and the smaller area was re-highlighted with the mouse.
|
|
|
|
## See Also
|
|
|
|
* [_CONSOLE](_CONSOLE)
|
|
* [$SCREENHIDE]($SCREENHIDE), [$SCREENSHOW]($SCREENSHOW) (QB64 [Metacommand](Metacommand)s)
|
|
* [_SCREENHIDE](_SCREENHIDE), [_SCREENSHOW](_SCREENSHOW)
|
|
* [C Libraries](C-Libraries)
|