А.Н. Павлов. Высокоуровневые методы информатики и программирования
4.5.1. Операторы языка Visual Basic для взаимодействия с файловой системой
Переменные, которые объявляются в модуле или процедуре программы, способны хранить и накапливать данные только во время работы с приложением. Пользователю требуется сохранять данные в виде файла (File) на каком-либо носителе информации, чтобы в последствии можно было воспользоваться для работы с другими приложениями. Приложение не работает с файлами напрямую, а использует в качестве посредника операционную систему Windows. Использование носителей информации для хранения файлов, позволяют организовать последовательные файлы и файлы с произвольным доступом.
Операторы языка, предназначенные для работы с последовательными файлами должны обеспечивать передачу информации операционной системе о действиях с файлами, к которым относятся: открытие файла, запись или чтение файла, закрытие операций работы с файлом.
Операция открыть текстовый файл содержит информацию о том, что организуется доступ к его содержимому, либо для записи в него новых данных, либо для чтения записанной в нем информации. Для открытия файла используется оператор Open, имеющий следующий синтаксис:
Open Имя файла For Режим
работы As #Дескриптор
файла
Open – имя оператора для открытия файла.
Имя файла – это либо строка символов, заключенная в кавычках, либо выражение, значение которого представляет собой путь (маршрут) к открываемому файлу.
Режим работы – это ключевое слово, которое определяет, что будет делаться с данными (существует три варианта):
Output – если файл открывается для записи данных на какой-либо внешний носитель, данные записываются в файл с первой позиции, все предыдущие данные, если они были записаны, будут стерты;
Append – если файл уже существует, то новые записи будут добавляться после последней записи;
Input – если файл открывается для чтения из него данных.
Дескриптор файла – это любое целое число (целое число обозначается символом # - решетка) от 1 до 511, которое служит идентификатором файла в операционной системе (если открывается одновременно несколько файлов, то все файлы должны иметь разные номера дескрипторов).
Операция записи данных в файл на носитель организуется с помощью операторов Write и Print, синтаксис записи оператора:
Write #Дескриптор файла, [Список значений]
или Print #Дескриптор файла, [Список значений]
Дескриптор Файла – должен обязательно совпадать с целым числом, которое определено в операторе Open.
Оператор Write просматривает последовательно список значений и записывает их через запятую в файл, после окончания записи ставит служебную пометку – конец записи.
Оператор Print применяется при форматировании данных в записи, для этого допускается использование функции Sps(n) – вставка n пробелов между данными или функции Tab(n) – для указания номера n позиции для записи следующего значения.
Операция чтения файла (доступ к внешнему носителю) можно организовать с помощью операторов Input и Line Input, которые имеют следующий синтаксис:
Input #Дескриптор файла Список переменных
Line Input #Дескриптор файла Переменная
Дескриптор файла – это целое число, совпадающее с идентификатором открытого файла.
Список переменных – должен совпадать со списком переменных и их типом, определенных при записи данных в файл.
Как правило, оператор Input используется в тех случаях, когда в файле существует несколько записей, которые просматриваются с помощью оператора цикла с условием. Оператор Line Input осуществляет считывание всей текстовой строки файла в оперативную память компьютера.