|
|||
Скачать Поиск файлов по всему диску
08.07.1997 Для поиска используются FindFirst & FindNext. Причем их приходится вызывать дважды: Первый раз для указанных файлов, а второй раз - чтобы найти все вложенные подкаталоги. Uses DOS; Procedure FileFind(Dir,FindName : PathStr); {Поиск файлов по маске по всему диску} Procedure SearchDir(Dir : PathStr); Var SRec : SearchRec; begin {Поиск файлов по маске} if Dir[Length(Dir)] <> '\' then Dir := Dir+'\'; FindFirst(Dir + FindName, AnyFile, SRec); While DosError = 0 do begin With SRec do if Attr and (VolumeID + Directory) = 0 then WriteLn(Dir + Name); FindNext(SRec); end; {Поиск всех вложенных каталогов, в т.ч. скрытых, системных, r/o} FindFirst(Dir+'*.*', Directory or ReadOnly or Hidden or SysFile, SRec); While DosError = 0 do begin With SRec do if (Attr and Directory <> 0) and (Name[1] <> '.') then SearchDir(Dir+Name); FindNext(SRec); end; end; begin SearchDir(Dir); end; {------------------------------------------} {Пример поиска всех .TXT файлов на диске С:} begin FileFind('c:\','*.txt'); end. | |||
© 2009–2023 Russian Pascal Developer Network.
Техническая площадка: ISBIZ Хостинг |