Изменение данных в файле произвольного доступа
Для изменения данных в записях файла (редактирование, добавление, удаление записей) применяется оператор Put #. При его использовании необходимо иметь в виду, что данные в записи будут заменены на те, которые мы передаем в файл. Подчеркнем, что новая запись с данными не создается.
Для добавления записей в файл необходимо указывать номер записи на единицу больший номера последней записи. В этом случае запись будет добавлена в файл, а не изменена. Например:
Put #номер_файла, последняя_запись + 1, имя_переменной
Для вычисления текущего номера последней записи можно использовать длину записи и размер файла, возвращаемый функцией LOF.
Перейдем к описанию процесса удаления данных из файла произвольного доступа. Существуют два способа. Можно просто очистить соответствующие поля указанных записей, то есть записать в них пустые значения. Однако в этом случае в файле остаются пустые записи. Понятно, что при таком подходе ресурсы (дисковое пространство) используются нерационально.
Для окончательного удаления записей рекомендуется перезаписывать данные в новый файл, пропуская пустые записи. Алгоритм этих действий таков:
1. Создайте новый файл с помощью оператора Open.
2. Перепишите все непустые записи в новый файл, используя оператор Put #.
3. Закройте исходный файл и удалите его при помощи оператора Kill.
4. Переименуйте новый файл в исходный оператором Name.
Получаем тот же самый файл, но уже без пустых записей. При этом экономится пространство диска и время поиска данных в таком файле.
- Лабораторная работа №13.
- Тема: Файлы в Visual Basic.
- Теоретическая часть.
- Традиционный подход при работе с файлами
- Открытие файлов
- Input #номер_файла, имя_переменной1, имя_переменной2, …
- Переход на заданную позицию в файле
- Запись данных
- Работа с файлами произвольного доступа
- Чтение данных из файла произвольного доступа
- Seek #номер_файла, позиция
- Запись в файл произвольного доступа
- Изменение данных в файле произвольного доступа
- Работа с двоичными файлами
- Пример двоичного файла
- Замечание