Мы поможем в написании ваших работ!



ЗНАЕТЕ ЛИ ВЫ?

Другие стандартные подпрограммы для работы

Поиск

С типизированными файлами и каталогами

В выше приведен большой список подпрограмм для работы с файлами и ката-

логами. Эти подпрограммы хранятся в двух модулях: System и SysUtils — и в неко-

торых областях дублируют друг друга. Это связано с необходимостью поддержи-

вать совместимость со старыми версиями системы Delphi и языка Паскаль, а также

с появлением новых мощных и гибких средств, более полно отвечающих потреб-

ностям разработчиков. В частности, функции модуля SysUtils в большинстве своем

позволяют контролировать результат работы по возвращаемому значению (если

это True, то операция выполнена успешно).

 

 

procedure ChDir(S: string);

function SetCurrentDir(const Dir: string): Boolean;

Устанавливает текущий каталог в соответствии с путем поиска, заданным параметром 5 (Dir)

function GetCurrentDir: string;

Возвращает имя текущего каталога

function CreateDir(const Dir: string): Boolean;

procedure MkDir(S: string);

Создает новый каталог, путь поиска которого указан в качестве параметра. Все промежуточные каталоги (кроме самого последнего) должны существовать

function DeleteFile(const FHeName: string): Boolean;

Удаляет файл

function DirectoryExists(Name: string): Boolean;

Проверяет, существует ли указанный каталог

function DiskFree(Drive: Byte):Int64;

Определяет число свободных байтов на диске, который задан параметром Drive. Значение 0 соответствует текущему диску, 1 — диску А, 2 — диску В, 3 — диску С и так далее

function DiskSize(Drive: Byte):Int64;

Возвращает объем указанного диска в байтах

function FileExists(const FileName: string): Boolean;

Проверяет, существует ли указанный файл

function FileGetAttr(const FileName: string): Integer;

function FileSetAttr(const FiteName:string; Attr: Integer): Integer;

Получает или устанавливает атрибуты указанного файла. Набор атрибутов представляет собой число типа Integer, разные биты которого определяют разные характеристики файла. faReaclOnly — только для чтения; faHidden — скрытый; faSysFile — системный; faVolumelD — метка диска; faDirectory — каталог; faArchive — архивный; faAnyFHe — произвольный

function FilePos(var F): Longint;

Возвращает номер текущей записи в файле. Нумерация начинается с нуля

 


function FHeSize(var F): Integer;

function ForceDirectories(Dir: string):

Boolean;

procedure GetQir(D: Byte; var S: string);

procedure RmDir(S: string};

function RemoveDir(const Dir: string): Boolean;

Возвращает число записей в файле или его размер в байтах

Создает каталог. Если указаны несуществующие промежуточные каталоги, то они также будут созданы

Для диска, заданного параметром D (0 — А, 1 — С, 2 — D и так далее), записывает в переменную S

Удаляет пустой каталог, полный путь поиска для которого задан параметром S (Dir)

 

 

procedure Rename(var F; Newname: string);

 

Переименовывает файл, ассоциированный с переменной F при помощи процедуры AssignFile.

Файл получает имя, определяемое строковым параметром Newname


 

Обработка имен файлов

Во многих случаях разработчику приходится анализировать структуру полного

имени файла вместе с его путем поиска. Это требуется, например, при создании

всевозможных программ установки (инсталляции), поиска информации, состав-

ления каталогов ресурсов, при решении системных задач. В системе Delphi 7 име-

ется богатый набор подпрограмм, позволяющих автоматизировать большинство

аспектов подобного анализа. Эти подпрограммы входят в стандартный модуль

FileCtrl

function ChangeFiLeExt(const FileName, Extension: string): string;

Изменяет расширение имени файла FileName на новое, заданное параметром Extension

function ExcludeTrai ling Вас kslash(const S: string): string;

Удаляет завершающий символ \ если он присутствует в строке

