Навигация
|
|||||
Оглавление
|
|||||
Стандартные подпрограммы управления файлами
Для обработки файлов в языке 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 — проверяет, удовлетворяет ли имя файла заданной маске. |