Public Function div(ByVal X As Double, ByVal Y As Double) As Double’X/Y — КиберПедия 

Типы оградительных сооружений в морском порту: По расположению оградительных сооружений в плане различают волноломы, обе оконечности...

Двойное оплодотворение у цветковых растений: Оплодотворение - это процесс слияния мужской и женской половых клеток с образованием зиготы...

Public Function div(ByVal X As Double, ByVal Y As Double) As Double’X/Y

2022-10-29 19
Public Function div(ByVal X As Double, ByVal Y As Double) As Double’X/Y 0.00 из 5.00 0 оценок
Заказать работу

mvarError = ““                             'формирование значения свойства Errors

If Y = 0 Then ‘деление на ноль

mvarError = “Деление на ноль“ ‘формирование значения свойства Errors

RaiseEvent OnErrors(mvarError) ‘генерация события OnErrors

div = 0                                       ‘возвращение нуля в качестве результата

Else:                                              ‘деление возможно

div = round(X / Y, mvarroundres) ‘формирование результата X/Y

End If

End Function

Public Function mult(ByVal X As Double,ByVal Y As Double)As Double’X*Y

mvarError = ““                             'формирование значения свойства Errors

mult = round(X * Y, mvarroundres) ‘формирование результата X*Y

End Function

Public Function add(ByVal X As Double,ByVal Y As Double)As Double ’X+Y

mvarError = ““                             'формирование значения свойства Errors

add = round(X + Y, mvarroundres) ‘формирование результата X+Y

End Function

Private Sub Class_Initialize() ‘инициализация при создании объекта

mvarError=““: mvarroundres=3   ‘умалчиваемые значения                            

End Sub

8. Разместим на форме кнопки Command1, Command2 (для тестиро­ва­ния работы класса) и составим процедуры для этой формы.

‘(General) (Declarations) ‑ раздел глобальных объявлений формы

‘объявление объектной переменной obCalc типа Calc с событиями класса

Private WithEvents obCalc As calc 

Private Sub Form_Load() ‘процедура загрузки формы

Set obCalc = New Calc ‘создание объекта obCalc класса Calc

obCalc.roundres = 6 ‘свойству Roundres присваивается значение 6

End Sub

Private Sub Command1_Click() ‘процедура проверки деления

Debug.Print obCalc.div(6, 0) ‘выполнение метода div (6/0!) и вывод

If obCalc.Errors <> ““ Then MsgBox obCalc.Errors ‘сообщение об ошибке

End Sub

Private Sub Command2_Click() ‘процедура проверки сложения

Debug.Print obCalc.add(6,8) ‘выполнение метода Add (6,8) и вывод суммы

End Sub

Private Sub obCalc_onerrors(nameerror As Variant) ‘cобытие Onerrors

MsgBox “Событие OnErrors “+nameerror+”!” ‘вывод сообщения об ошибке

End Sub

9. Сохраним и выполним приложение.

Аналогичным образом можно создать класс на основе класса Calc.

Вопросы для самопроверки и контроля

Вопросы для самопроверки

1. В чем состоит разница между закрытыми и открытыми процедурами?

2. Что означает слово Public в заголовке процедуры или функции?

Контрольные вопросы

1. Что означает слово Private в заголовке процедуры или функции?

2. Какие процедуры содержит модуль формы?

3. В чем заключается отличие класса от модуля?

4. Что означает слово WithEvents в объявлении объекта?

5. В чем состоит разница между процедурами-свойствами типа Get и Let?


Глава 8. Разработка интерфейса

Меню

.    Для формирования меню выполните команду Tools/Menu Editor. Поя­вится окно редактора меню (рис. 8.1.1) с предлагаемым далее приме­ром. Элементы меню обладают свойствами и поддерживают одно событие Click. Для каждой формы может быть не более одного меню. Меню прикрепляется к левому верхнему углу формы.

 

                           Рис. 8.1.1. Редактор меню

Специфичные свойства

Caption  ‑ определяет текст строки меню, выводимый на экран. Если ука­зать “ & ”, то следующий за ним символ будет подчеркнут и станет сим­волом ускоренного вызова при совместном нажатии клавиши Alt для откры­тия меню. Для включения в меню строки-разделителя нужно указать Caption=”-“; при этом указывается значение и для Name.

Name  ‑ определяет программное имя элемента меню для ссылок.

Checked - помечает или удаляет “галочку” рядом с выбранной строкой меню, включая или выключая состояние команды меню.

ShortCut - задает клавишу прямого вызова команды меню, не открывая меню.

