Q28446: Example of Calling OS/2 Function DosGetEnv
Article: Q28446 Product(s): See article Version(s): 6.00 6.00b 7.00 Operating System(s): OS/2 Keyword(s): ENDUSER | | mspl13_basic Last Modified: 2-FEB-1990 Below is a sample program that invokes the OS/2 function DosGetEnv. ' The function declarations are found in file BSEDOSPC.BI DECLARE FUNCTION DosGetEnv%(_ SEG P1 AS INTEGER,_ SEG P2 AS INTEGER) cls x=DosGetEnv(y%,z%) IF (x) then Print "An error occurred. The error number is ";x ELSE Print "Address to Place Segment Handle : ";y% Print "Address to Place Command Line Start : ",z% END IF def seg = y% PRINT "THE INFORMATION IN THE ENVIRONMENT TABLE :" : PRINT For i = 0 to z%-20 t%=peek(i) IF t%=42 THEN hold%=i END IF IF t% = 0 THEN print " " ELSE print chr$(t%); END IF next i print i = 0 PRINT "The Command Line Argument is : "; DO t%=peek(z%+i) print chr$(t%); i = i + 1 LOOP WHILE t% <> 0 PRINT " " print PRINT "POKING SOME INFORMATION INTO THE ENVIRONMENT TABLE... " : print PRINT IF hold%<>0 THEN for i = 0 to 9 poke hold%-i, 74-i next i def seg PRINT "The information was poked into the environment variable FOO;" PRINT "which was previously set to **********" print "The NEW contents of FOO : ";environ$("FOO") : print Print "When the program is exited, notice the environment table"; Print "isn't changed." PRINT "BASCOM uses only a copy of the actual DOS environment table" print ELSE print "The FOO environment variable is not set. " print "To have the complete demo, set the FOO=**********" END IF END
THE INFORMATION PROVIDED IN THE MICROSOFT KNOWLEDGE BASE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. MICROSOFT DISCLAIMS ALL WARRANTIES, EITHER EXPRESS OR IMPLIED, INCLUDING THE WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. IN NO EVENT SHALL MICROSOFT CORPORATION OR ITS SUPPLIERS BE LIABLE FOR ANY DAMAGES WHATSOEVER INCLUDING DIRECT, INDIRECT, INCIDENTAL, CONSEQUENTIAL, LOSS OF BUSINESS PROFITS OR SPECIAL DAMAGES, EVEN IF MICROSOFT CORPORATION OR ITS SUPPLIERS HAVE BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE EXCLUSION OR LIMITATION OF LIABILITY FOR CONSEQUENTIAL OR INCIDENTAL DAMAGES SO THE FOREGOING LIMITATION MAY NOT APPLY.
Copyright Microsoft Corporation 1986-2002.