Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.45 MB
Время: 0.02 c
6-1088490331
leonidus
2004-06-29 10:25
2004.09.05
Компонент idHTTP не работает через прокси


1-1093116430
kraw
2004-08-21 23:27
2004.09.05
TForm и как с ней бороться


3-1092170639
Cobalt
2004-08-11 00:43
2004.09.05
Текст запроса корёжит не по детски :(


14-1091465217
Мазут Береговой
2004-08-02 20:46
2004.09.05
Я весь на измене. Даже спать перестал.


3-1092277691
Sirus
2004-08-12 06:28
2004.09.05
Принудительное закрытие базы Interbase...




   Наверх