home *** CD-ROM | disk | FTP | other *** search
/ Media Depot 5 / mediadepotvolume51993.iso / FILES / 13 / MLUTL100.ZIP / MLADD.PAS < prev    next >
Encoding:
Pascal/Delphi Source File  |  1996-07-12  |  1.3 KB  |  54 lines

  1. {$M 5120,0,655360}
  2. {$N-,E- no math support needed}
  3. {$X- function calls may not be discarded}
  4. {$I- disable I/O checking (trap errors by checking IOResult)}
  5. {$DEFINE MLADD}
  6.  
  7. USES DOS;
  8. {$I ML_INC.PAS}
  9.  
  10. VAR
  11.   Total : WORD;
  12.   NameList : ListLink;
  13.   ParamIndex : BYTE;
  14.   WorkFile : STRING;
  15.  
  16.   ListPath  : PATHSTR;    { List file path. }
  17.   ListDir   : DIRSTR;     { List file dir.  }
  18.   FileInfo : SEARCHREC;
  19.   f : FILE;
  20.  
  21. BEGIN
  22.   IF ParamCount < 1 THEN ExitOnError (1, 'Insufficient number of parameters.');
  23.   NameList := NIL;
  24.   Total := 0;
  25.  
  26.   IF NOT IsFile (ParamStr (1)) THEN  { Verify first param is valid file }
  27.   BEGIN
  28.     Assign (f, ParamStr (1));
  29.     ReWrite (f);
  30.     IF IOResult <> 0
  31.       THEN ExitOnError (3, 'The "MasterList" file was not found.')
  32.       ELSE EraseFile (ParamStr (1));  { Erase file for now }
  33.   END;
  34.  
  35.   FOR ParamIndex := 1 to ParamCount DO
  36.   BEGIN
  37.     ListPath := GetFilePath (ParamStr (ParamIndex), ListDir);
  38.     FindFirst (ListPath, Archive, FileInfo);
  39.  
  40.     WHILE DosError = 0 DO
  41.     BEGIN
  42.       AddToList (NameList, ListDir + FileInfo.Name, Total);
  43.       WriteLn ('Total members now: ', Total);
  44.       FindNext (FileInfo);
  45.     END;
  46.   END;
  47.  
  48.   EditList (NameList, Total);
  49.   WriteLn ('Unique members: ', Total);
  50.  
  51.   WriteList (NameList, ParamStr (1), Total);
  52.   WriteLn ('Finished consolidating lists.');
  53. END.
  54.