Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Тема_11Запись данных в файл.doc
Скачиваний:
1
Добавлен:
20.12.2018
Размер:
105.98 Кб
Скачать
      1. Запись в файл

При использовании оператора Print данные, записываемые в дисковый файл, формируются в пригодную для чтения форму, подобную текстовому документу. Если вы предполагаете читать эти данные программами на Visual Basic, то их следует записывать не оператором Print, а оператором Write. Оператор Write работает подобно оператору Print, но сохраняет существовавшие кавычки и разделяет выводимые данные запятыми. Эти запятые и кавычки упрощают Visual Basic определение конца одного элемента данных и начала другого. Если предполагается сохранить данные, а затем прочесть их программой, то вместо оператора Print воспользуйтесь оператором Write.

Оператор Write отделяет каждый элемент данных запятой и заключает каждую строковую величину в кавычки. Строки, возвращенные функцией Format(), также заключаются в кавычки. Использование кавычек и запятых для разделения отдельных элементов данных значительно упрощает применение оператора Input (описываемого в следующем пункте). Без них было бы практически невозможно определить, где кончается один записанный элемент и начинается следующий.

      1. Чтение из файла

Для чтения данных из файла применяются операторы Input и LineInput. Первым аргументом каждого из этих операторов являются символ (#) и файловое число, затем следует запятая, отделяющая указатель файла, подлежащего чтению. Далее следуют аргументы— имена переменных, которым присваиваются прочитанные из файла значения.

В операторе Input переменные, следующие после запятой, определяют порядок и количество данных, которые будут прочитаны из файла. Пробелы и табуляторы, расположенные в начале строки, игнорируются. Если переменная должна принимать числовые значения, то Visual Basic пытается прочесть из файла число. Первый непустой символ рассматривается как начало числа, и Visual Basic продолжает чтение до тех пор, пока не встретится какой-нибудь символ, который не может быть частью числа (например, пробел, запятая, алфавитный символ или конец строки). Если переменная является строковой, то Visual Basic читает эту строку начиная с первого непустого символа и прекращает чтение, если встречает запятую или конец строки.

Если первый непустой символ является символом ("), то первым символом, прочитанным в строку, будет первый символ после символа (") и чтение будет продолжено до тех пор, пока не встретится второй символ (") или конец строки, т.е. будут прочитаны все символы, заключенные в кавычки, включая запятые.

Как видите, операторы Write и Input спроектированы для совместной работы в целях записи данных в файл и последующего их чтения. С другой стороны, оператор Print спроектирован для создания текстового файла, подлежащего чтению пользователем.

Оператор LineInput является дополнением оператора Input. Оператор LineInput присваивает единичному строковому аргументу все символы, обнаруженные в единичной строке файла. Строковому аргументу —переменной присваиваются все символы, включая начальные пробелы, запятые и кавычки. Оператор Line Input применяется для чтения в программу точной копии содержимого строки файла. Единственными символами, не пересылаемыми оператором Line Input, являются символы возврата каретки и перевода строки, рассматриваемые как конец строки.

Например, на панели Immediate используем операторы Input и Line Input для чтения содержимого текстового файла Exempl2.TXT:

Число, изображенное здесь, равно 12.643 и т.д.

“Число, изображенное здесь, равно 12.643 и т.д.”

“Число, изображенное здесь, равно” 12.643 и т.д.”

“Число, изображенное здесь, равно” 12.643 и т.д.”

234 23 456

Оператоы

Их результат работы

Open "SCRATCH.TXT" For Input As 100

Оператор открывает файл

Input #100, B$, С$, D$

Оператор читает из первой строки файла в три отдельные строковые переменные:

Print B$

Число

Print C$

изображенное здесь

Print D$

равно 12.643 и т.д.

Input #100, B$

Оператор читает из второй строки файла в одну строковую переменную:

Print B$

Число, изображенное здесь, равно 12.643 и т.д.

Input #100, B$, а

Оператор читает третью строку файла в строковую и числовую переменные:

Print B$

Число, изображенное здесь, равно

Print а

12.643

Line Input #100, B$

Оператор читает четвертую строку файла и вся строка, включая запятые и кавычки, будет передана в строковую переменную:

Print B$

"Число, изображенное здесь, равно" 12.643 и т.д.

Input #100, е, f, g

Оператор читает пятую строку файла в три числовые переменные (пробелы между числами будут восприняты как разделители):

Print e

Print f

Print g

234

23

456

Close #100

Оператор закрывает файл

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