function ExpandFueName(const FileName: string): string;

Формирует полный путь поиска для файла FileName

function ExpandUNCFileName(const FileName: string): string;

Формирует полный путь поиска файла в формате UNC (\\имя-сервера\имя-ресурса)

function ExtractFileDir(const FileName: string): string;

Выделяет имя каталога и диска в формате, пригодном для непосредственного использования в функциях CreateDir, GetCurrentDir, RemoueDir и SetCurrentDir

function ExtractFileDrive(const FiLeName: string): string;

Выделяет имя локального диска или сетевого устройства

 

function ExtractFUeExt(const FileName: string): string;

Выделяет расширение имени файла

function ExtractFileName(const FileName: string): string;

Выделяет имя файла, отделяя его от пути поиска

function ExtractFilePath(const FileName: string): string;

Выделяет путь поиска (с завершающим символом \) из полного имени файла

function ExtractRelativePath(const BaseName, DestNarne: string}: string;

Преобразует полный путь поиска файла (параметр DestName) в строку, которая указывает относительный путь поиска из каталога, заданного параметром BaseName. Элементы пути поиска могут включать промежуточные переходы на уровень вверх, например,..\

function ExtractShortPathName(const FileName: string): string;

Преобразует путь поиска в формат коротких имен (не более 8 символов на имя файла или каталога). Например, путь поиска C:\Program Files\A.TXT будет преобразован как C:\Progra~l\A.TXT

function IndudeTraHingBackslash(constS: string): string;

Добавляет в конец строки символ \, если он там отсутствует

function IsPathDelimiter(constS: string;Index: Integer): Boolean;

Определяет, находится ли в позиции строки, определяемой параметром Index, символ \

function MatchesMask(const Filename, Mask: string): Boolean;

Возвращает значение True, если файл Filename соответствует строке Mask, в которой задана маска имен файлов, содержащая подстановочные символы

procedure ProcessPath(const EditText: string; var Drive: Char;

var DirPart: string; var File Part: string);

Выделяет имя диска (один символ), путь поиска и имя файла из параметра EditText

Поиск файлов

Процесс поиска файлов выполняется в системе Delphi 7 в три этапа.

1. Сначала находится первый файл, удовлетворяющий заданной маске. Этот поиск

осуществляется с помощью функции

function FindFirst (const Path: string; Attr: Integer; var F: TSearchRec): Integer;

 

Параметр Path содержит путь доступа для каталога, в котором производится

поиск. Путь доступа должен завершаться маской имен файлов, например:

С:\ТМР\*.*

*.txt

Кроме маски можно указать и набор атрибутов, учитываемых при отборе файлов.

Эти атрибуты были указаны при описании функций FileGetAttr/FiieSetAttr.

 

Результат поиска сохраняется в переменной F, имеющей тип TSearchRec.

type TSearchRec =record

Time: Integer;

Size: Integer;

Attr: Integer;

Name: TFileName;

ExcludeAttr: Integer;

FindHandle: THandle;

FindData: TWin32FindData;

end;

 

Среди ее полей надо отметить следующие:

О поле Time содержит время создания файла в формате DOS;

О поле Size содержит размер файла в байтах;

О поле Name содержит имя файла.

2. Вызывается функция

function FindNext(var F: TSearchRec): Integer;

Переменная типа TSearchRec, использованная в функции FindFirst, Передается в

качестве параметра. На основании записанной в нее информации будет про-

должен поиск следующего подходящего файла.

3. Процесс поиска завершается вызовом процедуры

procedure FindClosefvar F: TSearchRec);

Эта процедура освобождает память, которая была выделена для проведения

процесса поиска.

 



Поделиться:


Последнее изменение этой страницы: 2017-02-21; просмотров: 222; Нарушение авторского права страницы; Мы поможем в написании вашей работы!

infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 52.15.173.197 (0.006 с.)