Форум: "Основная";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];
ВнизFindFirst файлы и папки Найти похожие ветки
← →
Redlord (2004-12-24 21:57) [0]всем привет
народ можноли настроить функцию FindFirst чтоб она выдавала
папки И файлы определенного типа, например EXE .
используя ниже приведенный пример я получаю тока файлы
if FindFirst(s+"*.exe", faDirectory, sr) = 0 then
...
← →
olookin © (2004-12-24 22:08) [1]Папки кажется маркируются как "*.*". Можно в общем...
← →
Redlord (2004-12-24 22:11) [2]две звезды ето все файлы а надо тока EXE
← →
olookin © (2004-12-24 22:13) [3]В этом коде жирным выделены папки. Так по крайней мере я думаю...
procedure TForm1.Scan(Path: Ansistring);
var SearchRec: TSearchRec;
s: string;
r,a: Ansistring;
begin
FindFirst(Path+"\*.*",faAnyFile,SearchRec);
while FindNext(SearchRec)=0 do begin
s:="*"+LowerCase(ExtractFileExt(Path+"\"+SearchRec.Name));
if (s<>"*") and (s<>"*.") and (s="*.mp3") then begin
Inc(xx);
end;
if (SearchRec.Attr and faDirectory=faDirectory) and
(SearchRec.Name[1]<>".") then Scan(Path+"\"+SearchRec.Name); end;
FindClose(SearchRec);
end;
← →
Sun bittern © (2004-12-24 22:25) [4]faDirectory?
← →
olookin © (2004-12-24 22:26) [5][4] Sun bittern © (24.12.04 22:25)
?
← →
Sun bittern © (2004-12-24 22:38) [6]olookin © (24.12.04 22:26) [5]
Указать в атрибутах файла
FindFirst(Path + "\*.*", faAnyFile + faDirectory, SearchRec);
← →
olookin © (2004-12-24 23:13) [7][6] Sun bittern © (24.12.04 22:38)
Я ничего не указывал... Директории и так находятся... По моему...
← →
redlord (2004-12-25 01:56) [8]как ето через if зделать я знаю а можноли в атрибутах FindFirst ?
а строка
FindFirst(Path + "\*.*", faAnyFile + faDirectory, SearchRec);
покажет тока файлы !!
← →
olookin © (2004-12-25 02:04) [9][8] redlord (25.12.04 01:56)
У меня директории показывались в поиске...
← →
SergP © (2004-12-25 02:07) [10]
> Redlord (24.12.04 21:57)
> всем привет
> народ можноли настроить функцию FindFirst чтоб она выдавала
> папки И файлы определенного типа, например EXE .
Ищи тогда 2 раза отдельно. Один раз - папки, дркгой раз экзешники.
← →
Fay © (2004-12-25 04:05) [11]2 All
if FindFirst(s+"*.exe", faDirectory, sr) = 0 then
Кому-нибудь ещё удалось так найти только папки?
← →
Sun bittern © (2004-12-25 10:12) [12]Файлы и папки по маске
Procedure SearchDir(Path, Mask: String; SearchSubDir:Boolean; SearchList: TStrings);
var
FSearchRec, DSearchRec: TSearchRec;
FindResult: Integer;
function IsDirNotation(ADirName: String): Boolean;
begin
Result := (ADirName = ".") or (ADirName = "..");
end;
Begin
FindResult := FindFirst(Path + Mask, faAnyFile + faDirectory, FSearchRec);
while FindResult = 0 do
begin
SearchList.Add(Path + FSearchRec.Name);
FindResult := FindNext(FSearchRec);
end;
if SearchSubDir then
FindResult := FindFirst(Path + "*.*", faDirectory, DSearchRec);
while FindResult = 0 do
begin
if ((DSearchRec.Attr and faDirectory) = faDirectory) and not
IsDirNotation(DSearchRec.Name) then
SearchList.Add(Path + DSearchRec.Name);
FindResult := FindNext(DSearchRec);
end;
end;
← →
begin...end © (2004-12-25 10:17) [13]> [12] Sun bittern © (25.12.04 10:12)
+ FindClose.
← →
Sun bittern © (2004-12-25 10:19) [14]begin...end © (25.12.04 10:17) [13]
Каюсь, грешен :)
← →
Anatoly Podgoretsky © (2004-12-25 11:48) [15]http://podgoretsky.com/ftp/Language/nps/ru.delphi.html#N158
Страницы: 1 вся ветка
Форум: "Основная";
Текущий архив: 2005.01.16;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.04 c