
- •05:58 Хвилини :q Секунди о
- •Puc.X.Is Форма та вікно програми «Таймер»
- •IfInStr(Text3.Text, ".") 00 Then
- •Десяткова крапка ","
- •Під час ініціалізації форми властивості Tag кожній цифровій кнопці треба привласнити значення, рівне цифрі, яка повинна з'явиться на індикаторі калькулятора.
- •Процедура DigitClick обробляє клацання на кнопках йди _ йди % якості вхідного параметра цієї процедури використовується ім'я кнопки, для якої ця процедура повинна виконатися.
- •Pue.1.10 Форма та вікно програми «Час»
- •VbOkOnly, "Таймер")
- •1 Пал під таймера
Pue.1.10 Форма та вікно програми «Час»
відображення поточного часу Sub ShowTimeO Labeli. Caption = CStr(Time)
End Sub
ініціалізація форми
Private Sub Form_Initialize()
налаштування і запуск таймера
Timen.Interval =1000 ' період сигналів таймера -іс Timen.Enabled = True ' запуск таймера налаштування полів
виводу
Labeli.Font.Size =ао ' установка розміру шрифту для поля виведення
часу
Labels.Font.Size = 10 ' установка розміру шрифту для поля
виведення дати Labeli Alignment = 2 'вирівнювання по центру для полів Label2~Alignment=2 відображення дати Label2.Caption = CStr(Date)
End Sub
обробка події Paint
Private Sub Form_Paint()
Call ShowTime ' відображення часу End Sub
обробка сигналу таймера
Private Sub Timeri__Timer()
Call ShowTime ' відображення часу .
End Sub
Завдання 13. Програма "Електронний годинник" відображує поточний час, дату і день тижня. Форма і вікно програми приведені нарис.і.и.
Рис.і.и
Форма і вікно програми «Час»
відображення поточного часу Sub ShowTimeQ Labeli.Caption = CStr(Time)
End Sub
ініціалізація форми
Private Sub Form_Jnitialize()
Dim stDay, stMonth
stDay = Array ("неділя", "понеділок”, "вівторок" "середа", "четвер", "п’ятниця", "субота") stMonth = АггауС'січня", "лютого", "березня", "квітня"травня", "червня", "липня", "серпня" "вересня",_ "жовтня", "листопада", "грудня")
Labels. Caption = "Сьогодні " + Format$(Day(Date)) + " " +_ stMonth(Month(Date) — 1) + " " +
Format$(Year(Date)) + "роки” +_ stDay(Weekday(Date) - l) + "
віднімається і, оскільки нумерація елементів масиву починається з о
налаштування і запуск таймера
Timen.Interval =1000 ' період сигналів таймера -іс Тітеп.Enabled = True ' запуск таймера
налаштування полів виводу
Labeli.Font.Size = 20 ' установка розміру шрифту для поля
виведення часу
Label2.F0nt.Size = іо ' установка розміру шрифту для поля
виведення дати
Labelialignment = 2 ' вирівнювання по центру для полів
Label2 Alignment = 2 ' часу і дати
End Sub
обробка події Paint
Private Sub Form_Paint()
Call ShowTime ' відображення часу End Sub
обробка сигналу таймера
Private Sub Timerl_Timer Q Call ShowTime ' відображення часу End Sub
Завдання 14• Програма "Таймер" після закінчення заданого інтервалу часу виводить повідомлення. Є можливість припинити роботу таймера і потім пустити таймер знову. Форма і вікно програми приведені нарис.і.12.
ВВЕВВШ
05:58
Стоп
Рис.1.12 Форма та вікно програми «Таймер»
Dim тіп As Integer ' кількість хвилин Dim sec As Integer ' кількість секунд
клацання на кнопці "Пуск/стоп"
Private Sub Commandl_CliekQ If Timerl.Enabled Then таймер працює, потрібно зупинити
Тітеп.Enabled = False ' зупинка таймера
Commands. Caption = "Пуск"
Label'j.Visible = False ' приховування індикатора поля введення інтервалу і підпису полів потрібно зробити видимими Labeh. Visible = True Texti.Visible = True Labels. Visible = True Texts.Visible = True виведення кількості хвилин, що залишилися, і секунд Texti.Text = Format$(min)
Texts. Text = Format$(sec)
Else
таймер стоїть, необхідно запустити min = Val(Texti.Text) sec = Val(Text2.Text)
If (sec = o) And (min = o) Then
Call MsgBoxC'JIompiÖHo задати інтервал.", _ vbOKOnly, "Таймер ")
Exit Sub End If
Timer і.Enabled = True ' запуск таймера приховання полів введення
інтервалу і підписів
Labeh. Visible = False Texti.Visible = False Label2. Visible = False Texts.Visible = False Label3.Visible = True Command!.Caption = "Стоп"
Call ShowTime End If End Sub
ініціалізація форми
Private Sub Form_Initialize()
Label3. Visible = False ' індикатор не відображається на формі ІаЬеІзAlignment - 2 ' вирівнювання по центру для індикатора Label3.F0nt.Size = 20 'розмір шрифту для індикатора Тітеп.Interval =1000 ' період сигналів таймера ~іс Тітеп.Enabled = False ' таймер зупинений End Sub
процедура виводить залишок часу Sub ShowTimeO виведення хвилин і секунд здійснюється двома цифрами Label3.Caption = Format$(min, "00 ") + " + _
Format$(seс, "оо")
End Sub
обробка сигналу таймера
Private Sub Timen_Timer ()
Else
ms
= Val(Textl.Text) ' введення початкових даних
kmh = ms * 3.6 ’ перерахунок виведення
результату ЬаЬеїз.Caption
=
Format$(ms)
+
"м/сек
- це "
+_ Format$(kmh)+
"км/ч”
End
If End Sub
натиснення клавіші в полі Editi
Private Sub Texti_KeyPress(KeyAsciiAs Integer)
KeyAscii - код клавіші 48-57- коди цифр від о до 9 8 - код клавіші <Backspace>
13 - код клавіші <Enter>
Select Case KeyAscii
Case 48 To 57, 8 ' цифри і <Backspace>
Case 13 ’ <Enter>
Call WindSpeed Case Else ' решта символів KeyAscii =0 End Select End Sub
Завдання 4. Програма перераховує вагу з фунтів в кілограми (іфуп г — 409,5г). Форма програми приведена на рис.1.2. Програма складена таким чином, що кнопка Перерахунок доступна тільки в тому випадку, якщо користувач ввів початкові дані.
ш
Фунти -Кіло г рами
Введіть
вагу в фунтах та клацніть по кнопці
Перерахунок. Для відділення дробної
частини числа від цілої використовуйте
кому.
клацання на кнопці Перерахунок Private Sub Commandt_Click()
Dim funt As Single ' вага у фунтах Dim kg As Single ' вага в кілограмах
Кнопка Перерахунок доступна тільки в тому випадку, якщо у полі Фунти є дані. Тому наявність інформацїіу полі можна не перевіряти.
Jimt = Val(Texti.Text) kg = funt * 0.4995
Labebi.Caption - Format$(funt) + "ф - це" + _ Format$(kg) + "кг" End Sub
ініціалізація форми
Private Sub Form__Initialize()
поле Фунти порожньо (користувач ще не ввів початкові дані), зробимо кнопку Перерахунок недоступною Cor amandi.Enabled = False End Sub
вміст поля Фунти змінилося Private Sub Texti_Change() перевіримо, чиє в полі Фунти початкові дані IfLen(Texti.Text) = о Then Commandi.Enabled = False ' кнопка Перерахунок недоступна Else
Commandi.Enabled = True ' кнопка Перерахунок доступна End If End Sub
натиснення клавіші в полі Фунти
Private Sub Texti_KeyPress(KeyAscii As Integer)
Select Case KeyAscii
Case 48 Те 57, 8 ' цифри o-gi <Backspace> обробка десяткового роздільника
Case 44, 46 ' 44 - код коми, 46 - код крапки якщо в полі Фунти введена кома, то замінимо її на десятковий роздільник
KeyAscii =46
перевіримо, чи введений вже в поле Фунти десятковий роздільник IfInStr(Texti.Text, '.") про о Then KeyAscii = О End If Саве Else
KeyAscii = о ' решта символів заборонена End Select End Sub