1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-07-26 08:35:52 +00:00
QB64-PE/internal/help/SHELL_(function).txt
SMcNeill 6e01fc8dce Altered string compare routines (<,<=,>,>=) so they don't give false results with CHR$(0).
Added new _STRCMP and _STRICMP commands for quick string comparisons.
Cleaned up QB64 to finish removing the QUI (quick user insert) code and folders.
Altered UCASE and LCASE routines to be faster in some situations for us.
2014-09-22 08:19:03 -04:00

59 lines
2.1 KiB
Plaintext

The '''SHELL''' function displays the console and returns the [[INTEGER]] code value sent by [[END]] or [[SYSTEM]] when a program exits.
{{PageSyntax}}
::: return_code = '''SHELL(''command$'')'''
{{Parameters}}
* The literal or variable [[STRING]] ''command'' parameter can be any valid [[DOS]] 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 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&amp; ({{Cb|BYVAL}} n {{Cb|AS}} {{Cb|LONG}})
{{Cb|DECLARE LIBRARY|END DECLARE}}
{{Cb|PRINT}} trimstr$(GetSystemMetrics(SM_CXSCREEN)); &quot;X&quot;; trimstr$(GetSystemMetrics(SM_CYSCREEN))
s&amp; = {{Cb|_SCREENIMAGE}}
{{Cb|PRINT}} {{Cb|_WIDTH (function)|_WIDTH}}(s&amp;); &quot;X&quot;; {{Cb|_HEIGHT}}(s&amp;)
{{Cb|END}} 3 '&lt;&lt;&lt;&lt;&lt;&lt; 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}}(&quot;DesktopSize&quot;) '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}}