1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-06-29 10:30:36 +00:00
QB64-PE/internal/help/SHELL_(function).txt
SteveMcNeill 33adc04fc4 Add temp folder to repo. It's necessary as well!
Just more initial setting on... nothing much to see here.
2022-04-28 13:39:56 -04:00

62 lines
2.1 KiB
Plaintext

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_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.
{{TextStart}}''''DesktopSize.BAS ''' Compile in Windows with QB64 first
{{Cb|CONST}} SM_CXSCREEN = 0
{{Cb|CONST}} SM_CYSCREEN = 1
{{Cb|DECLARE LIBRARY}}
{{Cb|FUNCTION}} GetSystemMetrics& ({{Cb|BYVAL}} n {{Cb|AS}} {{Cb|LONG}})
{{Cb|DECLARE LIBRARY|END DECLARE}}
{{Cb|PRINT}} trimstr$(GetSystemMetrics(SM_CXSCREEN)); "X"; trimstr$(GetSystemMetrics(SM_CYSCREEN))
s& = {{Cb|_SCREENIMAGE}}
{{Cb|PRINT}} {{Cb|_WIDTH (function)|_WIDTH}}(s&); "X"; {{Cb|_HEIGHT}}(s&)
{{Cb|END}} 3 '<<<<<< add a code to return after END or SYSTEM in any program
{{Cb|FUNCTION}} trimstr$ (whatever)
trimstr = {{Cb|LTRIM$}}({{Cb|RTRIM$}}({{Cb|STR$}}(whatever)))
{{Cb|END FUNCTION}} '' ''
{{TextEnd}}
: ''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:
{{CodeStart}} '' ''
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|END}} '' ''
{{CodeEnd}}
{{OutputStart}}3 {{OutputEnd}}
''See also:''
* [[_SHELLHIDE]] {{text|(function)}}
* [[SHELL]], [[_HIDE]]
* [[_CONSOLE]], [[$CONSOLE]]
* [[SYSTEM]], [[END]]
{{PageNavigation}}
<