- •Основы алгоритмических языков программирования Понятие о языках программирования. Современные языки программирования высокого уровня
- •Лексические единицы языков программирования
- •Интегрированные среды разработки программ
- •История развития технологии vba
- •Интегрированная среда разработки vba
- •Составные части vba-проекта. Добавление пользовательского кода
- •Вывод отладочных сообщений. Пошаговое выполнение и инструменты отладки
- •Концепция памяти. Переменные и их декларация в языках программирования
- •Управляющие структуры выбора
- •Структурные операторы в алгоритмических языках программирования
- •Данная логическая операция имеет следующую таблицу истинности, в которой «0» соответствует значению false, а «1» – true (табл 1).
- •Остальные логические операторы являются двухоперандными. Операция логического умножения and имеет следующую таблицу истинности (табл 2):
- •Наконец операция логического исключающего или представляется следующей таблицей истинности (табл 4):
- •Реализация управляющих структур выбора в vb
- •Циклические управляющие структуры
- •Реализация циклических управляющих структур в vb
- •Цикл с постусловием имеет похожий синтаксис:
- •Основные положения процедурного программирования
- •Реализация процедурного программирования в Visual Basic
- •Фундаментальные структуры данных
- •Массивы в vb
- •Агрегация разнородных типов. Структурные типы данных
- •Тип данных определяемый пользователем в vb
- •Основы объектно-ориентированного программирования
- •Реализация основных идей объектно-ориентированного программирования в языке vb. Поля и методы. Конструирование объекта класса. Адресная природа объекта класса
- •Свойства и события в vb. Связь объекта класса и его клиентов
- •Интерфейс класса в vb и его наследование
Агрегация разнородных типов. Структурные типы данных
Наряду с ранее рассмотренными массивами все языки программирования предоставляют в распоряжение разработчика так называемый структурный тип данных(structural data type). Структурный тип служит для инкапсуляции в единый объект данных информации содержащейся в нескольких разнородных объектах скалярного или другого структурного типа. Существование структурного типа в ЯП имеет важнейшее значение. Это обусловлено тем, что информация об объектах реального мира, которые мыслятся как единое целое, также должна быть представлена в информационной модели программы в виде совокупности монолитных информационных объектов. Очевидно также, что при реализации алгоритмов обработки данных, т.е. операционной модели программы, значительно более удобно оперировать с данными, представленными в виде одного комплексного объекта, а не набора отдельных разнородных переменных. Базовая реализация структурных типов сходна во всех языках программирования и отличается, в основном только синтаксически.
Тип данных определяемый пользователем в vb
Для декларации пользовательского типа данных в VB используется оператор TYPE, указание которого разрешено только на уровне модуля, тогда как объявление пользовательского типа внутри подпрограммы невозможно. Структура оператора TYPE имеет следующий вид:
[Private | Public] Type <name>
<elementname> As <type> [<elementname> As <type>] . . .
End Type
Указание необязательного спецификатора PRIVATEограничивает область видимости объявляемого типа модулем, в котором располагается декларация. Напротив, ключевое слово PUBLIC расширяет область видимости типа до уровня проекта. Элемент <name> определяет идентификатор объявляемого пользовательского типа, к которому предъявляются общие требования к идентификаторам языка. Между ключевыми словами TYPE и END TYPE располагаются описания составных частей структурного типа, так называемыеполя. Такие описания подобны описанию обыкновенных переменных, хотя при этом не опускаются ключевые слова DIM,PRIVATEиPUBLIC. Тип составных частей структуры может быть произвольным: скалярные и другие структурные типы, объектные типы и даже массивы. Например:
Private Type CDateTime
Day As Byte
Month As Byte
Year As Integer
End Type
При использовании пользовательских типов важно понимать, что декларация самого типа не приводит к резервированию ячеек памяти для хранения реальных данных. Объявление типа означает лишь создание шаблона на основе которого будет распределена физическая память при объявлении переменной данного структурного типа. Переменная пользовательского типа объявляется, как и любая другая переменная. Например:
Dim BirthDay As CDateTime
Для доступа к составным частям такой переменной используется специальный оператор, который получил название селектора поля, который синтаксически представляется символом «точка». Например:
BirthDay.Day = 9
BirthDay.Month = 5
BirthDay.Year = 1975
Последовательность операций доступа к полям переменной структурного типа могут быть выполнены с помощью специального оператора WITH:
With < structure>
[statements]
End With
Этот оператор позволяет указав имя структуры < structure> после ключевого слова WITH пропустить его в операторе доступа к поля переменной структурного типа:
With MyLabel
.Height = 178
.Width = 80
.Name = "Leo"
End With
В VBдопустимо использование вложенных пользовательских типов, когда поле структуры само имеет структурный тип. Например:
Public Type CLable
BirthDay As CDateTime
Name As String
Height As Integer
Width As Integer
End Type
Как и любые другие операторы, оператор WITH может быть вложенным:
With MyLabel
With BirthDay
.Day = 9
.Month = 5
.Year = 1975
End With
. . .
End With
Однотипные структурные переменные могут участвовать в операциях присваивания:
Dim MyLabel As CLable
Dim YourLabel As CLable
. . .
YourLabel = MyLabel
