Студопедия

КАТЕГОРИИ:


Архитектура-(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)

Option Private Module




Шаг 44 - Инструкция Option Private

Option Explicit

Шаг 43 - Инструкция Option Explicit

Налагает на уровне модуля требование на явное описание всех переменных этого модуля.

Замечания
Инструкция Option Explicit при ее использовании должна находиться в модуле до любой процедуры.
При использовании инструкции Option Explicit необходимо явно описать все переменные с помощью инструкций Dim, Private, Public, ReDim или Static. При попытке использовать неописанное имя переменной возникает ошибка во время компиляции.
Когда инструкция Option Explicit не используется, все неописанные переменные имеют тип Variant, если используемый по умолчанию тип данных не задается с помощью инструкции DefТип.
Пользуйтесь инструкцией Option Explicit, чтобы избежать неверного ввода имени имеющейся переменной или риска конфликтов в программе, когда область определения переменной не совсем ясна.

Пример
В данном примере инструкция Option Explicit заставляет разработчика явно объявлять все переменные. При попытке использования неописанного имени переменной возникает ошибка во время компиляции. Инструкция Option Explicit используется только на уровне модуля.

Option explicit ' Заставляет явно объявлять все переменные.

Dim MyVar ' Объявляет переменную.

MyInt = 10 ' Необъявленная переменная - причина ошибки.

MyVar = 10 ' Использование объявленной переменной

' не приводит к ошибке.

При использовании в главном приложении, допускающем взаимные ссылки из разных проектов, инструкция Option Private Module позволяет запретить ссылки на содержимое модуля извне проекта. В главных приложениях, не допускающих такие ссылки, например в автономной версии Visual Basic, инструкция Option Private не имеет последствий.

Инструкция Option Private при ее использовании должна находиться на уровне модуля перед любой процедурой.
Когда модуль содержит инструкцию Option Private Module, общие элементы, например, переменные, объекты и определяемые пользователем типы, описанные на уровне модуля, остаются доступными внутри проекта, содержащего этот модуль, но недоступными для других приложений или проектов.
Инструкция Option Private полезна только для главных приложений, которые поддерживают одновременную загрузку нескольких проектов и позволяют ссылки между загруженными проектами. Например, Microsoft Excel поддерживает загрузку нескольких проектов. В этом случае инструкция Option Private Module позволяет ограничить взаимную видимость проектов. Хотя Visual Basic допускает загрузку нескольких проектов, взаимные ссылки между проектами Visual Basic не разрешены.

Пример
В данном примере инструкция Option Private используется на уровне модуля, чтобы указать, что весь модуль является личным. После применения инструкции Option Private Module символы, определенные на уровне модуля и не объявленные личными (Private), будут доступны другим модулям в том же проекте, однако будут недоступны другим проектам и приложениям.

Option private Module ' Объявляет модуль личным.

Шаг 45 - Инструкция Print #

Записывает отформатированные данные в файл с последовательным доступом.

Print #номерФайла, [списокВывода]

Параметры:
номерФайла: Обязательный. Любой допустимый номер файла.
списокВывода: Необязательный. Выражение или список выражений, которые следует напечатать.
Ниже приведены допустимые значения аргумента списокВывода:

· Spc(n) - Используется для вставки пробелов в файл; здесь n число пробелов, которые следует вставить.

· Tab(n) - Устанавливает курсор в столбец с указанным номером; здесь n номер столбца. Tab без аргумента устанавливает курсор в начало следующей зоны печати.

· выражение - Числовые выражения или строковые выражения, которые следует напечатать.

· позиция - Указывает позицию, в которой следует печатать следующий символ. Для установки курсора сразу после последнего напечатанного символа используйте точку с запятой. Для установки курсора в столбец с указанным номером используйте Tab(n). Для установки курсора в начало следующей зоны печати используйте Tab без аргумента. Если аргумент позиция опущен, следующий символ печатается на следующей строке.

Замечания
Данные, записанные с помощью инструкции Print #, обычно считываются из файла с помощью инструкций Line Input # или Input.
Если аргумент списокВывода опущен, после аргумента номерФайла идет только разделитель списка, в файл печатается пустая строка. Для разделения выражений можно использовать пробелы или точки с запятой, которые в данной ситуации полностью эквивалентны.
При выводе логических данных (тип Boolean) в файл записываются слова True или False. Ключевые слова True и False не переводятся, вне зависимости от национальной настройки.
При выводе данных типа Date используется текущий краткий системный формат даты. Если компонент, описывающий дату или время, отсутствует или равен нулю, в файл записывается только имеющийся в наличии компонент.
Если списокВывода имеет значение Empty, в файл ничего не записывается. Однако если списокВывода имеет значение Null, в файл записывается ключевое слово Null.
Данные типа Error записываются в файл как Error кодОшибки. Ключевое слово Error не переводятся, вне зависимости от национальной настройки.
Инструкция Print # записывает в файл данные, отформатированные с учетом национальной настройки. Это означает, в частности, что используется соответствующий разделитель целой и дробной части числа.
Поскольку инструкция Print # записывает в файл отформатированные данные, необходимо использовать разделители данных, обеспечивающие правильную печать. Если Tab без аргумента используется для перемещения позиции вывода в начало следующей зоны печати, Print # также записывает пробелы между полями печати в файле.
Для записи в файл данных, который в будущем планируется читать с помощью инструкции Input #, следует вместо инструкции Print # использовать инструкцию Write #. Использование инструкции Write # гарантирует, что записанные данные будут корректно разделены, что позволит прочитать их с помощью инструкции Input #. Кроме того, файлы, записанные с помощью инструкции Write #, могут быть корректно прочитаны при наличии любых национальных настроек.

Пример
В данном примере инструкция Print # используется для записи данных в файл.

Open "TESTFILE" For Output As #1 ' Открывает файл для записи.

Print #1, "Пример" ' Печатает текст в файл.

Print #1, ' Печатает пустую строку в файл.

Print #1, "Зона 1"; Tab; "Зона 2" ' Печатает в двух зонах печати.

Print #1, "Пример"; " "; "всем" ' Строки разделяются пробелом.

Print #1, Spc(5); "5 пробелов" ' Печатает пять пробелов.

Print #1, Tab(10); "Привет" ' Печатает слово в столбце 10.

' Присваивает значения типа Boolean, Date, Null и Error.




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


Дата добавления: 2015-06-27; Просмотров: 609; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.013 сек.