Enabled   ‑ запрещает/разрешает использование команды меню.

Visible   ‑ запрещает/разрешает отображение на экране команды меню.

Index   ‑ используется в режиме динамического формирования специаль­ных меню как номер элемента массива с пунктами меню (п.8.2).

Горизонтальные стрелочки используются для перемещения строк по уровням иерархии строк, вертикальные ‑ для перемещения строк по верти­кали. Кнопки Next, Insert и Delete используются, соответственно, для пе­ре­­хо­да на формирование следующей строки меню, вставки новой строки перед текущей и удаления текущей строки меню.

Для определения процедуры, которая выполняется при выборе строки меню, нужно раскрыть меню и щелкнуть мышкой на этой строке. Появится программное окно для набора текста этой процедуры.

Рекомендуется пункты меню, которые вызывают диалоговые окна, заканчивать троеточием.

Пример создания меню (рис. 8.1.2).

 

                                        Рис. 8.1.2. Форма меню

 

Используя меню, можно изменять цвет формы на красный, синий, белый или на любой, который пожелает пользователь; можно изменить размер формы на маленький, или на большой (на весь экран).

Меню состоит из двух пунктов первого уровня (цвет, размер), двух под­меню второго уровня (первое: выбрать цвет, выход (Exit) и второе: ма­лень­кий (Small) и большой (Big)) и одного под­меню третьего уровня: крас­ный (Red), синий (Blue), белый (White) и лю­бой (Any) (рис. 8.1.1) Раз­мес­тим на форме объект Common Dialog для настройки цвета (пп. 8.4.1, 8.4.4).

Приведем тексты процедур.

Private Sub Form_Load() ‘процедура загрузки формы

white.Enabled = False ‘блокировка строки “Белый”, форма уже белая

small.Enabled = False ‘блокировка строки меню “Маленький”

End Sub

Private Sub red_Click() ‘процедура обработки строки меню “Красный”

Form1.BackColor = QBColor(4) ‘цвет формы меняется на красный

red.Enabled = False ‘блокировка строки “Красный”, форма уже красная

blue.Enabled = True ‘разблокировка строки “Синий”

white.Enabled = True ‘разблокировка строки “Белый”

End Sub

Private Sub blue_Click() ‘процедура обработки строки меню “Синий”

Form1.BackColor = QBColor(1) ‘цвет формы меняется на синий

red.Enabled = True ‘разблокировка строки “Красный”

blue.Enabled = False ‘блокировка строки “Синий”, форма уже синяя

white.Enabled = True ‘разблокировка строки “Белый”

End Sub

Private Sub white_Click()‘процедура обработки строки меню “Белый”

Form1.BackColor = QBColor(15) ‘цвет формы меняется на белый

red.Enabled = True ‘разблокировка строки “Красный”

blue.Enabled = True ‘разблокировка строки “Синий”

white.Enabled = False ‘блокировка строки “Белый”, форма уже белая

End Sub

Private Sub any_Click() ‘процедура обработка строки меню “Любой”

CommonDialog1.Flags = cdlCCRGBInit ‘диалог выбора цвета (п.8.4.4)

CommonDialog1.ShowColor ‘вывод окна настройки цвета (рис.8.4.4.1)

Form1.BackColor = CommonDialog1.color ‘цвет формы меняется на новый

red.Enabled = True: blue.Enabled = True: white.Enabled = True

End Sub

Private Sub small_Click()‘процедура обработки строки “Маленький ”

Form1.WindowState = 0 ‘уменьшение размера формы

small.Enabled = False ‘блокировка строки меню “Маленький”

big.Enabled = True     ‘разблокировка строки меню “Большой”

End Sub

Private Sub big_Click() ‘процедура обработки строки меню “Большой”

Form1.WindowState = 2 ‘распахивание формы на весь экран

small.Enabled = True ‘разблокировка строки меню “Маленький”

big.Enabled = False  ‘блокировка строки меню “Большой”, уже большая

End Sub

Private Sub exit_Click()‘процедура обработки строки меню “Выход”

End ‘окончание работы программы

End Sub


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

Таксономические единицы (категории) растений: Каждая система классификации состоит из определённых соподчиненных друг другу...

Историки об Елизавете Петровне: Елизавета попала между двумя встречными культурными течениями, воспитывалась среди новых европейских веяний и преданий...

Типы сооружений для обработки осадков: Септиками называются сооружения, в которых одновременно происходят осветление сточной жидкости...

Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...



© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!

0.018 с.