Запись информации в файл
Существует несколько операторов вывода информации в файл.
1. Печать в последовательный файл
Данный оператор обеспечивает запись форматированного вывода в последовательный файл текстового типа – по аналогии с функцией печати:
Print #номер_файла; [<выходной_список_переменных>]
Выходной список печати может содержать:
[{Spc(n) | Tab[(n)]}] [<выражение>] [charpos]
где Spc(n) - длина пустой строки;
Tab(n) - печать с указанной позиции;
<выражение> - выражение числового или символьного типа;
charpos - определяет позицию вставки для следующего символа. Символ ; обеспечивает
переход на другую строку (к другой записи файла).
Если последовательный файл должен затем считываться, не рекомендуется применять оператор Print.
Пример 19.29.Печать в последовательный файл
Текст программы | Комментарий |
Open "FILE" For Output As #1 Print # 1 ; "Печать любого текста" Print #1; Print #1; "Код"; Tab ; "Наименование" Print #1; "Код" ; " " ; "Наименование" Print #l;Spc(5); "Код" Print #l;Tab(10); "Код" MyBool = False MyDate = #February 12, 1969# MyNull = Null MyError = CVErr(32767) Print #1; MyBool; Print # 1; MyDate; " это дата " Print # 1 ; MyNull; " это пустое значение" Print #1 ; My Error; " код ошибки" Close #1 | Открытие файла для печати Вывод в файл текстовой строки Вставка пустой строки Вывод в две колонки Разделение двух слов пробелом Вставка 5 отступов перед печатью слова Позиционирование в колонку 10 Присвоение значений переменным различного типа Печать значения переменной в файл Закрытие файла |
2. Запись в последовательный файл
В последовательный файл запись информации выполняется командой:
Write#номер_файла; [<выходной_список_переменных>]
Для данных числового типа используется символ точка для десятичной точки. В отличие от оператора Printпри записи в файл автоматически вставляются специальные символы-разделители:
запятая – между элементами;
двойные кавычки – вокруг символьных данных.
В запись файла вставляется символ возврата каретки (переход на новую строку – запись файла).
Пример 19.30.Запись информации в последовательный файл
3. Вывод данных в файл произвольного доступа
Вывод данных выполняется оператором:
Put [#номер_файла; [#записи],<переменная>
где #записи - номер записи для файла произвольного доступа либо номер байта, с которого начинается запись, для двоичного файла. Если номер не указан, используется следующий за последним использованным в операторах Get, Put, Seek.
Пример 19.31.Запись в файл произвольного доступа
Текст программы | Комментарий |
Type Record ID As Integer Name As String * 20 End Type Dim MyRecord As Record Open "TESTFILE" For Random As #1 Len = Len(MyRecord) For RecordNumber = 1 To 5 MyRecord.ID = RecordNumber MyRecord.Name = "Запись номер -" & RecordNumber Put #1, RecordNumber, MyRecord Next RecordNumber Close #1 | Объявление пользовательского типа данных для записи Объявление переменной на основе пользовательского типа данных Открытие файла произвольного доступа с длиной, соответствующей длине объявленного типа Организация цикла для записи в файл Формирование содержимого записи Непосредственная запись в файл Конец цикла Закрытие файла |