Главная страница
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.087 c
4-1090406888
Delphi5.01
2004-07-21 14:48
2004.09.05
Ia pitaus ispolzovat "rar.exe" console dla arhivacii dannih, ...


14-1092413274
Undert
2004-08-13 20:07
2004.09.05
Модераторы


1-1092727923
Cosinus
2004-08-17 11:32
2004.09.05
Корректное создание и вывод сообщений об исключительных ситуациях


4-1090302822
acidman
2004-07-20 09:53
2004.09.05
LPT под win2k/XP/NT


3-1092073056
Владимир
2004-08-09 21:37
2004.09.05
Ошибка в ADOQuery