
- •05:58 Хвилини :q Секунди о
- •Puc.X.Is Форма та вікно програми «Таймер»
- •IfInStr(Text3.Text, ".") 00 Then
- •Десяткова крапка ","
- •Під час ініціалізації форми властивості Tag кожній цифровій кнопці треба привласнити значення, рівне цифрі, яка повинна з'явиться на індикаторі калькулятора.
- •Процедура DigitClick обробляє клацання на кнопках йди _ йди % якості вхідного параметра цієї процедури використовується ім'я кнопки, для якої ця процедура повинна виконатися.
- •Pue.1.10 Форма та вікно програми «Час»
- •VbOkOnly, "Таймер")
- •1 Пал під таймера
Десяткова крапка ","
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 на всіх цифрових кнопках обробляє одна процедура.
Під час ініціалізації форми властивості Tag кожній цифровій кнопці треба привласнити значення, рівне цифрі, яка повинна з'явиться на індикаторі калькулятора.
Процедура DigitClick обробляє клацання на кнопках йди _ йди % якості вхідного параметра цієї процедури використовується ім'я кнопки, для якої ця процедура повинна виконатися.
Процедура 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