BCX recognizes the following declarations as static char system variables pre-set to the values indicated in the comments.
👉 It is the programmer's responsibility not to alter the contents of these 16 string system variables.
NUL$ ' Name: "Null" Code Point: 0
BEL$ ' Name: "Bell" Code Point: 7
BS$ ' Name: "Back Space" Code Point: 8
TAB$ ' Name: "Horizontal Tab" Code Point: 9
LF$ ' Name: "Line Feed" Code Point: 10
VT$ ' Name: "Vertical Tab" Code Point: 11
FF$ ' Name: "Form Feed" Code Point: 12
CR$ ' Name: "Carriage Return" Code Point: 13
EF$ ' Name: "End-of-File" Code Point: 26
ESC$ ' Name: "Escape" Code Point: 27
SPC$ ' Name: "Space" Code Point: 32
DQ$ ' Name: "Quotation Mark" Code Point: 34
DDQ$ ' Name: "Double-Double Quotation Mark"
CRLF$ ' Name: "Carriage Return and Line Feed"
TRUE ' has a value of 1
FALSE ' has a value of 0
BCX translates BCX_CONSOLE to "hConsole" which is a global handle, used for decades by most of the BCX console runtime code. BCX not only does the text translation, it also emits the relevant C \ C++ code that declares and initializes hConsole, so you don't have to.
Typically, when using a console mode function, a handle would be declared, and then retrieved and then, finally, used as in the following code.
DIM hOut AS HANDLE hOut = GetStdHandle(STD_OUTPUT_HANDLE) SetConsoleDisplayMode(hOut, CONSOLE_FULLSCREEN_MODE, NULL) DELAY(3) ' Name: "wait three seconds SetConsoleDisplayMode(hOut, CONSOLE_WINDOWED_MODE, NULL) PAUSE
Using BCX_CONSOLE, the code is simplified to the following
SetConsoleDisplayMode(BCX_CONSOLE, CONSOLE_FULLSCREEN_MODE, NULL) DELAY(3) ' Name: "wait three seconds SetConsoleDisplayMode(BCX_CONSOLE, CONSOLE_WINDOWED_MODE, NULL) PAUSE
BCX automatically transforms CONWIN to GetConsoleWindow() which is a WinAPI function that returns a window handle of the active console window. Now you can:
CENTER(CONWIN), HIDE(CONWIN), SHOW(CONWIN)
and more.
LReturn is used by the CMDHANDLER and MSGHANDLER macro functions.
👉 LReturn is case sensitive.