SHELL (function): Difference between revisions
Jump to navigation
Jump to search
Navigation:
Main Page with Articles and Tutorials
Keyword Reference - Alphabetical
Keyword Reference - By usage
Report a broken link
(Created page with "The '''SHELL''' function displays the console and returns the INTEGER code value sent when the external program exits. {{PageSyntax}} ::: return_code = '''SHELL(''DOScommand$'')''' {{Parameters}} * The literal or variable STRING ''command'' parameter can be any valid external command or call to another program. ''Usage:'' * A SHELL to a QB64 EXE program with an exit return code parameter after END or SYSTEM will return that code value. * The return_...") |
No edit summary |
||
(3 intermediate revisions by the same user not shown) | |||
Line 6: | Line 6: | ||
{{ | {{PageParameters}} | ||
* The literal or variable [[STRING]] ''command'' parameter can be any valid external command or call to another program. | * The literal or variable [[STRING]] ''command'' parameter can be any valid external command or call to another program. | ||
Line 35: | Line 35: | ||
{{Cb|FUNCTION}} trimstr$ (whatever) | {{Cb|FUNCTION}} trimstr$ (whatever) | ||
trimstr = {{Cb|LTRIM$}}({{Cb|RTRIM$}}({{Cb|STR$}}(whatever))) | trimstr = {{Cb|LTRIM$}}({{Cb|RTRIM$}}({{Cb|STR$}}(whatever))) | ||
{{Cb|END FUNCTION}} | {{Cb|END FUNCTION}} | ||
{{TextEnd}} | {{TextEnd}} | ||
: ''Explanation:'' To set a program exit code use an [[INTEGER]] parameter value after [[END]] or [[SYSTEM]] in the called program. | : ''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: | : After compiling ''DesktopSize.EXE'' run the following code in the QB64 IDE. After 1st program is done 3 will appear on screen: | ||
{{CodeStart}} | {{CodeStart}} | ||
returncode% = {{Cl|SHELL (function)|SHELL}}("DesktopSize") 'replace call with name of any QB64 program EXE | returncode% = {{Cl|SHELL (function)|SHELL}}("DesktopSize") 'replace call with name of any QB64 program EXE | ||
{{Cl|PRINT}} returncode% 'prints code sent by called program after it is closed | {{Cl|PRINT}} returncode% 'prints code sent by called program after it is closed | ||
{{Cl|END}} | {{Cl|END}} | ||
{{CodeEnd}} | {{CodeEnd}} | ||
{{OutputStart}}3 {{OutputEnd}} | {{OutputStart}}3 {{OutputEnd}} | ||
{{PageSeeAlso}} | |||
* [[_SHELLHIDE]] | |||
* [[_SHELLHIDE]] | |||
* [[SHELL]], [[_HIDE]] | * [[SHELL]], [[_HIDE]] | ||
* [[_CONSOLE]], [[$CONSOLE]] | * [[_CONSOLE]], [[$CONSOLE]] |
Latest revision as of 21:31, 2 February 2023
The SHELL function displays the console and returns the INTEGER code value sent when the external program exits.
Syntax
- return_code = SHELL(DOScommand$)
Parameters
- The literal or variable STRING command parameter can be any valid external command or call to another program.
Usage:
- A SHELL to a QB64 EXE program with an exit return code parameter after END or SYSTEM will return that code value.
- The return_code is usually 0 when the external program ends with no errors.
- The console window may appear when using the SHELL function. The _SHELLHIDE function will hide the console from view.
Example: 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