Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "WinAPI";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];

Вниз

Не могу найти скрытые файлы   Найти похожие ветки 

 
Sicilla ©   (2005-01-30 18:13) [0]

Добрый день! есть такой код:
procedure Tform1.get_files(path, mask: string);
var
 sr: TSearchRec;
 FileAttrs: integer;
begin
    FileAttrs := faReadOnly + faHidden + faSysFile + faArchive + faDirectory;
    if FindFirst(path+"\"+mask, FileAttrs, sr) = 0 then
    begin
     repeat
           if (SR.Name <>".") and (SR.Name <>"..") then
              begin
                   if SR.Attr > 16 then
                      begin
                           inc(find_files);
                           memo1.Lines.Add(inttostr(find_files) + " " + path+"\"+sr.Name + " Size:" + inttostr(sr.Size));
                      end;
                   if sr.Attr = 16 then
                      begin
                           memo1.Lines.Add("Каталог " + path+"\"+sr.Name);
                           get_files(path+"\"+sr.Name,"*.*");
                      end;
              end;
     until FindNext(sr) <> 0;
     FindClose(sr);
   end;
   Label2.Caption := inttostr(find_files);
end;

Но он никак не хочет находить скрытые файлы. Как мне их поймать?


 
Fay ©   (2005-01-30 20:15) [1]

Вот так. Обрати внимание : здесь cPath включает, как завещал ExtactFilePath 8)
procedure TForm1.GetFiles(cPath, cMask : string);
var
 fh : THandle;
 fd : _WIN32_FIND_DATAA;
 fn : string;
 sz : LARGE_INTEGER;
begin
 fh := FindFirstFile(PChar(cPath + cMask), fd);
 if fh = INVALID_HANDLE_VALUE then Exit;
 Memo1.Lines.BeginUpdate;
 try
   repeat
     fn := Trim(fd.cFileName);
     if (fd.dwFileAttributes and FILE_ATTRIBUTE_DIRECTORY) <> 0 then
       begin
         if (fn <> ".") and (fn <> "..") then
           begin
             Memo1.Lines.Add("Каталог " + cPath + fn);
             GetFiles(cPath + fn + "\", "*.*");
           end;
       end
     else
       begin
         sz.HighPart := fd.nFileSizeHigh;
         sz.LowPart := fd.nFileSizeLow;
         Inc(Files_Find);
         Memo1.Lines.Add(IntToStr(Files_Find) + " " + cPath + fn + " Size:" + IntToStr(sz.QuadPart));
       end;
   until not FindNextFile(fh, fd);
 finally
   Windows.FindClose(fh);
   Memo1.Lines.EndUpdate;
 end;
 Label2.Caption := IntToStr(Files_Find);
end;



Страницы: 1 вся ветка

Форум: "WinAPI";
Текущий архив: 2005.03.13;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.037 c
14-1108996615
Soft
2005-02-21 17:36
2005.03.13
Скажи Microsoft НЕТ!


1-1109670882
Ivolg
2005-03-01 12:54
2005.03.13
Ошибка


1-1109305315
Sour
2005-02-25 07:21
2005.03.13
Как спрятать ярлыки TabSheet-ов у PageControl


1-1109338253
serega_man
2005-02-25 16:30
2005.03.13
Как программировать параметры exe файлов


14-1109003517
Чеширский_Кот
2005-02-21 19:31
2005.03.13
Испанцы - молодцы!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский