home *** CD-ROM | disk | FTP | other *** search
/ RBBS in a Box Volume 1 #3.1 / RBBSIABOX31.cdr / pc_s / pathfi.pas < prev    next >
Pascal/Delphi Source File  |  1985-06-23  |  2KB  |  73 lines

  1. program PATHFIND (output);
  2.  
  3.  
  4. {  Although TURBO Pascal itself does not find its own files like
  5.    TURBO.MSG, your program can do it ! No difficult installation
  6.    programs necessary, just use PATHFIND.
  7.  
  8.    The following function, which you can include in your programs,
  9.    returns the string, to which your program environment path is
  10.    set. (The function can be changed for searching for COMSPEC or
  11.    PROMPT by changing the const PATH_PREFIX.)
  12.  
  13.    If you like this program, please keep your $30.- and have a
  14.    German beer on us.
  15.  
  16.    Uploaded for public use by:
  17.    Rupert & Wolfgang (RMI Aachen/Germany)
  18.  
  19. }
  20.  
  21. type
  22. str = string[255];
  23.  
  24. (*************************************************************************)
  25.  
  26. function path_finder : str;
  27.  
  28. const
  29. path_prefix = 'PATH=';
  30.  
  31. var nullz,ende : boolean;
  32. c              : char;
  33. path_counter,
  34. count1,count2  : integer;
  35. path           : str;
  36.  
  37. begin
  38.  
  39.   nullz := FALSE;
  40.   ende  := FALSE;
  41.   count1 := memw[cseg:$2c];
  42.   count2 := 0;
  43.   path := '';
  44.   repeat
  45.       c := chr(mem[count1:count2]);
  46.       if c <> #0 then
  47.       begin
  48.           path := path + c;
  49.           nullz := FALSE;
  50.       end
  51.       else
  52.           if (not nullz) then
  53.           begin
  54.               if pos(path_prefix,path) = 0 then path := ''
  55.                                            else ende := TRUE;
  56.               nullz := TRUE;
  57.           end
  58.           else ende := TRUE;
  59.       count2 := succ (count2);
  60.   until ende;
  61.   delete (path,1,5);
  62.   path_finder := path;
  63.  
  64. end; (* path_finder *)
  65.  
  66. (*************************************************************************)
  67.  
  68. begin
  69.  
  70.     writeln ('Your PATH is set to: ',path_finder);
  71.  
  72. end.
  73.