РАБОТА С ФАЙЛАМИ В VBA. ФАЙЛЫ ПРОИЗВОЛЬНОГО И БИНАРНОГО ДОСТУПА



ПРАКТИЧЕСКАЯ РАБОТА

РАБОТА С ФАЙЛАМИ В VBA. ФАЙЛЫ ПОСЛЕДОВАТЕЛЬНОГО ДОСТУПА

Цели работы:

· познакомиться с типами файлов;

· освоить процедуры чтения, записи и обработки файлов;

· научиться обрабатывать информацию, хранящуюся в файлах последовательного доступа.

ЗАДАНИЯ

1. Файл - это поименованная область внешней памяти. С точки зрения программы работа с файлом делится на этапы: открытие файла с учетом типа доступа и присваивание ему уникального номера, процесс чтения и/или записи в зависимости от способа доступа и закрытие файла. Существует три типа файлов: последовательного доступа, произвольного доступа и бинарные.

2. Файлы последовательного доступа еще называют текстовыми файлами, так как в них информация храниться в виде текста - строк разной длины[1]. Даже если записывать в него числа, то перед выводом они превращаются в строку. Их особенность является то, что при открытии однозначно выбирается направление информационного потока: либо запись (Output), либо чтение (Input), либо дозапись в конец (Append). Так как элементы файла имеют разную длину, то попасть в конкретную позицию файла можно только, начав читать с начала и прочитав последовательно весь текст до этой позиции (отсюда и название). Начнем с создания файла - Output. Если файл не существует, то он создается, если существует, тогда стирается все его содержимое. Строчки будем считывать из ячеек первого столбца (пока там есть информация), и записывать их построчно в файл с добавлением номера строки в начале. Запись осуществляется командой Print, причем каждый раз после выполнения команды в файл автоматически добавляется признак конца строки. Файл закрывается командой Close.

Sub outFile()

Open "exampl.txt" For Output As #1

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

j = 1

Do Until Cells(j, 1) = ""

Запись осуществляем до тех пор пока не встретиться пустая ячейка

Print #1, j, Cells(j, 1) 'выводим в файл номер строки и содержимое j-ой ячейки 1-го столбца

   j = j + 1 'увеличиваем номер строчки

Loop

Close #1 'обязательно нужно закрыть файл!

End Sub

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

3. Следующий этап - это чтение из файла - Input. Открывать на чтение можно только существующий файл! При чтении важно знать, не достигнут ли конец файла (точнее его признак EOF), чтобы вовремя остановить чтение, так как чтение из конца файла невозможно. Функция EOF истинна, если достигнут конец файла. Чтение осуществляется двумя командами Input и Line Input. В первом случае читается информация поэлементно, (например, в нашем случае сначала будет считываться число, а затем строка), а во втором случае - чтение будет осуществлять строкой (т.е. и номер, и строка представляют собой одну строку). Проиллюстрируем сказанное:

Sub inFile()

i = 1

Open "exampl.txt" For Input As #1

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

Do While Not EOF(1) ' Повторяем, пока не конец файла

   ‘Line Input #1, j ‘читаем всю строку

   Input #1, j ‘читаем элемент файла

   Cells(i, 1) = j

    i = i + 1

Loop

Close #1 ' Закрываем файл

End Sub

Сравните результат работы подпрограммы с использованием команды Input и команды Line Input.

4. Пусть необходимо добавить строчку в файл. Как его открыть в этом случае? Если открыть как Output, тогда мы потеряем все содержимое файла, при открытии Input мы можем только читать, но не можем писать. Для этого случая существует Append - при открытии на запись указатель позиции устанавливается на конец файла - поэтому можно писать в конец. Допишем в конец нашего файла его имя:

Sub addFile()

Open "e:\exampl.txt" For Append As #1

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

Print #1, "e:\exampl.txt" 'выводим в файл его имя

Close #1 'обязательно нужно закрыть файл!

End Sub

Откройте файл в блокноте и посмотрите результат.

5. Напишите процедуру, которая будет считывать из файла строчки, преобразовывать их согласно заданию, выданному преподавателем, и записывать их в новый файл.

6. Самостоятельно напишите программу обработки файла, решающую поставленную преподавателем задачу.


ПРАКТИЧЕСКАЯ РАБОТА

РАБОТА С ФАЙЛАМИ В VBA. ФАЙЛЫ ПРОИЗВОЛЬНОГО И БИНАРНОГО ДОСТУПА

Цели работы:

· познакомиться с типами файлов;

· освоить процедуры чтения, записи и обработки файлов произвольного доступа и двоичных;

· научиться обрабатывать информацию, хранящуюся в файлах.

ЗАДАНИЯ

1. Файлы произвольного доступа еще называют типизированными файлами, так как в них информация храниться в виде однотипных элементов, занимающих одинаковый объем памяти. Именно тот факт, что все элементы имеют одинаковый объем, позволяет получить доступ непосредственно к любому элементу файла, так как его положение легко вычисляется как смещение от начала файла на Длина_компонента*(Номер_компонента-1). В отличие от файлов с последовательным доступом прочитать содержимое типизированного файла в текстовом редакторе нельзя[2], но можно одновременно читать и писать, открыв такой файл. Начнем с формирования файла произвольного доступа. В качестве источника будем использовать созданную ранее таблицу базы данных[3]. Каждая запись о сотруднике кафедры содержит разнотипные и разноформатные данные. Определим для хранения записи особый пользовательский тип:

Type Employee

ID As Integer

Family As String * 20

Name As String * 20

LenService As Integer 'стаж

Category As Integer

BirthDay As Date


Дата добавления: 2018-08-06; просмотров: 1100; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!