Форум: "Начинающим";
Текущий архив: 2006.08.20;
Скачать: [xml.tar.bz2];
ВнизFindFirst, FindNext ..... Найти похожие ветки
← →
Gnoll (2006-08-02 13:43) [0]как с помощью FindFirst,FindNext искать ТОЛЬКО папки? или при нахождении проверить является ли найденное папкой
Я сначало думал что faDirectory это филтр для папок , но он находжит также и файлы
← →
Virgo_Style © (2006-08-02 13:47) [1]Gnoll (02.08.06 13:43)
проверить является ли найденное папкой
проверить атрибут найденного
← →
Gnoll (2006-08-02 16:11) [2]А что это даст?
у папки что атрибут особый?
← →
Gnoll (2006-08-02 16:20) [3]И вот ещё
почему при таком коде
procedure TForm1.Button2Click(Sender: TObject);
var
Rec : TSearchRec;
begin
findFirst("c:\*.*",FaAnyFile,Rec);
repeat
FindNext(rec);
Memo.lines.add(REc.Name);
until FindNext(Rec) <> 0;
end;
Он находит даже не все папки и файлы которые расположены в заданой директории
← →
Германн © (2006-08-02 16:26) [4]
> Он находит даже не все папки и файлы которые расположены
> в заданой директории
Он то находит, да ты их теряешь.
← →
Gnoll (2006-08-02 16:29) [5]как я их теряю ??? :(
ну объяснил бы хоть блин... я туп и глуп
← →
Германн © (2006-08-02 16:31) [6]
> repeat
> FindNext(rec); Это найденное ты добавляешь в Мемо
> Memo.lines.add(REc.Name);
> until FindNext(Rec) <> 0; А это найденное идет псу под хвост
>
← →
zdm © (2006-08-02 16:35) [7]findFirst("c:\*.*", faDirectory,Rec);
← →
Reindeer Moss Eater © (2006-08-02 16:37) [8]while FindNext(rec) = 0 do if (rec.Attr and faDirectory) = faDirectory then Это_папка
← →
Ketmar © (2006-08-02 16:45) [9]> [3] Gnoll (02.08.06 16:20)
потому что код неверный.
var
r: Integer;
sr: TSearchRec;
begin
r := FindFirst("c:\*.*", faAnyFile, sr);
while r = 0 do
begin
WriteLn(sr.Name);
r := FindNext(sr);
end;
FindClose(sr);
end;
rtfm.
← →
Германн © (2006-08-02 16:50) [10]
> Ketmar © (02.08.06 16:45) [9]
А нафиг нужно было плодить лишние сущности?
← →
Ketmar © (2006-08-02 16:57) [11]> [10] Германн © (02.08.06 16:50)
??? нафиг было демонстрировать верный код? не знаю. люблю, когда код правильный.
← →
Германн © (2006-08-02 16:59) [12]Нет. Нафиг нужна r?
← →
Ketmar © (2006-08-02 17:29) [13]пример, где r изничтожили и ничего не ввели взамен -- в студию.
← →
Zeqfreed © (2006-08-02 17:32) [14]> [13] Ketmar © (02.08.06 17:29)
Думается, что как и в случае использования r, без её использования резальтат будет храниться-таки в одном из регистров.if (FindFirst(Mask, faAnyFile, SR) = 0) then begin
while (FindNext(SR) = 0) do HandleFile(SR.Name);
FindClose(SR);
end;
?
← →
Ketmar © (2006-08-02 17:33) [15]> [14] Zeqfreed © (02.08.06 17:32)
это что за бред? что, первый найденый файл нам нафиг не нужен, да? ну, может, кому и так сойдёт, а я предпочитаю корректный код. который ничего не теряет.
← →
Германн © (2006-08-02 17:35) [16]
> пример, где r изничтожили и ничего не ввели взамен -- в
> студию.sr: TSearchRec;
begin
if FindFirst("c:\*.*", faAnyFile, sr) = 0 then repeat
WriteLn(sr.Name);
until FindNext(sr) <> 0;
FindClose(sr);
end;
← →
Zeqfreed © (2006-08-02 17:36) [17]> [15] Ketmar © (02.08.06 17:33)
Да, действительно, поторопился. Для обработки первого файла надо вставить HandleFile перед циклом.
← →
Ketmar © (2006-08-02 17:37) [18]> [16] Германн © (02.08.06 17:35)
убедил. я был неправ. инертность мышления, блин... %-( надо больше думать. %-)
← →
Плохиш © (2006-08-02 19:31) [19]
> Ketmar © (02.08.06 17:29) [13]
> пример, где r изничтожили и ничего не ввели взамен -- в
> студию
Пример в справке ;-)
> Reindeer Moss Eater © (02.08.06 16:37) [8]
> while FindNext(rec) = 0 do if (rec.Attr and faDirectory)
> = faDirectory then Это_папка
А первое, найденное по FindFirst, вроде как и не нужно?
← →
Zeqfreed © (2006-08-02 19:34) [20]> А первое, найденное по FindFirst, вроде как и не нужно?
Нужно, если поиск начинать с корня диска.
← →
Reindeer Moss Eater © (2006-08-02 19:35) [21]А первое, найденное по FindFirst, вроде как и не нужно?
<Цитата>
Это всего лишь фрагмент иллюстирующий как отличить папку от файла
← →
Ketmar © (2006-08-02 20:22) [22]> [19] Плохиш © (02.08.06 19:31)
ну нет у меня на работе ни Delphi, ни справки. не по этим делам у меня работа. %-)
← →
Anatoly Podgoretsky © (2006-08-02 20:39) [23]Zeqfreed © (02.08.06 19:34) [20]
А в других папках можно и плюнуть на потерю?
← →
Zeqfreed © (2006-08-03 07:17) [24]> [23] Anatoly Podgoretsky © (02.08.06 20:39)
Наврядли файл . действительно кому-то нужен при поиске.
Страницы: 1 вся ветка
Форум: "Начинающим";
Текущий архив: 2006.08.20;
Скачать: [xml.tar.bz2];
Память: 0.49 MB
Время: 0.063 c