- •Лабораторная работа №2 использование файлов в решение задач
- •Общие сведения
- •Пример решения задачи Постановка задачи
- •Экономико-математическая модель
- •Структура данных
- •'Общие описания
- •Private Sub Command1_Click() ‘ Занесение данных в файл 'Ввод данных по виду продукции
- •'Запись в файл
- •'Очистка полей от предыдущих данных
- •Контрольные вопросы.
Лабораторная работа №2 использование файлов в решение задач
Цель: получить навыки работы с файлами и типом данных пользователя.
Назначение: изучить тип данных пользователя и средства работы с файлами. Получить знания, позволяющие лучше понимать суть сложных типов данных, записей и файлов с произвольным доступом. Именно эти понятия лежат в основе построения баз данных. Полученные знания понадобятся в дальнейшей работе с базами данных в среде Access.
Общие сведения
Тип данных пользователя (user-defined types) представляет собой объединение заранее определенного количества элементов, называемых полями.
Каждое поле в типе данных пользователя определяется именем и типом. Тип данных пользователя определяют с помощью ключевого слова Type следующим образом:
Type Имя_типа
Элемент 1[( [Размерность] )] As Тип
[ Элемент 2[ (Размерность] )] As Тип
…
End Type
Переменная типа данных пользователя описывается оператором Dim.
Строковые поля в типе данных пользователя могут иметь только фиксированную длину (например, String*10 состоит из десяти символов). В именах переменных типа данных пользователя используется префикс udt (иногда usr). Тип, который используется как элемент в другом, более сложном, типе, необходимо описать до его использования.
Поля переменной типа данных пользователя могут употребляться в разных операторах кода также, как и простые переменные. Обращение к ним подобно обращению к свойствам объектам с использование точки после имени переменной.
Для того чтобы раз за разом не повторять имя такой переменной, используют оператор присоединения With, он имеет следующий вид:
With <переменная>
[<операторы>]
End With
Внутри оператора With можно обращаться к полям переменных типа данных пользователя по имени, перед которым ставится точка.
Для работы с файлами в режиме произвольного доступа его необходимо открыть оператором Open:
Open Имяфайла For Random [Access Операция] [Блокирование]
As [#] Дескриптор [Len = ДлинаЗаписи]
где ИмяФайла – выражение строкового типа, задающее имя файла.
Для записи данных в файл используются оператор Put, а для чтения – оператор Get. Эти операторы имеют вид:
Put #Дескриптор, НомерЗаписи, Переменная
Get #Дескриптор, НомерЗаписи, Переменная
Для закрытия файлов используется оператор Close вида:
Close [#] [списокДескрипторов ]
Если список дескрипторов отсутствует, то закрываются все открытые файлы.
Для переименования файла используют оператор Name, который имеет вид: Name СтароеИмя As НовоеИмя
Копируют файл с помощью оператора FileCopy, который имеет вид:
FileCopy ИмяВыходногоФайла, ИмяЦелевогоФайла
Чтобы удалить файл с определённым именем, применяют оператор Kill, который имеет вид: Kill ИмяФайла
Во всех этих операторах имя файла задается строковым выражением.
Поскольку все записи в файле с произвольным доступом имеют одинаковую длину, то, зная общую всего файла, можно определить количество записей в нём с помощью оператора:
IntКоличество_записей =LOF (x)/Len(udtСведения),
где LOF(x) – функция, определяющая общую длину файла, связанного с каналом х (LOF – сокращение от Length of File).