Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2002.10.17;
Скачать: CL | DM;

Вниз

Поиск   Найти похожие ветки 

 
Sam Stone   (2002-10-05 20:51) [0]

Возникла такая проблема - надо пройтись по всем папкам винды в поисках файла(exe,dll,ocx), а как сделать не знаю :(. Будте добры, помогите алгоритмом.


 
rhf ©   (2002-10-05 22:39) [1]

findFirst/Next + рекурсия
посмотрите любой пример копирования/удаления каталога (есть в FAQ)


 
Supra   (2002-10-05 22:46) [2]

Я кстати насчёт этого тоже хотел спросить: как искать папки рекурсивно. Что такое рекурсия вообще???


 
Xtreme   (2002-10-05 22:58) [3]

Вирь хочеш написать? :о) Ладно...
Cмотри пример:

program FindIn;
uses SysUtils;
var f:TextFile;
d:boolean;
function fFindIn(s,ex:string):string;
var sr:tSearchRec;
r:integer;
begin
r:=FindFirst(s+ex,faAnyFile,sr);
repeat
if r=0 then
begin
if (sr.attr=faDirectory)and d and
not((sr.name=".")or(sr.name="..")) then fFindIn(s+sr.name+"\",ex);
if not((sr.name=".")or(sr.name="..")) then Writeln(F,s+sr.name); //Здесь из sr.name выделяешь расширение, и если оно "exe","com","ocx", то заража... ну вообщем, че ты хотел сделать.
end;
r:=FindNext(sr);
until not(r=0);
end;
begin
if ParamCount>1 then
begin
d:=(ParamStr(3)="dir");
AssignFile(F,ParamStr(2));
ReWrite(F);
fFindIn(ParamStr(1),"*.*");
CloseFile(F);
end end.


 
Sam Stone   (2002-10-07 15:30) [4]


> Вирь хочеш написать?

не, винду ужать(упэиксом)



Страницы: 1 вся ветка

Текущий архив: 2002.10.17;
Скачать: CL | DM;

Наверх




Память: 0.47 MB
Время: 0.012 c
14-56353
Карлсон
2002-09-22 20:27
2002.10.17
кто-нить перепрошивал биос на видюхе?


1-56111
ShurikNV
2002-10-09 10:31
2002.10.17
РАЗМЕР ОКНА


1-56216
zam2000
2002-10-07 20:36
2002.10.17
Как перекодировать word документ с таблицами в DOS формат?


14-56294
wolfic
2002-09-23 18:24
2002.10.17
где найти IBObjects без окна сообщения


3-55939
delfist
2002-09-24 14:09
2002.10.17
А можно ли сразу получить сумму по колонке цифр в таблице?