Главная страница
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.037 c
3-1092301377
Anthony
2004-08-12 13:02
2004.09.05
SelectAll в DBGridEh


1-1092774753
Quest
2004-08-18 00:32
2004.09.05
зависает поток


14-1092592118
YurikGL
2004-08-15 21:48
2004.09.05
Бездельникам и начальникам на заметку


3-1092131170
natasha
2004-08-10 13:46
2004.09.05
ComboBox в DBGrid


10-1035224514
Прохожий
2002-10-21 22:21
2004.09.05
OMNIORB и C++ Builder