КАТЕГОРИИ: Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748) |
Описание доступности модулей, процедур и функций
В главе 1 в качестве одной из технологических идей программирования было рассмотрено регулирование доступности различных данных и блочных структур в других блочных структурах. Примером блочной структуры является модуль, который в проект добавляется командой "Проект/Добавить модуль" ("Project/Add Module") или кнопкой "Добавить …". Добавленный таким образом модуль становится доступным всем проектам. Для этого достаточно зарегистрировать его в другом проекте командой "Проект/Добавить файл" ("Project/Add File"). При выборе команды открывается окно выбора файлов, и в проект можно добавить любой видимый в окне файл, даже если он находится в другом каталоге. Нередко бывает необходимо сделать модуль недоступным для других проектов. Для этого достаточно в первой строке кода модуля поставить оператор "Option Private Module". Тогда при добавлении файлов в другие проекты он становится невидимым в окне выбора файлов, а следовательно, и недоступным для других проектов. В модуле можно описывать данные (см. 4.2), процедуры и функции. При их описании возникают аналогичные задачи – обеспечение доступности данных вне модуля и ограничение доступности пределами модуля. Если заголовку процедуры или функции предшествует слово public, то процедура или функция доступны за пределами модуля, слово private ограничивает доступ к ним пределами модуля. Видимость модулей и описанных внутри них процедур и функций показана на рис. 4.1 .
Рис. 4.1. Доступность модулей и описанных в них процедур и функций
4.2. Описание данных Описание данных выполняется с целью сообщить операционной системе символьные эквиваленты адресов данных, их типы и доступность данных в различных блочных структурах. Понятие о типах данных и их доступности разобраны в главе 1. Описание данных возможно в модулях, в секции General кода программы формы и внутри описания процедуры и функции. В любом случае оператор описания изменяемых данных имеет вид: Public Private Имя_данного [(размерность)] As тип Dim Слово Public указывает доступность данного за пределами блочной структуры, слова Private и Dim ограничивают доступность данных пределами той блочной структуры (модуля, процедуры, функции), в которой эти данные описаны (рис. 4.2). Судя по описанию языка, слова private и dim – синонимы.
Рис. 4.2. Доступность данных, описанных в разных блочных структурах На рис. 4.2 показаны блочные структуры двух проектов – формы и модули первого проекта и один модуль второго проекта. Жирным шрифтом выделены элементы описания данных, имеющие значение для понимания рисунка, и имена данных, доступных в разных структурах. Тип данных (табл. 1.1.) определяет место в оперативной памяти, отводимое для данных и возможные операции над данными. Задание параметра "размерность" указывает на организацию данных в виде массива. Если параметр пуст (т.е. внутри скобок ничего нет), то массив динамический, и он в дальнейшем должен быть определен оператором ReDim. Если параметр не пуст, то описание размерности имеет вид: нижняя_граница to верхняя_граница или нижняя_граница1 to верхняя_граница1, нижняя_граница2 to верхняя_граница2 или нижняя_граница1 to верхняя_граница1, нижняя_граница2 to верхняя_граница2, …, нижняя_границаN to верхняя_границаN, где нижняя_граница – наименьшее значение индекса элемента массива, верхняя_граница – наибольшее значение индекса элемента массива. В первом случае описан одномерный массив (строка или столбец), во втором – двухмерный (таблица), в третьем – многомерный. Это описание размерности необходимо использовать и в операторе ReDim. Описание данных постоянных во время выполнения программы имеет вид: Public Const Имя_константы as тип = выражение Private Примеры описания данных приведены в табл. 4.1. Таблица 4.1 Примеры описания данных
Очень распространенной операцией является преобразование типов данных. Особенно это касается операций ввода данных с клавиатуры и вывода данных на экран или печать. Традиционными операторами преобразования типов являются встроенные функции int, val, str, asc и chr. В языке Visual Basic предусмотрены и новые операторы преобразования типов данных. Наиболее часто встречающиеся операторы преобразования типов данных приведены в табл. 4.2. Операторы преобразования типов данных встречаются в правой части оператора присваивания значения переменной, в любой части логического выражения, сравнивающего две величины, а также в списке вывода: · a=int(b) 'преобразовать данные, записанные по адресу b в целый тип и результат записать по адресу a, · if chr(f)="n" 'если результат преобразования данных по адресу f есть буква "n", · write #1, a, val(b) 'пишутся в файл данные с именем а и результат преобразования данных, размещенных по адресу b из строкового в численный тип. Таблица 4.2 Операторы преобразования типов данных
Для описания сложных типов данных служит оператор Type – End Type: Type Имя_типа Имя_поля_1 as тип_1 Имя_поля_2 as тип_2 ... Имя_поля_n as тип_n End Type Имена полей являются именами переменных, из которых конструируется сложный тип данных. В качестве полей могут быть использованы статические и динамические массивы, в том числе и строковые постоянной и переменной длины. Описание сложного типа оператором Type – End Type используется только на уровне модуля. Доступность этого описания регулируется обычным способом с помощью слов Public и Private. Пример. Описание типа Student (табл. 3.1), дополненное массивом оценок, имеет вид: Type Student Type Student FIO as string FIO as string*60 Psevdo as string или Psevdo as string*20 NumDel as string NumDel as string*10 Ocenki (1 to 54) as integer Ocenki (1 to 54) as integer End Type End Type Во втором случае строковые данные FIO, Psevdo и NumDel имеют фиксированную длину в 60, 20 и 10 байт соответственно. Описание данных сложного типа выполняется так же, как и описание данных простого типа.
Дата добавления: 2014-11-29; Просмотров: 470; Нарушение авторских прав?; Мы поможем в написании вашей работы! Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет |