Составители:
Рубрика:
71 
собой  структуру,  обращение  к  элементам  которой  ведется  по  принятым  для 
структуры правилам: 
Объект.Свойство = Значение свойства 
Поведение  объекта  в  языке VBA задается  методами  и  событиями.  По  своей 
сути  метод  представляет  собой  обычную  процедуру  или  функцию.  Возможные 
методы  для  объекта  также  описываются  на  этапе  создания  класса.  Событие 
представляет  собой  действие,  распознаваемое  объектом,  для  которого  можно 
запрограммировать  отклик.  Событие  вызывается  действиями  пользователя 
(например, щелчок мышью) или генерируются системой (например, деление на 
ноль). 
Создание  класса  в  языке VBA представляет  собой  типовую 
последовательность  действий.  Сначала  специальной  командой  создается  так 
называемый  модуль  класса  и  ему  присваивается  имя,  являющееся  именем 
класса.  После  этого  описываются  переменные  класса.  Обратите  внимание 
на 
то,  что  при  этом  описании  определяется  только  потребный  объем  памяти. 
Переменные  класса  получат  конкретные  значения  адресов  памяти  машины 
только после того, когда  на основе класса  будут создаваться  объекты, причем 
каждый  объект  будет  иметь  свой  индивидуальный  набор  таких  ячеек.  Затем 
определяется  процедура  инициализации  класса  Sub Class_Initialize(),  которая 
выполняется  каждый  раз,  когда создается
  новый  объект. Если необходимо,  то 
может  быть  создана  процедура  Sub Class_Terminate(),  описывающая  действия, 
которые  надо  выполнить  перед  удалением  объекта.  После  этого  создаются 
функции  вида  Property Get,  Property Let  и  Property Set,  позволяющие  читать  и 
задавать  значения  свойств  переменных  класса.  Функции  обработки  событий 
могут  быть написаны  самостоятельно с  использованием  аппарата  прерываний 
процессора,  однако  удобнее  и  проще  воспользоваться  прерываниями, 
обрабатываемыми  стандартными  формами,  о которых  будет  рассказано ниже. 
Наконец,  создаются  методы  класса,  которые  оформляются  в  виде  обычных 
процедур Sub.  
Пример 2.33. Программа создания класса Ведомость_зарплаты. 
Option Explicit 
Private Type Запись_Ведомости 
Фамилия_И_О As String 
Начислено_Ведомость As Currency 
Налог_Ведомость As Currency 
К_выдаче_Ведомость As Currency 
End Type 
Dim Ведомость() As Запись_Ведомости 
Dim Размер_ведомости As Integer 
Private Sub Class_Initialize() 
    Dim i As Integer, rezult As String, d As Currency 
    Размер_ведомости = 4 
    ReDim Ведомость(1 To Размер_ведомости) 
    Open " Зарплата.hhh" For Input As #1 
        i = 1 
        Do Until EOF(1) 
            Input #1, rezult 
            Ведомость(i).Фамилия_И_О = rezult 
            Input #1, d 
            Ведомость(i).Начислено_Ведомость = d 
            i = i + 1 
        Loop 
Страницы
- « первая
 - ‹ предыдущая
 - …
 - 69
 - 70
 - 71
 - 72
 - 73
 - …
 - следующая ›
 - последняя »
 
