Найти все файлы с данным разрешением и вывести их имя и размер - Free Pascal
Формулировка задачи:
эта программа работает и выдает правильный результат,
если файлы *.jpg находятся в папке с программой(это мне понятно)
идем далее...В папке с программой(папка называется "progi"
есть еще одна папка "MyPictures" в ней собраны все файлы *.jpg
вместо первого параметра if FindFirst('*.jpg'..... прописывал
следующие пути 'MyPictures\*.jpg' , 'C:\progi\MyPictures\*.jpg' ,
результат никакой, т.е. прога эти файлы найти не может
может есть у кого какие соображения
program AHelp; {$mode objfpc}{$H+} uses CRT,SysUtils; var srh: TSearchRec; begin ClrScr; if FindFirst('*.jpg',faAnyFile,Srh)=0 then begin repeat writeln('имя файла* = ',srh.Name); writeln('размер файла* = ',Srh.Size div 1024,' кбайт'); until FindNext(Srh)<>0; FindClose(Srh); end; writeln('Click any key'); readkey; end.
Решение задачи: «Найти все файлы с данным разрешением и вывести их имя и размер»
textual
Листинг программы
uses SysUtils; var sr: TSearchRec; begin if FindFirst('MyPictures\*.jpg',faAnyFile,sr)=0 then with sr do begin repeat WriteLn(name,' ',size); until FindNext(sr)<>0; FindClose(sr); end; end.
Объяснение кода листинга программы
В данном коде используется функция поиска первого файла с заданным разрешением в указанной директории и вывода его имени и размера. Затем происходит поиск следующего файла с заданным разрешением и так до тех пор, пока не будет найден файл с другим разрешением или не будут просмотрены все файлы.
- Объявляется переменная типа TSearchRec с именем sr, которая используется для хранения информации о найденном файле.
- Вызывается функция FindFirst, которая ищет первый файл с разрешением 'MyPictures*.jpg' в текущей директории. Параметр faAnyFile указывает, что нужно искать любой тип файла.
- Если поиск удался (то есть файл был найден), то начинается цикл, который повторяется до тех пор, пока не будет вызван метод FindNext, который ищет следующий файл с заданным разрешением.
- Внутри цикла выводится имя файла (поле Name объекта sr) и его размер (поле Size объекта sr) с помощью функции WriteLn.
- После окончания цикла вызывается метод FindClose, который освобождает ресурсы, занятые объектом sr.
- Если файл не был найден, то выводится сообщение об ошибке.
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д