home *** CD-ROM | disk | FTP | other *** search
/ Programmer 7500 / MAX_PROGRAMMERS.iso / PASCAL / DOSENV.ZIP / ENVDOS.PAS < prev   
Encoding:
Pascal/Delphi Source File  |  1987-11-28  |  1.9 KB  |  85 lines

  1. Program EnvDos;
  2.  
  3. {    A sample program illustrating the uses of the DosEnv Unit functions.    }
  4.  
  5. Uses DosEnv;
  6.  
  7. { I UPSTR.PAS}
  8. {    Convert lowerStr to uppercase    }
  9.  
  10. function UpStr(var lowerStr : String) : String;
  11.  
  12. var i,l : Integer;
  13.  
  14. begin
  15.     i := 1;
  16.     l := Length(lowerStr);
  17.     while i <= l do
  18.     begin
  19.         lowerStr[i] := UpCase(lowerStr[i]);
  20.         i := i + 1;
  21.     end;
  22.     UpStr := lowerStr;
  23. end;
  24.  
  25.  
  26. var envStr, envValue, pStr : String;
  27.     errorLevel : Word;
  28.     parmNumber : Integer;
  29.  
  30. begin
  31.     if (ParamCount = 1) and (ParamStr(1) = '?') then
  32.     begin
  33.         Writeln('ENVDOS Version 1.0 Copyright 1987 by Lawrence R. Steeger');
  34.         Writeln;
  35.         Writeln('A sample program illustrating the uses of the DosEnv Unit.');
  36.         Writeln;
  37.         Writeln('     Syntax:    ENVDOS    [?] | [envstring1[.. envstringn]]');
  38.         Writeln;
  39.         Writeln('   Operands:    ?    display program syntax');
  40.         Writeln;
  41.         Writeln('        envstring1..envstringn');
  42.         Writeln;
  43.         Writeln('            specifies one or more DOS environment names');
  44.         Writeln('            separated by spaces to be displayed');
  45.         Writeln;
  46.         Writeln('ERRORLEVELS:    0    program successful');
  47.         Writeln('        1    syntax displayed');
  48.         Writeln('        255    envstring not found');
  49.         Writeln;
  50.         Halt(1);
  51.     end;
  52.  
  53.     errorLevel := 0;
  54.  
  55.     if ParamCount > 0 then
  56.     begin
  57.         parmNumber := 1;
  58.         while parmNumber <= ParamCount do
  59.         begin
  60.             envStr := ParamStr(parmNumber);
  61.             envValue := EnvString(UpStr(envStr));
  62.             if envValue = '' then
  63.                 begin
  64.                     Writeln(envStr + ' not found');
  65.                     errorLevel := 255;
  66.                 end
  67.             else Writeln(envStr + '=' + envValue);
  68.             Inc(parmNumber);
  69.         end;
  70.         Halt(errorLevel);
  71.     end;
  72.  
  73.     Writeln(' EXEC: ' + EnvPath);
  74.     parmNumber := 1;
  75.     envValue := EnvName(parmNumber);
  76.     while envValue <> '' do
  77.     begin
  78.         Str(parmNumber:5, pStr);
  79.         Writeln(pStr + ': ' + envValue + '=' + EnvString(envValue));
  80.         Inc(parmNumber);
  81.         envValue := EnvName(parmNumber);
  82.     end;
  83.     Halt(0);
  84.  
  85. end.