Информационный сервер для программистов: Исходники со всего света. Паскальные исходники со всего света
  Powered by Поисковый сервер Яndex: Найдется ВСЁ!
На Главную Исходники Форум Информер Страны мира
   ЧАВО - Частые Вопросы и Ответы    >>    searchf
   
 
 FIL. Как найти файлы на диске   Victor Shantar 06.12.1997

Приведен пример поиска файлов по маске по всему диску.


 
 

{> Cut here. FileName= SEARCHF.MSG } - FAQ ---------------------------------------- ЧАВО - Частые Вопросы и Ответы - Msg : 2 of 51 Addr Date From : Victor Shantar 2:5054/26 06.12.97 Subj : Как найти файлы на диске ------------------------------------------------------------------------------- > Hello... Однажды 05 Dec 97 07:15, Andrew Zamotaylov писал к All, а я вмешался: AZ> Каким обpазом pеалаизуется поиск по шаблону, наапpимеp, на всём винте? AZ> Слышал, делается pекуpентно, но облом писать самому, велосипед ^^^^^^^^^^ - рекурсивно AZ> изобpетать. Может кто закинет сыpсовик? Hу все... Это крайний раз. В следующий буду просто тихо материться. За месяц уже 5 раз одно и тоже... :( > Пока... ћ Hе удивляйтесь, что когда вы поднимите камень, дабы бросить его в человека основательно насолившего вам, у вас отберут ваше оружие и предложат встать в очередь из людей желающих сделать тоже самое. :) --- [Hedgehog House] Phone: +7-3422-622044 Work Time: 00:00 - 07:30 Local * Origin: Это не GoldEd. Это примочка к Д00Му для написания писем. (2:5054/26) {> Cut here. FileName= SEARCHF.PAS } { From : Victor Shantar 2:5054/26 06.12.97 Subj : Как найти файлы на диске } Uses DOS; Procedure PrintFiles(path,mask:string); var sr:searchrec; begin findfirst(path+mask,anyfile-directory,sr); while doserror=0 do begin writeln(path+sr.name); findnext(sr); end; end; Procedure SearchFiles(path,mask:string); var sr:searchrec; begin PrintFiles(path,mask); findfirst(path+'*.*',anyfile,sr); while doserror=0 do begin if (sr.attr and directory=directory) and (sr.name<>'.') and (sr.name<>'..') then SearchFiles(path+sr.name+'\',mask); { Рекурсивный вызов } findnext(sr); end; end; begin SearchFiles('C:\','*.PAS'); { WriteFiles('D:\GAMES\','d??.?e?'); writeFiles('e:\','*.*');} end.