Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Васильев А. -> "VBA в Office 2000 учебный курс" -> 46

VBA в Office 2000 учебный курс - Васильев А.

Васильев А., Андреев А. VBA в Office 2000 учебный курс — Спб.: Питер, 2001. — 432 c.
ISBN 5-8046-0193-8
Скачать (прямая ссылка): vbauchebniykurs2001.djvu
Предыдущая << 1 .. 40 41 42 43 44 45 < 46 > 47 48 49 50 51 52 .. 154 >> Следующая

Public Sub CreateRectangle(ByVal intLn As Integer, ByVal intWd As Integer)
If (intLn Or intWd) <= 0 Then
MsgBox "Размеры прямоугольника не должны равняться О!"
Else
intA = intLn intB = intWd
End If
End Sub
Public Function LengthO As Integer Length = intA End Function
Public Function WidthO As Integer Width = intB End Function
Public Function Square() As Integer Square = intA * intB End Function
Результатом выполнения этого примера является создание класса Rectangle. Данный класс имеет два закрытых свойства intA и intB, представляющих собой длину и ширину прямоугольника, и пять методов:
О Метод Classjnitialize автоматически выполняется при создании объекта данного класса как реакции на событие Initialize, которое происходит при создании объекта данного класса. В данном случае этот метод задает прямоугольник с шириной и высотой равными 1. Метод Classjnitialize называется также конструктором класса.
О Метод CreateRectangle также является конструктором, который создает объект класса Rectangle. Этот метод требует передачи ему в качестве аргументов значений длины и ширины прямоугольника.
О Методы intLength и intWidth позволяют получить соответственно длину и ширину прямоугольника.
О Метод Square вычисляет площадь прямоугольника.
Теперь рассмотрим пример практического использования объектов созданного класса:
Sub TestSubO
Dim objRectl As Classl Dim objRect2 As Classl
122
Урок 4. Росширенные средство создания приложений
Dim intWd As Integer ь ;¦.
Dim intLn As Integer Dim intA As Integer Dim intB As Integer Dim intC As Integer
intWd = 5 intLn « 5
Set objRectl = New Classl intA = objRectl.Length intB = objRectl.Width Set objRect2 = objRectl Rect2.CreateRectangle intLn, intWd intC = Rect2.Square End Sub
Здесь в процедуре TestSub объявляются переменные objRectl и objRect2 типа Classl, а также переменные intWd, intLn, intA, intB и intC типа Integer. Переменным intWd и intLn присваивается значение 5. Переменным objRectl и objRect2 присваивается значение объектного выражения (назначение инструкции Set будет рассмотрено ниже в разделе об инструкциях присваивания), которое в данном случае будет представлять прямоугольный объект с длиной и шириной равными единице. Значения переменных intA и intB будут равны 1, так как этим переменным присваиваются значения свойств прямоугольника (длины и ширины соответственно). Для ссылки на свойства объекта используется оператор точка (.), указывающий на то, что следующий после него элемент является свойством, методом или другим элементом, определенным в VBA.
После присваивания объектной переменной objRect2 ссылки на объект типа Rectangle с единичными размерами вызывается метод CreateRectangle, который принимает в качестве аргументов значение переменных intLn и intWd и устанавливает длину и ширину прямоугольника равными 5. Значению переменной intC присваивается значение, получающееся в результате вызова метода Square объекта objRect2. В данном примере это значение равно 25.
Использование WinAPI
В VBA, как и в других языках программирования, возможно использование функций WinAPI. Хотя в тех областях, где используется VBA, можно обойтись без применения WinAPI, для создания представления о ее возможностях ниже приведено краткое рассмотрение особенностей работы с этими функциями.
ПРИМЕЧАНИЕ Несмотря на та что VBA поддерживает функции WinAPI, его справочная система не содержит практически никакой информации о функциях WinAPI.
Функции WinAPI находятся в файлах с расширением .dll. Такие файлы называют библиотеками динамической компоновки. Большинство этих файлов находится в папке Windows\System.
Использование WinAPI
123
Функции, содержащиеся в библиотеках динамической компоновки, не включаются в ваше приложение, а только используются во время его выполнения.
ПРИМЕЧАНИЕ Вообще в DLL-файлах магут находиться не только функции WinAPI, но и любые Другие.
Для объявления функции WinAPI ее следует поместить в секцию General и Declarations окна программы Microsoft Visual Basic (рис. 4.8). Объявление такой функции обычно помещают в стандартный модуль, хотя оно может быть расположено и в модуле формы.
В качестве примера объявим следующую функцию:
Public Declare Function sndPlaySound Lib "winnrn.dll"
Alias "sndPlaySoundA" (ByVal 1pszSoundName As String,
ByVal uFlags As Long) As Long
Прокомментируем назначение этой функции:
О Поскольку при ее объявлении используется ключевое слово Public, она будет доступна не только в данном модуле, но и в других модулях проекта.
О Инструкция Declare Function позволяет подключить функцию sndPlaySound, которая содержится в файле winmm.dll.
О Ключевое слово- Alias указывает название функции, которая используется внутри DLL-файла.
124
Урок 4. Росширенные средства создония приложений
Как мы уже знаем, любая функция возвращает значение. В этом смысле функции WinAPI не являются исключением — они также возвращают значения. Это свойство может оказаться полезным при отладке программы, так как по возвращаемому функцией значению можно судить о результатах вызова функции. При неудачном вызове функции работа всего приложения может завершиться аварийно.
Предыдущая << 1 .. 40 41 42 43 44 45 < 46 > 47 48 49 50 51 52 .. 154 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100