Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Глава19.docx
Скачиваний:
3
Добавлен:
25.08.2019
Размер:
2.42 Mб
Скачать

712 Глава 19. Инструментальные средства пользователя в среде microsoft office

Пример 19.31. Запись в файл произвольного доступа

I

Текст программы

Комментарий

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

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

Ввод информации из файла

1. Чтение данных из последовательного файла Чтение выполняется оператором:

Input #номер_файла; <список_переменных>

Двойные кавычки при считывании игнорируются, выполняется проверка соответ­ствия типов данных переменных и файла.

Пример 19.32. Запись в файл произвольного доступа

U

Текст программы

Комментарий

Open "FILE" For Input As #1

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

Do While Not EOF(l)

Цикл до конца файла

Input #1; My String; My Number

Чтение данных записи в переменные

Debug.Print MyString; MyNumber

Печать считанных данных

Loop

Конец цикла

Close #1

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

Другим оператором чтения из последовательного файла является Line Input #номер_файла; <переменная>

Оператор обеспечивает посимвольное считывание данных строки по файлу до обна­ружения символа "возврат каретки" (Chr(13)) и присвоение этих данных указанной пере­менной символьного типа.

19.2. Создание приложений на языке visual basic for applications

713

Пример 19.33. Построчное чтение из

файла последовательного доступа

Текст программы

Комментарий

Open "TESTFILE" For Input As #1

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

Do While Not EOF(l)

Цикл, пока не достигнут конец файла

Line Input #1, TextLine

Чтение строки в переменную

Debug.Print TextLine

Печать в окне Debug

Loop

Конец цикла

Close #1

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

2. Чтение данных из файла произвольного доступа

Данный оператор обеспечивает считывание записи файла произвольного доступа в указанную переменную:

Get Put [#номер_файла; [#записи],<переменная>

Пример 19.34. Чтение из файла произвольного доступа

Текст программы

Комментарий

Type Record

Объявление пользовательского типа

данных для записи

ID As Integer

Name As String * 20

End Type

Dim MyRecord As Record

Объявление переменной на основе

пользовательского типа данных

Open "FILE" For Random As #1

Len = Len(MyRecord)

Открытие файла произвольного доступа с

длиной, соответствующей длине

объявленного типа

Position = 3

Задание номера (индекса) записи

Get #1, Position, MyRecord

Формирование содержимого записи

Close #1

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

Позиционирование на запись в файле

Позиция в записи (номер байта или номер записи) для очередного чтения или записи в файл устанавливается оператором:

Seek [#] номер_файла; позиция

где позиция — число в диапазоне номеров байтов ( 1 - 2 147 483647) файла.

Для файла, открываемого в режиме последовательного доступа, с помощью оператора SEEK определяется байт.

Пример 19.35. Позиционирование в файле последовательного доступа

Текст программы

Комментарий

Dim MyChar As String

Объявление переменной на основе

пользовательского типа данных

Open "FILE" For Input As #1

Открытие файла произвольного

доступа с длиной, соответствующей

длине объявленного типа

MaxSize = LOF(l)

Вычисление количества байтов в

файле