home *** CD-ROM | disk | FTP | other *** search
/ Simtel MSDOS - Coast to Coast / simteldosarchivecoasttocoast2.iso / turbopas / env20.zip / ENVTEST.PAS next >
Pascal/Delphi Source File  |  1988-09-15  |  3KB  |  97 lines

  1. program EnvironmentTest; {             Version 2.0            88/09/15
  2.  
  3. Demonstrates ENVUNIT.PAS, handy little routines to simplify using the
  4. environment string.
  5.  
  6. COMPILE TO _DISK_ AND RUN FROM INSIDE THE TURBO INTEGRATED ENVIRONMENT
  7. to simulate nested programs (ie. one program "exec"ed by another).
  8.  
  9. This program is hereby donated to the public domain. It may be freely copied,
  10. used & modified without charge or fee.
  11.  
  12. Author        :  Mike Babulic
  13.                  3827 Charleswood Dr. N.W.
  14.                  Calgary, Alberta
  15.                  CANADA
  16.                  T2L 2C7
  17. Compuserve ID :  72307,314
  18.  
  19. }
  20.  
  21.   uses CRT,Dos,EnvUnit;
  22.  
  23.   procedure Wait;
  24.    begin
  25.      write('Press Return');
  26.        readln;
  27.      GotoXY(WhereX,WhereY-1);
  28.        ClrEol;
  29.    end;
  30.  
  31.   var SomeFile: string;
  32.       oldPSP: word;
  33.       i : integer;
  34.  
  35.   begin
  36.     writeln;
  37.     writeln('DOS Version ',Dos_Version/100.0:2:2);
  38.     writeln;
  39.     writeln('Program Path = ',MyPath);
  40.     writeln('        Dir  = ',MyDir );
  41.     writeln('        Name = ',MyName);
  42.     writeln('        Ext  = ',MyExt );
  43.     repeat
  44.       oldPSP := PSP;
  45.       UseParentPSP;
  46.       if oldPSP <> PSP then begin
  47.         writeln;
  48.         writeln('Parent  Name = ',ProgName);
  49.         writeln('        Path = ',ProgPath);
  50.       end;
  51.     until oldPSP = PSP;
  52.     {UseRootPSP;} {don't need this 'cause we're already at the root}
  53.     writeln;
  54.     writeln('Root    Name = ',ProgName);
  55.     writeln('        Path = ',ProgPath);
  56.     UseMyPSP;
  57.     wait;
  58.  
  59.     writeln;writeln(EnvCount,' Environment Strings...');
  60.     writeln('     ',FirstEnv);
  61.     while not EOEnv do
  62.       writeln('     ',NextEnv);
  63.     wait;
  64.  
  65.     writeln;writeln('Using the EnvStr() function...');
  66.     for i := 1 to EnvCount do
  67.       writeln(i:3,') ',EnvStr(i));
  68.     wait;
  69.  
  70.     somefile := 'COMSPEC';
  71.     writeln;writeln('GetEnv(''',somefile,''')...');
  72.       writeln('     ',GetEnv(somefile));
  73.     wait;
  74.  
  75.     writeln;writeln('Named Strings...');
  76.     writeln('     ',FirstNamed('PATH',';'));
  77.     while not EONamed do
  78.       writeln('     ',NextNamed);
  79.     wait;
  80.  
  81.     writeln;writeln('Paths...');
  82.     writeln('     ',FirstPath);
  83.     while not EONamed do
  84.       writeln('     ',NextPath);
  85.     wait;
  86.  
  87.     SomeFile := 'envunit.tpu';
  88.     writeln;writeln('FSearch(''',somefile,''',GetEnv(''path''))...');
  89.     writeln('     ',FSearch(somefile,GetEnv('path')));
  90.     writeln;writeln('FExpand(''..''))...');
  91.     writeln('     ',FExpand('..'));
  92.     writeln;writeln('PathTo(''',somefile,''')...');
  93.     writeln('     ',PathTo(somefile));
  94.     writeln;writeln('FFind(''',somefile,''')...');
  95.     writeln('     ',FFind(somefile));
  96.     wait;
  97.   end.