Неверов Евгений Викторович
QR-код
Меню сайта
Категории раздела
Программирование на языке Паскаль [26]
В данной категории представлены новые функции, созданные на языке Паскаль, которые могут пригодиться при написании своих программ
Программирование на Delphi [19]
В данной категории представлены полезные подпрограммы, которые могут пригодиться при написании своих программ, а также рассматриваются примеры готовых проектов, создаваемых в среде программирования Delphi
Программирование на HTML [1]
В данной категории рассматриваются примеры готовых проектов, создаваемых на языке HTML
Мои программы [1]
Описание разработанных автором программ.
Online-программы [2]
Прочее [42]
Свободная тематика
Мини-чат
200
Наш опрос
Как Вы думаете, сколько времени люди проживут на Земле?
Всего ответов: 63
Статистика

Онлайн всего: 3
Гостей: 3
Пользователей: 0

Поиск файлов
procedure FileSystem(Dir, FileName: string; var sl: TStringList);
var F: TSearchRec;
    s: string;

   function Directory(Attr: integer): boolean;
   begin
      Result:=Attr and faDirectory = faDirectory;
   end;

begin
   ChDir(Dir);
   if IOResult<>0 then
      Exit;
   if Dir[Length(Dir)]<>'\' then
      Dir:=Dir+'\';
   if FindFirst(FileName, faAnyFile, F)=0 then
   repeat
      if not Directory(F.Attr) then
      begin
         s:=FormatDateTime('dd.mm.yyyy hh:nn:ss', FileDateToDateTime(F.Time));
         sl.Add(Format('%s%s: размер - %d, дата изменения - %s',
            [Dir, F.Name, F.Size, s]));
      end;
   until FindNext(F)<>0;
   if FindFirst('*', faAnyFile, F)=0 then
   repeat
      if Directory(F.Attr) then
         if not (F.Name='.') and not (F.Name='..') then
         begin
            FileSystem(Dir+F.Name, FileName, sl);
            ChDir(Dir);
         end;
   until FindNext(F)<>0;
   FindClose(F);
end;

где:

  • Dir – исходная папка;
  • FileName – файлы, которые нужно найти в исходной папке;
  • sl – список найденных файлов.

Добавим 2 кнопки Button1 и Button2 типа TButton, и также компонент Memo1: TMemo. Напишем события обеих кнопок:

procedure TForm1.Button1Click(Sender: TObject);
var sl: TStringList;
begin
   sl:=TStringList.Create;
   FileSystem('E:\Temp', '*', sl); // поиск всех файлов
   Memo1.Text:=sl.Text;
   sl.Free;
end;

procedure TForm1.Button2Click(Sender: TObject);
var sl: TStringList;
begin
   sl:=TStringList.Create;
   FileSystem('E:\Temp', '*.mp3', sl); // поиск файлов типа mp3
   Memo1.Text:=sl.Text;
   sl.Free;
end;

Например, при нажании на 1-ю кнопку текст в Memo1 будет выглядеть следующим образом:

E:\Temp\112.bmp: размер - 115926, дата изменения - 03.08.2016 09:54:12
E:\Temp\2016.jpg: размер - 58919, дата изменения - 21.09.2015 16:14:14
E:\Temp\Desktop.ini: размер - 78, дата изменения - 17.06.2011 16:55:34
E:\Temp\MAMBO.mp3: размер - 3584418, дата изменения - 08.08.2015 16:06:16
E:\Temp\PIN.png: размер - 22577, дата изменения - 11.01.2016 16:24:36
E:\Temp\Одноклассники.mp3: размер - 4047517, дата изменения - 14.08.2015 12:43:50
E:\Temp\Отпусти.mp3: размер - 3528829, дата изменения - 13.08.2015 12:26:16
E:\Temp\Шепот.txt: размер - 6444, дата изменения - 01.08.2016 18:36:48
E:\Temp\1\Сентябрь - Школьное солнце.mp3: размер - 3824744, дата изменения - 13.08.2015 18:52:34
E:\Temp\1\Я за тобой.mp3: размер - 3325701, дата изменения - 13.08.2015 16:19:24
E:\Temp\2\Project1.cfg: размер - 434, дата изменения - 20.03.2008 22:19:44
E:\Temp\2\Project1.dof: размер - 2015, дата изменения - 20.03.2008 22:19:44
E:\Temp\2\Project1.dpr: размер - 188, дата изменения - 20.03.2008 20:11:12
E:\Temp\2\Project1.exe: размер - 379904, дата изменения - 20.03.2008 22:19:16
E:\Temp\2\Project1.res: размер - 876, дата изменения - 20.03.2008 19:23:48
E:\Temp\2\Project1.~dpr: размер - 188, дата изменения - 20.03.2008 20:11:12
E:\Temp\2\Unit1.dcu: размер - 4601, дата изменения - 20.03.2008 22:17:46
E:\Temp\2\Unit1.ddp: размер - 51, дата изменения - 20.03.2008 22:19:42
E:\Temp\2\Unit1.dfm: размер - 746, дата изменения - 20.03.2008 22:19:16
E:\Temp\2\Unit1.pas: размер - 1459, дата изменения - 20.03.2008 22:17:42
E:\Temp\2\Unit1.~ddp: размер - 51, дата изменения - 20.03.2008 22:18:10
E:\Temp\2\Unit1.~dfm: размер - 718, дата изменения - 20.03.2008 19:33:48
E:\Temp\2\Unit1.~pas: размер - 1459, дата изменения - 20.03.2008 22:17:42

При нажании на 2-ю кнопку текст в Memo1 будет выглядеть следующим образом:

E:\Temp\MAMBO.mp3: размер - 3584418, дата изменения - 08.08.2015 16:06:16
E:\Temp\Одноклассники.mp3: размер - 4047517, дата изменения - 14.08.2015 12:43:50
E:\Temp\Отпусти.mp3: размер - 3528829, дата изменения - 13.08.2015 12:26:16
E:\Temp\1\Сентябрь - Школьное солнце.mp3: размер - 3824744, дата изменения - 13.08.2015 18:52:34
E:\Temp\1\Я за тобой.mp3: размер - 3325701, дата изменения - 13.08.2015 16:19:24

Примечание. Допускается использовать следующие константы: faReadOnly, faHidden, faSysFile, faVolumeID, faDirectory, faArchive, faAnyFile. Например:

if F.Attr = faSysFile then // найти системные файлы
if F.Attr = faAnyFile then // найти все файлы
Категория: Программирование на Delphi | Добавил: newerow1989 |
Просмотров: 961 | Рейтинг: 0.0/0
Всего комментариев: 0
Имя *:
Email:
Код *:
Вход на сайт
Поиск
Друзья сайта
Заработок в Интернете
Для начала необходим Электронный PAYEER® кошелек!
Copyright MyCorp © 2025
Версия для мобильных устройств. Яндекс.Метрика Анализ сайта Проверить мой сайт на ScamAdviser.com