function FileDateToDateTime(FileDate: Integer): TDateTime; Обратное преобразование выполняет функция
functicn DateTimeToFileDate(DateTime: TDateTime): Integer;
Свойство Attr может содержать комбинацию следующих флагов-значений:
• faReadOnly - только для чтения;
О faDirectory - каталог;
О faHidden - скрытый; □
faArchive - архивный;
□ faSysFile - системный; □ faAnyFile -любой.
О faVolumelD - метка тома;
Для определения параметров файла используется оператор AND:
if (SearchRec.Attr ÄND faReacDniy) > О
then ShowMessage('Файл только для чтения') ;
Ншосгредственно гтяя поиска файлов испо1гкзуклся функции FinoFirst
И FindNext.
Функция
functicn FindFirst (const Eath: stxing;
Attr: Integer;
var F: TSearchRec): Integer;
находит первый файл, заданный полным маршрутом Path и параметрами Attr (см. выше). Если заданный файл найден, функция возвращает 0, иначе - код ошибки Windows. Параметры найденного файла возвращаются В записи F типа TSearchRec
Функция
function FindNext (var F: TSearchRec): integer;
применяется для повторного поиска следующего файла, удовлетворяющего критерию поиска. При этом используются те параметры поиска, которые заданы последним вызовом функции FindFirst. В случае удачного поиска возвращается 0.
Для освобождения ресурсов, выделенных для выполнения поиска, применяется функция:
procedure FindClose (var F: TSearchRec);
В качестве примера организации поиска файлов рассмотрим фрагмент исходного кода, в котором маршрут поиска файлов задается в однострочном текстовом редакторе DirEdit, а список найденных файлов передается в компонент TListBox.
procedure TForml.FindBtnClick(Sender: TObject); begin ListBox.Items.Clear,-
FindFirst(DirEdit.Text, faArchive + faHidden, SearchRec);
while FindNext(SearchRec) = 0 do ListBox.Items.Add(SearchRec.Name);
FindClose(SearchRec);
end;
Потоки
Потоки - очень удачное средство для унификации ввода/вывода для различных носителей. Потоки представляют собой специальные объекты-наследники абстрактного класса Tstream. Сам Tstream "умеет" открываться, читать, писать, изменять текущее положение и закрываться. Поскольку для разных носителей эти вещи происходят по-разному, конкретные аспекты реализованы в его потомках. Наиболее часто используются потоки для работы с файлами на диске и памятью.
Многие классы VCL Имеют унифицированные МеТОДЫ LoadFromStream И saveTostream, которые обеспечивают обмен данными с потоками. От того, с каким физическим носителем работает поток, зависит место хранения данных.
Базовые классы TStream и THandleStream
В основе иерархии классов потоков лежит класс Tstream. Он обеспечивает выполнение основных операций потока безотносительно к реальному носителю информации. Основными из них являются чтение и запись данных.
Класс Tstream порожден непосредственно от класса TObject.
Потоки также играют важную роль в чтении/записи компонентов из файлов ресурсов (DFM). Большая группа методов обеспечивает взаимодействие компонента и потока, чтение свойств компонента из ресурса и запись значений свойств в ресурс.