Стандартные подпрограммы управления файлами
Для обработки файлов в языке Delphi имеется специальный набор процедур и функций:
- AssignFile(var F; FileName: string) — связывает файловую переменную F и файл, имя которого указано в FileName.
- Reset(var F [: File; RecSize: Word ] ) — открывает существующий файл. Если открывается нетипизированный файл, то RecSize задает размер элемента файла.
- Rewrite(var F [: File; RecSize: Word ] ) — создает и открывает новый файл.
- Append(var F: TextFile) — открывает текстовый файл для добавления текста.
- Read(F, V1 [, V2, ..., Vn ]) — начиная с текущей позиции, читает из типизированного файла подряд расположенные элементы в переменные V1, V2, ..., Vn.
- Read(var F: TextFile; V1 [, V2, ..., Vn ] ) — начиная с текущей позиции, читает из текстового файла символы или строки в переменные V1, V2, ..., Vn.
- Write(F, V1 [, V2, ..., Vn ]) — начиная с текущей позиции, записывает в типизированный файл значения V1, V2, ..., Vn.
- Write(var F: TextFile; V1 [, V2, ..., Vn ] ) — начиная с текущей позиции указателя чтения-записи, записывает в текстовый файл значения V1, V2, ..., Vn.
- CloseFile(var F) — закрывает ранее открытый файл.
- Rename(var F; NewName: string) — переименовывает неоткрытый файл F любого типа. Новое имя задается в NewName.
- Erase(var F) — удаляет неоткрытый внешний файл любого типа, заданный переменной F.
- Seek(var F; NumRec: Longint) — устанавливает позицию чтения-записи на элемент с номером NumRec; F — типизированный или нетипизированный файл.
- SetTextBuf(var F: TextFile; var Buf [; Size: Word]) — назначает текстовому файлу F новый буфер ввода-вывода Buf объема Size.
- SetLineBreakStyle(var T: Text; Style: TTextLineBreakStyle) — устанавливает способ переноса строк в файле (одиночный символ #10 или пара символов #13#10).
- Flush(var F: TextFile) — записывает во внешний файл все символы, переданные в буфер для записи.
- Truncate(var F) — урезает файл, уничтожая все его элементы, начиная с текущей позиции.
- IOResult: Integer — возвращает код, характеризующий результат (была ошибка или нет) последней операции ввода-вывода.
- FilePos(var F): Longint — возвращает для файла F текущую файловую позицию (номер элемента, на которую она установлена, считая от нуля). Не используется с текстовыми файлами.
- FileSize(var F): Longint — возвращает число компонент в файле F. Не используется с текстовыми файлами.
- Eoln(var F: Text): Boolean — возвращает булевское значение True, если текущая позиция чтения-записи находится на маркере конца строки. Если параметр F не указан, функция применяется к стандартному устройству ввода с именем Input.
- Eof(var F): Boolean — возвращает булевское значение True, если текущая позиция чтения-записи находится сразу за последним элементом, и False в противном случае.
- SeekEoln(var F: Text): Boolean — возвращает True при достижении маркера конца строки. Все пробелы и знаки табуляции, предшествующие маркеру, пропускаются.
- SeekEof(var F: Text): Boolean — возвращает значение True при достижении маркера конца файла. Все пробелы и знаки табуляции, предшествующие маркеру, пропускаются.
Для работы с нетипизированными файлами используются процедуры BlockRead и BlockWrite. Единица обмена для этих процедур 128 байт.
- BlockRead(var F: File; var Buf; Count: Word [; Result: Word] ) — считывает из файла F определенное число блоков в память, начиная с первого байта переменной Buf. Параметр Buf представляет любую переменную, используемую для накопления информации из файла F. Параметр Count задает число считываемых блоков. Параметр Result является необязательным и содержит после вызова процедуры число действительно считанных записей. Использование параметра Result подсказывает, что число считанных блоков может быть меньше, чем задано параметром Count.
- BlockWrite(var F: File; var Buf; Count: Word [; Result: Word]) — предназначена для быстрой передачи в файл F определенного числа блоков из переменной Buf. Все параметры процедуры BlockWrite аналогичны параметрам процедуры BlockRead.
- ChDir(const S: string) — устанавливает текущий каталог.
- CreateDir(const Dir: string): Boolean — создает новый каталог на диске.
- MkDir(const S: string) — аналог функции CreateDir. Отличие в том, что в случае ошибки при создании каталога функция MkDir создает исключительную ситуацию.
- DeleteFile(const FileName: string): Boolean — удаляет файл с диска.
- DirectoryExists(const Directory: string): Boolean — проверяет, существует ли заданный каталог на диске.
- FileAge(const FileName: string): Integer — возвращает дату и время файла в числовом системно-зависимом формате.
- FileExists(const FileName: string): Boolean — проверяет, существует ли на диске файл с заданным именем.
- FileIsReadOnly(const FileName: string): Boolean — проверяет, что заданный файл можно только читать.
- FileSearch(const Name, DirList: string): string — осуществляет поиск заданого файла в указанных каталогах. Список каталогов задается параметром DirList; каталоги разделяются точкой с запятой для операционной системы Windows и запятой для операционной системы Linux. Функция возвращает полный путь к файлу.
- FileSetReadOnly(const FileName: string; ReadOnly: Boolean): Boolean — делает файл доступным только для чтения.
- FindFirst/FindNext/FindClose
- ForceDirectories(Dir: string): Boolean — создает новый каталог на диске. Позволяет одним вызовом создать все каталоги пути, заданного параметром Dir.
- GetCurrentDir: string — возвращает текущий каталог.
- SetCurrentDir(const Dir: string): Boolean — устанавливает текущий каталог. Если это сделать невозможно, функция возвращет значение False.
- RemoveDir(const Dir: string): Boolean — удаляет каталог с диска; каталог должен быть пустым. Если удалить каталог невозможно, функция возвращет значение False.
- RenameFile(const OldName, NewName: string): Boolean — изменяет имя файла. Если это сделать невозможно, функция возвращет значение False.
- ChangeFileExt(const FileName, Extension: string): string — возвращает имя файла с измененным расширением.
- ExcludeTrailingPathDelimiter(const S: string): string — отбрасывает символ-разделитель каталогов (символ ‘/’ — для Linux и ‘\’ — для Windows), если он присутствует в конце строки.
- IncludeTrailingPathDelimiter(const S: string): string — добавляет символ-разделитель каталогов (символ ‘/’ — для Linux и ‘\’ — для Windows), если он отсутствует в конце строки.
- ExpandFileName(const FileName: string): string — возвращает полное имя файла (с абсолютным путем) по неполному имени.
- ExpandUNCFileName(const FileName: string): string — возвращает полное сетевое имя файла (с абсолютным сетевым путем) по неполному имени. Для операционной системы Linux эта функция эквивалентна функции ExpandFileName.
- ExpandFileNameCase(const FileName: string; out MatchFound: TFilenameCaseMatch): string — возвращает полное имя файла (с абсолютным путем) по неполному имени, допуская несовпадения заглавных и строчных букв в имени файла для тех файловых систем, которые этого не допускают (например, файловая система ОС Linux).
- ExtractFileDir(const FileName: string): string — выделяет путь из полного имени файла; путь не содержит в конце символ-разделитель каталогов.
- ExtractFilePath(const FileName: string): string — выделяет путь из полного имени файла; путь содержит в конце символ-разделитель каталогов.
- ExtractRelativePath(const BaseName, DestName: string): string — возвращает относительный путь к файлу DestName, отсчитанный от каталога BaseName. Путь BaseName должен заканчиваться символом-разделителем каталогов.
- ExtractFileDrive(const FileName: string): string — выделяет имя диска (или сетевого каталога) из имени файла. Для операционной системы Linux функция возвращает пустую строку.
- ExtractFileExt(const FileName: string): string — выделяет расширение файла из его имени.
- ExtractFileName(const FileName: string): string — выделяет имя файла, отбрасывая путь к нему.
- IsPathDelimiter(const S: string; Index: Integer): Boolean — проверяет, является ли символ S[Index] разделителем каталогов.
- MatchesMask(const Filename, Mask: string): Boolean — проверяет, удовлетворяет ли имя файла заданной маске.
Дата добавления: 2016-02-09; просмотров: 786;