Студопедия.Орг Главная | Случайная страница | Контакты | Мы поможем в написании вашей работы!  
 

Теоретическая часть. Пользователь может объявить в программе собственный тип данных, представляющий логически связанный набор из нескольких переменных стандартных типов



Пользователь может объявить в программе собственный тип данных, представляющий логически связанный набор из нескольких переменных стандартных типов, выступающий под одним именем. Переменную пользовательского типа данных часто называют записью, а элементы (компоненты) записи - полями. Например, если в программе используются имя, фамилия и другие данные разных людей, то переменная, содержащая все данные по одному человеку, может быть объявлена как переменная типа Person.

Private Type Person

Name As String * 15 'Имя

Surname As String * 15 'Фамилия

BirthDay As Date 'Дата рождения

Comments As String * 40 ‘Дополнительные данные

End Type

Так как все записи в файле произвольного доступа должны иметь одинаковую длину, то при объявлении типа поля прямо указывается длина строкового элемента. Если значение будет меньше указанной длины, Visual Basic заполнит недостающее пространство пробелами, если больше - то лишние символы отбрасываются. После определения пользовательского типа данных необходимо объявить переменную, которая будет иметь этот тип:

Dim Student As Person, x As Integer ’Описание переменных

X=Len(Student) ’Определение длины записи = 78 байт

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

При открытии файла указывается длина записи. Это и дает возможность отсчитать определенное количество байт и выбрать нужную запись или записать данные в указанную запись. Синтаксис оператора открытия файла:

Open <Имя_файла> For Random As <Дескриптор> Len = <Длина записи>

Ключевые слова For Random задают произвольный тип доступа, то есть не делается различия между файлами для записи и для чтения, как в текстовых файлах. Если указанная длина записи меньше, чем действительная, то генерируется ошибка.

Тип данных можно объявить в отдельном программном модуле, где находится код, не связанный ни с какой формой. Программный модуль добавляется в проект командой Add Module из меню Project. В модуле формы нужно объявить пользовательский тип, переменную пользовательского типа и переменную для отслеживания текущей записи с областью видимости Public.

Закрытие файла прямого (произвольного) доступа осуществляется оператором Close.

Для включения в файл новой записи применяется оператор Put:

Put #<ДескрипторФайла>,<НомерЗаписи>,<ИмяПеременной>

НомерЗаписи – это номер переменной пользовательского типа, значением которой является запись, помещаемая в файл.

ИмяПеременной – это имя переменной пользовательского типа, значением которой является запись, помещаемая в файл.

Для извлечения записи из файла применяется оператор Get, имеющий синтаксис:

Get #<ДескрипторФайла>,<НомерЗаписи>,<ИмяПеременной>

НомерЗаписи – это номер извлекаемой из файла записи.

ИмяПеременной – это имя переменной пользовательского типа, значением которой является запись, извлекаемая из файла.

Чтобы удалить запись в файле произвольного доступа следует создать новый файл и скопировать в него все записи, за исключением удаляемой. Исходный файл можно удалить оператором Kill <имя_файла>, а новый переименовать оператором Name <Старое_имя>. As <Новое_имя>.

Функция FileLen (<Путь и имя_файла>) – возвращает размер файла в байтах до его открытия оператором Open. Функция LOF (<ДФ >) – возвращает размер открытого файла в байтах.





Дата публикования: 2014-12-28; Прочитано: 232 | Нарушение авторского права страницы | Мы поможем в написании вашей работы!



studopedia.org - Студопедия.Орг - 2014-2024 год. Студопедия не является автором материалов, которые размещены. Но предоставляет возможность бесплатного использования (0.007 с)...