Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Базові компоненти.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
112.36 Кб
Скачать

Десяткова крапка ","

Private Sub CommandZ ClickQ If Texti.Text = "o"Then Texti.Text = "o."

f=i End If

IfInStr(Texti.Text, ".") = o Then Texti.Text = Texti.Text +

End If End Sub

процедура виконання операції Sub DoOperQ Dim numb As Single ' число на індикаторі accum містить результат попередньої операції, орег - код операції, яку потрібно виконати, операнд знаходиться на індикаторі, numb = Val(Texti.Text)

Select Case oper Case o: accum = numb Case l: accum = accum + numb Case 2: accum = accum - numb End Select

Texti.Text = Format$(accum)

End Sub

ініціалізація форми

Private Sub Form_Initialize() орег=o End Sub

натиснення клавіші в полі введення цифр

Private Sub Texti_KeyPress(KeyAscii As Integer) заборона введення даних з клавіатури KeyAscii = о End Sub

Варіант 2. Подія Click на всіх цифрових кнопках обробляє одна процедура.

  1. Під час ініціалізації форми властивості Tag кожній цифровій кнопці треба привласнити значення, рівне цифрі, яка повинна з'явиться на індикаторі калькулятора.

  2. Процедура DigitClick обробляє клацання на кнопках йди _ йди % якості вхідного параметра цієї процедури використовується ім'я кнопки, для якої ця процедура повинна виконатися.

  3. Процедура OperClick обробляє клацання на кнопкахі "="

Dim ассит As Single ' акумулятор

Dim орег As Integer ' операція: і - "+", 2- "-"

' о - "виконати" (кнопка "=”)

Dim f As Integer

f = о очікування першої цифри нового числа, наприклад, після виконання операції, коли на індикаторі результат. / = і очікування введення решти цифр, процедура обробки клацання на кнопках "о" - "д"

Sub DigitClick(CommandAs CommandButton)

Select Case Command.Tag Case і To g

Iff = o Then ' перша цифра числа Texti.Text = Format$(Command.Tag) f = і ’ чекаєлю решту цифр Else

У випадку, коли після вибору операції користувач натискав "о", змінною f привласнюється значення і, очікується введення решти цифр числа. Для того, щоб в полі введення не з'являлося чисел, що починаються з нуля, немає дробами (наприклад "оі"), необхідне виконання наступної умови.

If Texti.Text о "О" Then Texti.Text = Texti.Text + Format$(Command.Tag)

Else: Texti.Text = Format$(Command.Tag)

End If End If Case o

Iff = o Then ' перша цифра числа Texti.Text = "О"

f - іочікування решти цифр Eise

Наступна умова потрібна для того, щоб на і індикаторі не з'являлося декількох нулів на початку числа.

If Texti.Text о "о" Then Texti.Text = Texti.Text + "о"

End If End If End Select End Sub

процедура обробки клацання на кнопках "+" і "="

Sub OperClick(det As Integer)

При натисненні кнопки або "=” потрібне: виконати попередню

операцію, вивести результат на індикатор, запам'ятати поточну операцію і встановити режим очікування тервой цифри нового числа, і det визначає кнопку: і - "+ ", a - о - "="

Iff - о Then

користувач клацнув мишею по кнопці операції, але поле введення знаходиться в очікуванні введення першої цифри числа Select Case det ' запам 'ятовування операції Case о: орег = о Case і: орег=і Case 2: орег = 2 End Select Else

на індикаторі є число, користувач клацнув на кнопці операції DoOper виконання попередньої операції Select Case det ' запам’ятовування поточної операції Case о: орег = о Case і: орег-і Case 2: орег = 2 End Select

f=o’ очікування першої цифри нового числа End If End Sub

кнопка"о"

Private Sub Commando__ClickO Call DigitClick(Commando)

End Sub

кнопка ”i "

Private Sub Commandi__Click()

Call DigitClick(Commandi)

End Sub

кнопка"2"

Private Sub Command2_Click()

Call DigitClick(Command2)

End Sub

кнопка"з"

Private Sub Command3_Click()

Call DigitClick(Command3)

End Sub

кнопка"4”

Private Sub Command4__Click()

Call DigitClick(Command4)

End Sub

кнопка"5"

Private Sub Command,^ ClickQ Call DigitClick(Commands)

End Sub

кнопка"6"

Private Sub Commandb ClickQ Call DigitClick(Command6)

End Sub

кнопка"7"

Private Sub Command7__Click()

Call DigitClick(Command7)

End Sub

кнопка"8"

Private Sub Command8_Click()

Call DigitClick(Command8)

End Sub

кнопка"g"

Private Sub Commandg ClickQ Call DigitClick(Command9)

End Sub

кнопка "c" - очищення

Private Sub CommandC_ClickO Texti.Text = "o" accum - o oper =0

f = o' очікування першої цифри End Sub

кнопка "+"

Private Sub CommandPlus__Click()

Call OperClick(i)

End Sub

кнопка

Private Sub CommandMinus_Click() CallOperClick(2)

End Sub

кнопка "="

Private Sub CommandEnter_Click()

Call OperClick(o)

End Sub

десяткова крапка ","

Private Sub CommandZ_Click()

If Texti.Text = "o" Then Texti.Text = "o."/= EndIfJfInStr(Texti.Text, oThen

Texti.Text = Texti.Text + "."

End If End Sub

процедура виконання операції Sub DoOperQ Dim numb As Single ' число на індикаторі accum містить результат попередньої операції орег - код операції, яку потрібно виконати операнд відображається на індикаторі, numb = Val(Texti.Text)

Select Case oper Case o: accum = numb Case 1: accum = accum + numb Case 2: accum = accum - numb End Select

Texti.Text = Format$ (accum)

End Sub

ініціалізація форми

Private Sub Form_Initialize() задання значень властивості Tag для кнопок "о" - Commando.Tag =0 Commandi.Tag =1 Command2.Tag =2 Commands.Tag =3 СоттапсЦ.Тад =4 Commands.Tag =5 Command6.Tag =6

Command.7. Гад =7 Command8.Tag =8 Commandg. Tag =g oper = o End Sub

натиснення клавіші в полі введення цифр

Private Sub Texti_KeyPress(KeyAscii As Integer) заборона введення даних з клавіатури KeyAscii =о End Sub

Завдання 11. Програма "Електронний годинник", що відображує поточний час. Форма і вікно програми приведені на рис.і.д.

Рис.і.д. Форма та вікно програми «Час»

відображення поточного часу Sub ShowTimeQ Labeli. Caption = CStr(Time)

End Sub

ініціалізація форми

Private Sub Form_Initialize()

налаштування і запуск таймера

Тітеп.Interval =1000 1 період сигналів таймера - іс Timen.Enabled = True ' запуск таїїмера

Labell.Font.Size =20 ' установка розміру шрифту для поля виведення

часу

End Sub

обробка події Paint

Private Sub Form_Paint()

Call ShowTime End Sub

обробка сигналу таймера

Private Sub Timeri_ TimerQ

Call ShowTime ' відображення часу End Sub

Завдання. 12, Програма "Електронний годинник" відображує поточний час і дату. Форма і вікно профаммьі приведені на рис.і.ю.

12.10.2009

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]