Работа с файлами
При работе с файлами необходимо знать:
С какими типами файлов собираетесь работать.
Цель открытия – запись, чтение, добавление.
Действия при работе с файлами.
Доступ к информации в файлах при открытии:
· К текстовым.
· Нетипизированным.
· Типизированным.
Текстовые файлы могут содержать символы #13#10- и признак конца строки -#26. В типизированных файлах чтение и запись допускается порциями одинаковой длины. При этом структура порции указывается при объявлении файлового указателя.
Нетипизированные файлы служат для быстрого доступа к ним независимо от их типа и структуры и объявляются простым файлом, например, var MyFile:file;.
Общие действия при работе с любыми файлами:
№ | Действие | Текстовые | Типизированные | Нетипизированные |
Описать файловый указатель(ф. у.) | F:TextFile | F:File of тип; X: тип; | F:File | |
Связать ф. у. с именем файла | AssignFile(f,name) | AssignFile(f,name) | AssignFile(f,name) | |
Объявить существующий файл или (новый) | Reset(f) Append(f) Rewrite(f) | Reset(f) Rewrite(f) | Reset(f,1) Rewrite(f,1) | |
Читать | Read(f, список) Readln(f,список) | Read(f,x) | BlockRead(f,buf,SizeOf(buf),NumWrite) | |
Записать | Write(f,список) Writeln(f, список) | Write(f,x) | BlockWrite(f,buf,SizeOf(buf),NumWrite) | |
Закрыть | CloseFile(f) | CloseFile(f) | CloseFile(f) |
Прочие процедуры и функции при работе с файлами см.: Н. Тюкачев, К. Рыбак, Е. Михайлова – Программирование в Delphi для начинающих.С-П, 2007 г.
|
|
f- файловый указатель (любая переменная файлового типа – текстового, типизированного, нетипизированного). До момента использования ее, она должна быть связана с внешним файлом(файл на диске, а также на устройствах – дисплее, клавиатуре). Если связь установлена, то существующий файл может быть открыт с помощью процедуры Reset(), устанавливающая указатель в начало файла, а также процедурой Append() для добавления.
Новый файл создается и открывается с помощью процедуры Rewrite().
Текстовые файлы, открываемые Reset(), предназначены только для чтения, а по Rewrite() и Append() – только для записи.
Запись или чтение в типизированных и нетипизированных файлах не зависит от способа открытия.
Доступ к файлам – последовательный. При чтении файла с помощью Read() и записи - Write() файловый указатель перемещается на следующий компонент.
Типизированные и нетипизированные файлы доступны произвольно с помощью процедур Seek(), FilePos(), FileSize().
Seek() – перемещает файловый указатель на заданный компонент.
FilePos() – определяет текущую файловую позицию.
FileSize() – размер файла.
Закрытие файлов. Для всех типов файлов - это процедура CloseFile().