Форум: "Потрепаться";
Текущий архив: 2004.09.05;
Скачать: [xml.tar.bz2];
ВнизПомогите найти логическую ошибку в коде... Найти похожие ветки
← →
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;
Скачать: [xml.tar.bz2];
Память: 0.45 MB
Время: 0.035 c