Форум: "Основная";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
ВнизПодскажите, плиз как искать папки Найти похожие ветки
← →
Алексей (2004-06-22 01:35) [0]Когда я использую FindFirst с атрибутом faDirectory, то находятся не только директории, но и файлы, а файлы мне не нужны. Как это можно сделать
← →
Игорь (2004-06-22 07:26) [1]Нужно делать проверку. Например
var
SR:TSearchRec;
begin
if FindFirst("c*.*",faDirectory,SR) = 0 then
repeat
if Sr.Attr = faDirectory then чего-то делаем...
until FindNext(SR) <> 0;
FindClose(SR);
end;
Без этого не обойтись.
← →
Игорь (2004-06-22 07:29) [2]Я сам недавно с такой же проблемой столкнулся
← →
MBo © (2004-06-22 07:35) [3]>if Sr.Attr = faDirectory
это некорректная проверка. см. FAQ по findfirst
← →
Игорь (2004-06-22 07:40) [4]ну можно так:
if (SR.Attr and faDirectory) = srAttr then ...
← →
Anatoly Podgoretsky © (2004-06-22 09:16) [5]Игорь (22.06.04 07:40) [4]
Точно такая же не корректная проверка. см. FAQ по findfirst
← →
TUser © (2004-06-22 09:37) [6]Да вообще - проще из справки скопировать.
← →
TASADAR (2004-06-23 09:03) [7]
function TForm1.FindFolders (Path: string): boolean;
var
F: TSearchRec;
Attr: Integer;
begin
Result := false;
Attr := faDirectory + faReadOnly + faHidden + faSysFile + faArchive;
FindFirst(Path, Attr, F);
if F.name <> "" then
begin
if (F.name <> "..") and (F.name <> ".") and ((F.Attr = 16) or (F.Attr = 17)
or (F.Attr = 18) or (F.Attr = 48) or (F.Attr = 51) or (F.Attr = 19)
or (F.Attr = 49) or (F.Attr = 50)) then
begin
// что-то делаю
Result := True;
end
else
begin
while FindNext(F) = 0 do
begin
if (F.name <> "..") and (F.name <> ".") and ((F.Attr = 16) or (F.Attr = 17)
or (F.Attr = 18) or (F.Attr = 48) or (F.Attr = 51) or (F.Attr = 19)
or (F.Attr = 49) or (F.Attr = 50)) then
begin
// что-то делаю
Inc(i1);
end;
end
end;
end;
FindClose(F);
end;
← →
Anatoly Podgoretsky © (2004-06-23 11:35) [8]Ужасы нашего городка.
← →
alex_shpak (2004-06-23 13:48) [9]По-моему, вместо (F.Attr =...)or(F.Attr=...)or ... нужно писать (F.Attr and faDirectory)<>0. Так сказано в help"е по TSearchRec и так проще.
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2004.07.11;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.042 c