Иллюстрированный самоучитель по Delphi 7 для профессионалов

Операции ввода/вывода

Таблица 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 может быть связан файл любого типа за исключением текстового
Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.