QB64.com

QB64 is a modern extended BASIC programming language that retains QBasic/QuickBASIC 4.5 compatibility and compiles native binaries for Windows, Linux, and macOS.

The SHELL function displays the console and returns the INTEGER code value sent when the external program exits.

Syntax

return_code = SHELL(DOScommand$)

Parameter(s)

Usage

Example(s)

Shelling to another QB64 program will return the exit code when one is set in the program that is run.


'DesktopSize.BAS ** Compile in Windows with QB64 first

CONST SM_CXSCREEN = 0
CONST SM_CYSCREEN = 1

DECLARE LIBRARY
    FUNCTION GetSystemMetrics& (BYVAL n AS LONG)
END DECLARE

PRINT trimstr$(GetSystemMetrics(SM_CXSCREEN)); "X"; trimstr$(GetSystemMetrics(SM_CYSCREEN))

s& = _SCREENIMAGE
PRINT _WIDTH(s&); "X"; _HEIGHT(s&)

END 3 '<<<<<< add a code to return after END or SYSTEM in any program

FUNCTION trimstr$ (whatever)
  trimstr = LTRIM$(RTRIM$(STR$(whatever)))
END FUNCTION 

Explanation: To set a program exit code use an INTEGER parameter value after END or SYSTEM in the called program.

After compiling DesktopSize.EXE run the following code in the QB64 IDE. After 1st program is done 3 will appear on screen:


returncode% = SHELL("DesktopSize") 'replace call with name of any QB64 program EXE

PRINT returncode% 'prints code sent by called program after it is closed

END 


3 

See Also