|
Новости |
ПодпрограммыОперации над файлами могут осуществляться только с помощью функций и процедур. Перед этим файл должен быть связан с набором данных, а если это касается элементов файла, то файл должен открыт. Связь файла с помощью Reset и Rewrite. Использование процедуры Reset не означает, что файл открыт исключительно для ввода элементов набора данных, а использование процедуры Rewrite также не означает, что файл открыт исключительно для вывода. Перед окончанием выполнения программы каждый файл должен быть закрыт. Для этой цели служит процедура Close. Само завершение программы не влечёт за собой закрытия ещё не закрытых файлов. После открытия указатель файла находится в начальном положении. Указатель файла можно изменить с помощью процедуры Seek. Текущий размер файла можно определить с помощью функции FileSise, а текущее положение указателя с помощью функции FilePos. Если файл установлен в промежуточном положении, т.е. между началом и концом, то каждое выполнение процедуры Write приведёт к изменению ближайшего элемента файла. Это изменение никак не скажется на остальных элементах. Поэтому файлы с элементами установленного типа могут представлять наборы данных с последовательным и прямым доступом. Процедура AssignСинтаксис: Assign (FileVar, StrExp) FileVar - имя файловой переменной, StrExp - строковое выражение. Не допускается, чтобы файл FileVar был открыт. Выполнение процедуры Assign приводит к связи файла FileVar с набором данных, определённых выражением StrExp. Пример:
Файловая переменная Results представляет файл с элементами типа real. Процедура Assign связывает файл Results с набором данных TESTS.DOC, находящемся в дисковом устройстве А:. Процедура Assign не открывает файл Results. Процедура ResetСинтаксис: Reset (FileVar) FileVar - имя файловой переменной. Перед выполнением процедуры Reset файл должен быть связан с существующим набором данных. Процедура Reset открывает файл FileVar, указатель файла устанавливается в начальном положении, т. е. перед его первым элементом. Пример:
Процедура Assign связывает файл InpFile с набором данных INCOME.DOС, находящемся в текущем каталоге. Процедура Reset открывает файл InpFile. Открытие файла с помощью Reset не исключает в будущем возможности обращения к нему с помощью процедур Seek и Write. Процедура RewriteСинтаксис: Rewrite (FileVar) FileVar - имя файловой переменной. Перед выполнением процедуры Rewrite файл FileVar должен быть связан с набором данных. Процедура Rewrite открывает файл FileVar, указатель файла устанавливается в начальное положение, т.е. перед его первым элементом. Если перед выполнением процедуры Rewrite набор данных, связанный с файлом, не существовал, то он будет создан. Если существовал, то будет удалён и создан заново. В обоих случаях будет создан пустой набор данных. Пример:
Процедура Assign связывает файл OutFile с набором данных TESTS.OUT, находящимся на дискете в дисковом устройстве В:. Процедура Rewrite открывает файл OutFile. После открытия файл пуст. Процедура WriteСинтаксис: Write (FileVar, VarList) FileVar - имя файловой переменной, VarList - список имён переменных. Необходимо, чтобы файл FileVar был открыт. Все переменные списка VarList должны быть одинакового типа с элементами файла. Выполнение процедуры Write со списком имён переменных эквивалентно выполнению последовательности процедур Write с именами этих переменных. Выполнение процедуры Write с именем переменной приводит к выводу в файл FileVar значения, присвоенного этой переменной. Пример:
Var OutFile: file of ElmType; ArrVar: array [boolean] of ElmType ... Assign (OutFile,'COMPLEX.RES'); Rewrite (OutFile); Write (OutFile, ArrVar [false], ArrVar [true])
Процедура Assign связывает файл OutFile с набором данных COMPLEX.RES. Процедура Rewrite открывает файл OutFile. Процедура Write выводит в файл OutFile значение, присвоенное элементом ArrVar [false] и ArrVar [true] массива ArrVar. Замена приведённого оператора Write оператором Write (FileVar, VarList); была бы неправильной,потому что само имя массива не выделяет его элементов. Процедура CloseCинтак сис: Close (FileVar) FileVar - имя файловой переменной. Файл FileVar может быть закрыт или открыт. Перед выполнением процедуры Close файл FileVar закрывается. Если перед выполнением процедуры файл не был открыт, то его состояние не изменяется. Окончание выполнения программы не влечёт за собой вызова процедуры Close. Пример:
После выполнения указанной программы в текущем каталоге будет образован пустой набор данных EMPTY. В дальнейшем этот набор данных может быть заполнен элементами типа boolean. Функция FileSizeСинтаксис: FileSize (FileVar) FileVar - имя файловой переменной. Файл FileVar должен быть открытым. Результатом функции FileSize будет величина типа integer, значение которой равно количеству элементов файла FileVar. Пример:
После выполнения процедуры Rewrite файл FileVarпуст. Поскольку в пустом файле 0 элементов, после выполнения приведённой программы будет выведено число 0. Функция FilePosСинтаксис: FilePos (FileVar) FileVar - имя файловой переменной. Файл FileVar должен быть открытым. Функция FilePos возвращает величину целого типа, значение которой равно положению указателя файла FileVar. Номер начальной позиции равен 0, номер последней позиции FileSize (FileVar). Пример:
Если набор данных COLORS пустой, то после выполнения программы будет выведено сообщение TRUE. В противном случае будет выведено сообщение FALSE. |
На главную страницу(с)Все права защищеныПо всем интересующим вопросам прошу писать на электронный адрес |