Студопедия

КАТЕГОРИИ:


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

Шаг 11 - Инструкция Declare




Dim MyDate

Шаг 10 - Инструкция Date

Устанавливает текущую системную дату:

Date = дата

Параметры: дата
Для компьютеров, работающих под управлением Microsoft Windows 95, аргумент дата должен задавать дату в интервале от 1 января 1980 года до 31 декабря 2099 года. Для компьютеров, работающих под управлением Microsoft Windows NT, дата в интервале от 1 января 1980 года до 31 декабря 2079 года.

Пример
В данном примере инструкция Date используется для установки системной даты. В среде разработчика дата изображается в кратком формате с использованием текущих национальных настроек.

MyDate = #February 12, 1985# ' Присваивает дату.

Date = MyDate ' Изменяет системную дату.

 

Применяется на уровне модуля ссылок на внешние процедуры в библиотеке динамической компоновки (DLL).

[ Public | Private] Declare Sub имя Lib "имяБиблиотеки" [Alias "псевдоним"] [([списокАргументов])]

[Public | Private] Declare Function имя Lib "имяБиблиотеки" [Alias "псевдоним"] [([списокАргументов])] [As тип]

Параметры: Public: Необязательный. Используется для описания процедур, которые доступны для всех других процедур во всех модулях.
Private: Необязательный. Используется для описания процедур, которые доступны только в модуле, в котором выполняется описание.
Sub: Необязательный (должно быть указано одно из ключевых слов Sub или Function). Указывает, что процедура не возвращает значение.
Function: Необязательный (должно быть указано одно из ключевых слов Sub или Function). Указывает, что процедура возвращает значение, которое может быть использовано в выражении.
Имя: Обязательный. Любое допустимое имя процедуры. Следует помнить, что вход в библиотеки динамической компоновки осуществляется с учетом регистра.
Lib: Обязательный. Указывает, что описываемая процедура содержится в библиотеке динамической компоновки или в программном ресурсе. Предложение Lib обязательно для каждого описания.
ИмяБиблиотеки: Обязательный. Имя библиотеки динамической компоновки или программного ресурса, которые содержат описываемую процедуру.
Alias: Необязательный. Указывает, что вызываемая процедура имеет другое имя в библиотеке динамической компоновки. Это полезно, когда имя внешней процедуры совпадает с ключевым словом. Имеет смысл использовать Alias и в том случае, когда имя процедуры библиотеки динамической компоновки совпадает с именем общей переменной, константы или любой другой процедуры в той же области определения. Alias полезен также, если некоторые символы в имени процедуры библиотеки динамической компоновки не соответствуют правилам именования для библиотек динамической компоновки.
Псевдоним: Необязательный. Имя процедуры в библиотеке динамической компоновки или в программном ресурсе. Если первым символом не является символ (#), псевдоним является именем точки входа процедуры в библиотеке динамической компоновки. Если символ (#) является первым символом, все последующие символы должны указывать порядковый номер точки входа в процедуру.
СписокАргументов: Необязательный. Список переменных, представляющий аргументы, которые передаются в процедуру при ее вызове. Аргумент списокАргументов имеет следующий синтаксис и элементы:

· Optional - Необязательный. Указывает, что этот аргумент необязателен. При использовании этого элемента все последующие аргументы, которые содержит списокАргументов, также должны быть необязательными и быть описаны с помощью ключевого слова Optional. Не допускается использование ключевого слова Optional для любого из аргументов, если используется ключевое слово ParamArray.

· ByVal - Необязательный. Указывает, что этот аргумент передается по значению.

· ByRef - Указывает, что этот аргумент передается по ссылке. Описание ByRef используется в Visual Basic по умолчанию.

· ParamArray - Необязательный. Используется только в качестве последнего элемента в списке списокАргументов для указания, что конечным аргументом является массив типа Optional элементов типа Variant. Ключевое слово ParamArray позволяет передавать произвольное число аргументов. Это ключевое слово не может использоваться со словами ByVal, ByRef или Optional.

· имяПеременной - Обязательный. Имя переменной, представляющее передаваемый в процедуру аргумент; должно соответствовать стандартным правилам именования переменных.

· Тип - Необязательный. Тип данных аргумента, передаваемого в процедуру; допускаются типы Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (в настоящее время не поддерживается), Date, String (только строки переменной длины), Object, Variant, определяемый пользователем тип или объектный тип.

Тип: Необязательный. Тип данных значения, возвращаемого процедурой Function; допускаются типы Byte, Boolean, Integer, Long, Currency, Single, Double, Decimal (в настоящее время не поддерживается), Date, String (только строки переменной длины), Variant, определяемый пользователем тип или объектный тип.

Замечания
Для процедур Function тип данных процедуры определяет тип возвращаемых данных. Воспользуйтесь предложением As после элемента списокАргументов, чтобы определить тип данных, возвращаемых функцией. Внутри элемента списокАргументов можно использовать предложение As для задания типа данных любого из аргументов, передаваемых в процедуру. В дополнение к указанию любого стандартного типа данных, предложение As Any в аргументе списокАргументов позволяет приостановить проверку типа данных и разрешить передачу в процедуру любого типа данных.
Пустые скобки указывают, что процедура Sub или Function не имеет аргументов, и что в конструкции Visual Basic следует обеспечить отсутствие передачи аргументов. В следующем примере, процедура First не имеет аргументов. Если при вызове процедуры First будут заданы аргументы, возникнет ошибка:

Declare Sub First Lib "MyLib" ()

Если список аргументов включен в описание, то число и тип аргументов проверяются при каждом вызове процедуры. В следующем примере процедура First имеет один аргумент типа Long:

Declare Sub First Lib "MyLib" (X As Long)

Невозможно использование строк фиксированной длины в списке аргументов инструкции Declare, в процедурах допускается передача только строк переменной длины. Строки фиксированной длины могут быть аргументами процедуры, но они преобразуются перед их передачей в строки переменной длины.
В языке Visual Basic имеется константа vbNullString для использования при вызове внешних процедур, когда внешней процедуре требуется строка без значения. Это не то же самое, что пустая строка ("").

Пример
В данном примере показано, как использовать инструкцию Declare на уровне модуля в стандартном модуле для описания ссылки на внешнюю процедуру из библиотеки динамической компоновки (DLL) или на программный ресурс Macintosh. Инструкции Declare могут быть помещены в модули класса, если они являются личными (Private).

' В Microsoft Windows (16-разрядной ):

Declare Sub MessageBeep Lib "User" (ByVal N As Integer)

' Пусть SomeBeep является псевдонимом для имени процедуры.

Declare Sub MessageBeep Lib "User" Alias "SomeBeep"(ByVal N As Integer)

' Для вызова GetWinFlags в предложении Alias

' используется порядковый номер.

Declare Function GetWinFlags Lib "Kernel" Alias "#132"() As Long

' В 32-разрядной Microsoft Windows используется библиотека USER32.DLL,

' а не USER.DLL. Для написания программы, способной работать в 32- или

' 16- разрядной Microsoft Windows, используется условная компиляция.

#If Win32 Then

Declare Sub MessageBeep Lib "User32" (ByVal N As Long)

#Else

Declare Sub MessageBeep Lib "User" (ByVal N As Integer)

#End If

' На Macintosh:

Declare Sub MessageAlert Lib "MyHd:MyAlert" Alias "MyAlert" (ByVal N _




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


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


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



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




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