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

Вниз

Помогите найти логическую ошибку в коде...   Найти похожие ветки 

 
syte_ser78 ©   (2004-08-16 20:23) [0]

Сабж. Следующий код ищет файлы по пути path по маске mask, но... через один. Тоесть грубо говоря из файлов 1 2 3 4 5... он найдет 1 3 5. Тоже самое относится к папкам. Подскажите в чем ошибка.

Procedure PrintFiles(path,mask:string);
var sr:tsearchrec;
begin
 findfirst(path+mask,faanyfile-fadirectory,sr);
 repeat
   if sr.name<>"" then
   begin
     writeln(F,"<LI> <OBJECT type="text/sitemap">");
     writeln(F,"<param name="Name" value="",sr.name,"">");
     writeln(F,"<param name="Local" value="",path+sr.name,"">");
     writeln(F,"</OBJECT>");
   end;
   findnext(sr);
 until FindNext(sr) <> 0;
end;

Procedure SearchFiles(path,mask:string);
var sr:tsearchrec;
begin
 findfirst(path+"*.*",faanyfile,sr);
 PrintFiles(path,mask);
 repeat
   if (sr.attr and fadirectory=fadirectory) and
      (sr.name<>".") and (sr.name<>"..") then
      begin
       writeln(F,"<LI> <OBJECT type="text/sitemap">");
       writeln(F,"<param name="Name" value="",sr.name,"">");
       writeln(F,"<param name="Local" value="",path+sr.name,"">");
       writeln(F,"</OBJECT>");
       writeln(f,"<UL>");
       SearchFiles(path+sr.name+"\",mask);
       writeln(f,"</UL>");
      end;
   findnext(sr);
 until FindNext(sr) <> 0;
end;


 
jack128 ©   (2004-08-16 20:39) [1]

Сразу в глаза брасается

> findfirst(path+"*.*",faanyfile,sr);
где проверака результата функции FindFirst ?
и насчет поиска через один - чего то не видно тут такого..
И вообще SearchFiles и PrintFiles одно и тоже делают - зачем делить на две процедуры?


 
vuk ©   (2004-08-16 20:42) [2]

>   findnext(sr);
> until FindNext(sr) <> 0;
Вызов findnext два раза подряд.


 
syte_ser78 ©   (2004-08-16 20:46) [3]


> [2] vuk ©   (16.08.04 20:42)
> >   findnext(sr);
> > until FindNext(sr) <> 0;
> Вызов findnext два раза подряд.

Блин!!!!!!!!!
Огромное спасибо! :)



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

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

Наверх




Память: 0.47 MB
Время: 0.023 c
14-1092635591
Vlad Oshin
2004-08-16 09:53
2004.09.05
http://www.lenta.ru/internet/2004/08/12/winxp/


14-1092638090
Ega23
2004-08-16 10:34
2004.09.05
Господа, как всё-таки правильно?


1-1092813867
race1
2004-08-18 11:24
2004.09.05
tmediaplayer


1-1092735398
STARfish
2004-08-17 13:36
2004.09.05
Есть ли у Скроллбокса событие "нажатие по полосе прокрутки"?


14-1092566825
Хыыы
2004-08-15 14:47
2004.09.05
Оценка программы