Операции ввода/вывода
Таблица 9.1. Процедуры и функции для работы с файлом.
Объявление | Описание |
---|---|
function ChangeFileExt (const FileName, Extension: string): string; | Функция позволяет изменить расширение файла. При этом сам файл не переименовывается |
procedure ChDir(S: string); | Процедура изменяет текущий каталог на другой, путь к которому описан в строке s |
procedure CloseFile (var F); | Вызов процедуры разрывает связь между файловой переменной и файлом на диске. Имя этой процедуры изменено из-за конфликта имен в Delphi (в Borland Pascal используется процедура Close) |
function DeleteFile (const FileName: string): Boolean; | Функция производит удаление файла FileName с диска и возвращает значение False, если файл удалить не удалось или файл не существует |
function ExtractFileExt (const FileName: string): string; | Функция возвращает расширение файла |
function ExtractFileName (const FileName: string): string; | Извлекает имя и расширение файла, содержащегося в параметре FileName |
function ExtractFilePath(const FileName: string): string; | Функция возвращает полный путь к файлу |
procedure Erase (var F); | Удаляет файл, связанный с файловой переменной F |
function FileSearch (const Name, DirList: string): string; | Данная процедура производит поиск в каталогах DirList файла Name. Если в процессе выполнения FileSearch обнаруживается искомое имя файла, то функция возвращает в строке типа string полный путь к найденному файлу. Если файл не найден, то возвращается пустая строка |
function FileSetAttr (const FileName: string; Attr: Integer): Integer; | Присваивает файлу с именем FileName атрибуты Attr. Функция возвращает 0, если присвоение атрибутов прошло успешно. В противном случае возвращается код ошибки |
function FilePos (var F): Longint; | Возвращает текущую позицию файла. Функция используется для нетекстовых файлов. Перед вызовом FilePos файл должен быть открыт |
function FileSize (var F): Integer; | FileSize возвращает размер файла в байтах или количество записей в файле, содержащем записи. Перед вызовом данной функции файл должен быть открыт. Для текстовых файлов функция FileSize не используется |
procedure Flush (var F: Text); | Процедура очищает буфер текстового файла, открытого для записи. F– файловая переменная. Когда текстовый файл открыт для записи с использованием функции Rewrite или Append, Flush очищает выходной буфер, связанный с файлом. После выполнения данной процедуры все символы, которые направлены для записи в файл, будут гарантированно записаны в нем |
procedure GetDir(D: Byte; var S: string); | Возвращает число, соответствующее диску, на котором содержится текущий каталог s. о может принимать одно из следующих значений: 0 – по умолчанию (текущий); 1 – А; 2 – В; 3 – С и т. д. Процедура не генерирует код ошибки. Если имя диска в D оказывается ошибочным, то в строке S возвращается значение Х:\, как если бы текущая папка была на этом ошибочно указанном диске |
function lOResult: Integer; | Функция возвращает статус последней произведенной операции ввода/вывода, если контроль ошибок выключен { $1- } |
procedure MkDir(S: string); | Процедура создает новый каталог, который описывается в строке S |
procedure Rename (var F; NewName: string); | Процедура изменяет имя файла, связанного с файловой переменной F. Переменная NewName является строкой типа string или PChar (если включена поддержка расширенного синтаксиса) |
procedure RmDir(S: string); | Процедура удаляет пустой каталог, путь к которому задается в строке S. Если указанный каталог не существует или он не пустой, то возникает сообщение об ошибке ввода/вывода |
procedure Seek (var F; N: Longint); | Перемещает текущую позицию курсора на N позиций. Данная процедура используется только для открытых типизированных или нетипизированных файлов для проведения чтения/записи с нужной позиции файла. Началу файла соответствует нулевой номер позиции. Для добавления новой информации в конец существующего файла необходимо установить указатель на символ, следующий за последним. Для этого можно использовать выражение Seek (F, FileSize(F)) |
function SeekEof[(var F: Text) ]: Boolean; | Возвращает значение True, если указатель текущей позиции находится на символе конца файла. SeekEof может быть использован только с открытым текстовым файлом |
function SeekEoln[ (var F: Text) ]: Boolean; | Возвращает значение True, если указатель текущей позиции находится на символе конца строки. SeekEoln может быть использован только с открытым текстовым файлом |
procedure SetTextBuf (var F: Text; var Buf [; Size: Integer]); | Связывает с текстовым файлом буфер ввода/вывода. F – файловая переменная текстового типа. Каждая файловая переменная текстового типа имеет внутренний буфер емкостью 128 байт, в котором накапливаются данные при чтении и записи. Такой буфер пригоден для большинства операций. Однако при выполнении программ с интенсивным вводом/выводом буфер может переполниться, что приведет к записи операций ввода/вывода на диск и, как следствие, к существенному замедлению работы приложения. SetTextBuf позволяет помещать в текстовый файл F информацию об операциях ввода/вывода вместо ее размещения в буфере. Size указывает размер буфера в байтах. Если этот параметр опускается, то полагается размер, равный SizeOf(Buf). Новый буфер действует до тех пор, пока F не будет связана с новым файлом процедурой AssignFile |
procedure Truncate (var F); | Удаляет все позиции, следующие после текущей позиции в файле. А текущая позиция становится концом файла. С переменной F может быть связан файл любого типа за исключением текстового |