Обслуживание внешних файлов и каталогов  

Обслуживание внешних файлов и каталогов

Эти программы хранятся в модулях System и SysUtils (большинство функции возвращают True при успешном выполнении).

ChDir(S) ‑ устанавливает текущий каталог S.

ChangeFileExt(Const S1, S2): String ‑ изменяет расширение файла S1 на S2

CreateDir(S):Boolean ‑ создает новый каталог с указанным путем.

DateTimeToFileDate(D:TDateTime):Integer ‑ преобразует D в формат Dos для даты и времени, используемый в процедурах FileAge, FileGetDate, FileSetDate, FindFirst,FindNext.

DeleteFile(Const S):Boolean ‑ удаляет файл S, возвращая True при успехе.

DirectoryExists(S):Boolean ‑ возвращает True, если есть каталог S.

DiskFree/DiskSize (D:byte):Integer ‑ возвращает размер свободной/всей об­лас­ти диска D (0 ‑ текущий диск, 1 ‑ A, 2 ‑ B, 3 ‑ C,...). При ошибке возвращается -1.

ExpandFileName(S):String ‑ возвращает полный путь и имя файла S.

ExpandUNCFileName(S):String ‑ возвращает в формате UNC полный путь в сети и имя файла S.

ExtractFileDir(S):String ‑ возвращает путь к каталогу из полного имени S.

ExtractFileDrive(S):String ‑ возвращает имя диска из полного имени S.

ExtractFileExt(S):String ‑ возвращает расширение из имени S.

ExtractFileName(S):String ‑ возвращает имя файла с расширением из S.

ExtractFilePath(S):String ‑ возвращает путь к каталогу с именем диска из полного имени файла, указанного параметром S.

ExtractRelativePath(S1,S2):String ‑ преобразует полный путь поиска S2 в строку относительного пути поиска S1. Пути могут содержать «..\».

ExtractShortPathName(S):String ‑ преобразует путь поиска S в формат Dos.

FileAge(S):Integer ‑ возвращает время создания файла S.

FileDateToDateTime(D:Integer):TDateTime ‑ преобразует в значение типа TDateTime формат Dos для дат и времени, используемый в процедурах FileAge, FileGetDate, FileSetDate, FindFirst,FindNext.

FileExists(S):Boolean ‑ возвращает True, если есть файл под именем S.

FileGetAttr(S):Integer ‑ возвращает атрибуты файла S. Наличие атрибутов можно проверить сложением операцией And над faXXXX (п.1.8.4).

FileSearch(S1,S2):String ‑ ищет файл S1 в списке каталогов S2 в формате DOS для Path через «;» и возвращает полный путь или пустую строку (нет).

FileSetAttr(S;A:Integer):Integer ‑ задает атрибуты (комбинация faXXXX (п.1.8.4), соединенных операциями Or.) и возвращает 0 при успешном выполнении, иначе - код ошибки Windows.

FindClose(Var F:TSearchRec) ‑прерывает поиск процедурами FindXXXX.

FindFirst(S;A:Integer;Var F:TSearchRec):Integer ‑ поиск первого файла, удов­летворяющего шаблону S (например, C:\base\*.dbf). и возвращает 0 при успешном выполнении, иначе - код ошибки Windows.



Описание найденного файла помещается в переменную F типа TsearchRec: Time: Integer {дата и время создания файла в формате DOS}; Size Integer {размер файла в байтах}; Attr: Integer {атрибуты}; Name: TFileName {имя файла}; ExcludeAttr:Integer; FindHandle:THandle; FindData:TWin32FindData.

FindNext(Var F:TSearchRec):Integer ‑ поиск следующего файла.

ForceDirectories(S):Boolean ‑ создает каталог с подкаталогами S.

GetCurrentDir:String ‑возвращает имя текущего каталога.

GetDir(D:byte;var S) ‑ возвращает в S имя текущего каталога диска D (0 ‑ текущий диск, 1 ‑ A, 2 ‑ B, 3 ‑ C,...).

IncludeTrailingBackSlash(S):String ‑ добавляет в конец S «\», если его нет.

IsPathDelimiter(S,I:Integer):Boolean ‑ возвращает True, если «\» в позиции I

MatchesMask(S1,S2):Boolean ‑возвращает. True, если файл с именем S1 соответствует маске файлов S2 с подстановочными символами «*»,»?».

MkDir(S) ‑ создание каталога с полным путем в S.

ProcessPath(S1;Var D:Char;Var S2;Var S3) ‑из файла S1 выделяется имя диска (D), путь поиска (S2), имя файла (S3).

RenameFile(S1,S2):Boolean ‑ переименование файла S1 в S2.

RmDir(S), RemoveDir(S):Boolean ‑ удаляет пустой каталог с именем в S.

SetCurrentDir(S):Boolean ‑устанавливает текущий каталог S.

Вопросы для самопроверки и контроля

Вопросы для самопроверки

1. Каков общий порядок работы с файлами?

2. Что является записью текстового файла?

Контрольные вопросы

1. Можно ли защитить файл от изменений?

2. Можно ли найти запись по ее порядковому номеру?

3. Каково назначение функции Eof?

4. Каково назначение файловой процедуры Read?

5. Каково назначение файловой процедуры Write?

6. Каково назначение файловой процедуры AssignFile?

7. Каково назначение файловой процедуры Reset?

8. Каково назначение файловой процедуры Seek?

9. Какие подходы существуют при работе с файлами?

10. Для чего предназначена процедура Rewrite?



11. Для чего предназначена процедура Flush?

12. Для чего предназначена процедура IOResult?

13. Какой функцией можно определить размер файла?


8503658700123093.html
8503692287235671.html

8503658700123093.html
8503692287235671.html
    PR.RU™