Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Запись информации в файл

Закрытие файла

После завершения работы с файлом его закрывают с помощью оператора:

Close [<список_номеров_файлов>]

Если номер закрываемого файла не указан, закрываются все открытые файлы.

Пример 19.28. Закрытие файлов

Close # 1; #2; #4 ' закрытие файлов, ранее открытых под номерами 1, 2, 4

Close ' закрытие всех открытых файлов

Существует несколько операторов вывода информации в файл.

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 #1; Sps(5); "Код" Вставка 5 отступов перед печатью слова
Print #1; Tab(10); "Код" Позиционирование в колонку 10
MyBool=False Присвоение значений переменным различного типа
MyDate=#February 12, 1969# MyNull=Null MyError=CVErr(32767)  
Print #1; MyBool; Print #1; MyDate; "это дата" Print #1; MyNull; "это пустое значение" Print #1; MyError; "код ошибки" Печать значения переменной в файл
Close#1 Закрытие файла

Результаты вывода:

Печать любого текста

Код Наименование

Код Наименование

Код

Код

False

February 12, 1969 - это дата

Nul - это пустое значение

Error 32767 - это код ошибки

2. Запись в последовательный файл

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

Write #номер_файла; [<выходной_список_переменных>]

Для данных числового типа используется символ точка для десятичной точки, В отличие от оператора Print при записи в файл автоматически вставляются специальные символы- разделители:

  • запятая - между элементами;
  • двойные кавычки - вокруг символьных данных.

· В запись файла вставляется символ возврата каретки (переход на новую строку - запись файла).

Пример 19.30. Запись информации в последовательный файл

Текст программы Комментарий
Open 'FILE" For Output As #1 Write #1;"⌠Всем привет!'; 1234567890 Write #1; Открытие файла для печати Записать символьной строки и числа Вставка пустой строки
MyBool=False MyDate="February 12, 1969" MyNull=Null MyError=CVErr(32767) Присвоение значений переменным
Write #1;; MyBool; Write #1; MyDate; Write #1; MyNull; Write #1; MyError; Запись значений переменных в файл
Close#1 Закрытие файла

Результат вывода:

"Всем привет!",1234567890

#FALSE#,"February 12, 1969",#NULL#,#ERROR 32767#

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=Number ═MyRecord.Name ="Запись номер" & RecordNumber Формирование содержимого записи
Put #1, RecordNumber, MyRecord Непосредственная запись в файл
Next RecordNumber Close #1 Конец цикла Закрытие файла
<== предыдущая лекция | следующая лекция ==>
Открытие файла. VBA работает с хранимыми на диске файлами двух типов: последовательного и произвольного доступа | Позиционирование на запись в файле
Поделиться с друзьями:


Дата добавления: 2014-01-11; Просмотров: 346; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.008 сек.