home *** CD-ROM | disk | FTP | other *** search
/ On Disk Monthly 62 / odm62.zip / GDSOURCE.EXE / PUSHDIR.PAS < prev    next >
Pascal/Delphi Source File  |  1991-10-14  |  1KB  |  54 lines

  1. {$A-,B-,D+,E+,F-,G-,I+,L+,N-,O-,R-,S+,V-,X-}
  2. {$M 16384,0,655360}
  3. program pushdir;
  4.  
  5. USES dos, crt;
  6.  
  7. CONST DataFilename    = 'C:\PATHS.DAT';
  8.       MaximumPaths    = 840;
  9.  
  10. VAR T        : text;
  11.     DTA      : searchrec;
  12.     NumPaths : integer;
  13.     Paths    : array [1..MaximumPaths] of DirStr;
  14.     DirGotten,
  15.     CurrPath : DirStr;
  16.     I        : integer;
  17.  
  18. BEGIN
  19.   WriteLn('PUSH DIRECTORY Version 1.00 by George Leritte');
  20.   WriteLn('Copyright (c) 1991, Softdisk, Inc.');
  21.   Write(' ');
  22.   FindFirst(DataFilename, 32, DTA);
  23.   IF DosError <> 0 THEN
  24.   BEGIN
  25.     Assign(T, DataFilename);
  26.     Rewrite(T);
  27.     Close(T);
  28.   END;
  29.   Assign(T, DataFilename);
  30.   Reset(T);
  31.   NumPaths := 0;
  32.   WHILE NOT Eof(T) AND (NumPaths<MaximumPaths) DO
  33.   BEGIN
  34.     Inc(NumPaths);
  35.     ReadLn(T, Paths[NumPaths]);
  36.   END;
  37.   Close(T);
  38.   Inc(NumPaths);
  39.   Paths[NumPaths] := '';
  40.   DirGotten := Fexpand('');
  41.   IF Length(DirGotten) > 3 THEN
  42.     Dec(DirGotten[0]);
  43.   IF NumPaths >= MaximumPaths THEN
  44.     WriteLn('Too many paths in file.')
  45.   ELSE
  46.   BEGIN
  47.     Assign(T, DataFilename);
  48.     Append(T);
  49.     WriteLn(T, DirGotten);
  50.     Close(T);
  51.     WriteLn('Directory '+DirGotten+' pushed.');
  52.   END;
  53. END.
  54.