Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
LR-17.doc
Скачиваний:
3
Добавлен:
01.05.2025
Размер:
50.18 Кб
Скачать

Обработка бестиповых файлов

В языке программирования Паскаль есть особый обобщённый тип файла, который можно назвать бестиповым.

В этом файле можно хранить данные любого типа. Описание бестиповой файловой переменной происходит следующим образом:

VAR Имя: file;

После описания такой файловой переменной она обычным способом с помощью процедура Assign должна быть связана с реальным файлом на диске. При открытии бестиповых файлов следует использовать расширенный синтаксис процедур reset и rewrite.

Reset(var f: File; BufSize: Word);

Rewrite(var f: File; BufSize: Word);.

BufSize определяет количество байт, считываемых или записываемых в файл данных за одно обращение к нему. Если этот параметр отсутствует, то используется значение, устанавливаемое по умолчанию (128) при открытии файла. Для большей гибкости рекомендуется установить размер блока 1 байт.

Для записи данных в бестиповой файл используется процедура BlockWrite:

BlockWrite(var f: File; var x, count: Word; var WriteCount: Word);

x – имя переменной, из которой данные записываются в файл;

count – количество блоков размером Bufsize, записываемых в файл;

WriteCount – количество блоков размером Bufsize, записанных в файл.

BlockWrite записывает в файл, связанный с файловой переменной f Count блоков, из переменной x. При корректной записи в файл возвращаемое процедурой BlockWrite значение WriteCount должно совпадать с count.

Для чтения данных из бестипового файла используется процедура BlockRead:

BlockRead((var f: File; var y, count: Word; var ReadCount: Word);

y – имя переменной, в которую считываются данные из файла.

count – количество блоков размером Bufsize,считываемых из файла;

WriteCount – количество блоков размером Bufsize, считанных из файла.

BlockRead считывает из файла, связанного с файловой переменной f Count блоков в переменную y. При корректном чтении из файла возвращаемое процедурой BlockRead записывает в файл, связанный с файловой переменной f Count блоков, из переменной x. При корректной записи в файл возвращаемое процедурой BlockWrite значение WriteCount должно совпадать с count. [л.1]

Таблица 2

Имя

Название устройства

Назначение

Con

Клавиатура и экран

Вывод из Con – это чтение с клавиатуры, вывод в Con – запись на экран

Prn

Принтер

Вывод на принтер

Lpt1

Параллельные порты

Через эти имена происходит вывод данных на принтер или другие устройства

Lpt2

Lpt3

Com1

Последовательные порты

Подключение к портам

Com2

Nul

Фиктивное устройство

Это бездонный файл, принимающий что угодно, но всегда пустой

Индивидуальное задание

1)Создать текстовый файл и записать в него 2 экземпляра записей, созданных на предыдущей лабораторной работе.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]