Главная страница
    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.46 MB
Время: 0.048 c
6-1104431263
Delpher_Gray
2004-12-30 21:27
2005.03.13
Новоые подключение на событие OnDisconnect


14-1108752675
вредитель
2005-02-18 21:51
2005.03.13
О музыке сложной для восприятия или... ля-ля-ля, а я сошла с ума


14-1109053525
Vlad Oshin
2005-02-22 09:25
2005.03.13
Андрюха. Рассказ


9-1095375266
Ктото
2004-09-17 02:54
2005.03.13
Давайте попробуем развить демку dceDemo из состава GLScene ?


3-1107971746
frEE)stylEr
2005-02-09 20:55
2005.03.13
проблема с DBGrid





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский