
- •05:58 Хвилини :q Секунди о
- •Puc.X.Is Форма та вікно програми «Таймер»
- •IfInStr(Text3.Text, ".") 00 Then
- •Десяткова крапка ","
- •Під час ініціалізації форми властивості Tag кожній цифровій кнопці треба привласнити значення, рівне цифрі, яка повинна з'явиться на індикаторі калькулятора.
- •Процедура DigitClick обробляє клацання на кнопках йди _ йди % якості вхідного параметра цієї процедури використовується ім'я кнопки, для якої ця процедура повинна виконатися.
- •Pue.1.10 Форма та вікно програми «Час»
- •VbOkOnly, "Таймер")
- •1 Пал під таймера
VbOkOnly, "Таймер")
Exit Sub End If
Timerl.Enabled = True ' запуск таймера приховування полів
введення інтервалу і підписів
Labeh. Visible = False
Texti.Visible = False
Label2. Visible = False
Text2.Visible = False
Label3. Visible = True
Commandi.Caption = "Стоп"
Call ShowTime End If End Sub
іціалізація форми
Private Sub Form_Initialize()
ЬаЬеїз. Visible = False ' індикатор не відображається на формі Labels jWignment = 2 ' вирівнювання по центру для індикатора
Label3.F0nt.Size = 20 'розмір шрифту для індикатора Timer і.Interval =1000 ' період сигналів таймера ~іс Timer і.Enabled = False ' таймер зупинений
End Sub
июдить, скільки часу залишилося Sub ShowTimeO плини і секунди виводимо двома цифрами
ІліЬеїз.Caption = Format$(min, "00")+
Format$(sec, "00”)
End Sub
1 Пал під таймера
Private Sub Timen_Timer() tfsee< > o Then sec = sec - 1 Else sec = 59 min = min - 1 End If
Call ShowTime ' виведення часу, що залишився If (min = o) And (sec = o) Then даний інтервал витік
Timer і.Enabled = False ’ зупинка таймера
дниюрення звуку:
CallPlaySound(CStr(CurDir) + "\ringer.wav”, о
SND_FILENAME Or SND_ASYNC)
' CallPlaySoundC'SystemStart", о_ SND_ALIASOrSND__ASYNC) - приклад відтворення системного звуку Запуск Windows (звук, відповідний цій події в Звуковій схемі’ Windows)
Commandi.Caption - "Пуск"
ЬаЬеїз.Visible = False ’ приховування індикатора поля введення
інтервалу і підпису полів потрібно зробити видимими
Labeh.Visible = True
Texti. Visible = True
Labels.Visible = True
Texts.Visible = True
Texti.Text = "o"
Textz.Text = "o”
End If End Sub
Завдання l6. Програма "Таймер". Для введення інтервалу часу використовується компонент UpDown. Форма і вікно програми приведені на рис.1.13.
Інгарвзл
Секунди
%
Стоп
Пуск.
03**5»
Рис.1.13 Форма та вікно програми «Таймер»
Якщо проект створювався як Standart, то можливо, що на панелі ТооІВох компоненту UpDown не буде. Для того, щоб він з'явився, необхідно в меню Project вибрати команду Components і підключити бібліотеку Microsoft Windows Common Controls-26.0 Щоб забезпечити синхронізацію компонентів UpDown і Text, потрібно властивості Buddy Control компоненту UpDown привласнити ім’я відповідного компоненту Text (для UpDownl- Texti, для UpDowns - Text2), а в Buddy Property вибрати закладку Text. Властивості Мах і Min компоненту UpDown визначають максимальне і мінімальне можливі значення.
Dim min As Integer ' кількість хвилин Dim sec As Integer ' кількість секунд
клацання на кнопці "Пуск/стоп"
Private Sub Commandi_Click()
If Timerl.Enabled Then таймер працює, потрібно зупинити
Timer l.Enabled = False ' зупинка таймера Commandi. Caption = "Пуск"
Labelj. Visible = False ’ приховування індикатора поля введення
інтервалу і підпису полів потрібно зробити видимими Labeh. Visible = True Texti.Visible = True Labels. Visible = True Texts.Visible = True UpDowni.Visible = True UpDowns. Visible = True виведення кількості хвилин, що залишилися, і секунд Texti.Text = Format$(min)
Texts.Text = Format$(sec)
Else
таймер стоїть, потрібно запустити min = Val(Texti. Text) sec = Val(Texts.Text)
If (sec = o)And (min = o) Then
Call MsgBox(''IIoтрібно задати інтервал.", _ vbOKOnly, "Таймер")
Exit Sub End If
Timer l.Enabled ~ True ' запуск таймера приховування полів введення інтервалу і підписів Labeh .Visible ~ False Texti.Visible = False Labels.Visible = False Texts.Visible = False Label3.Visible = True UpDowni. Visible = False UpDowns. Visible = False Command l.Caption = "Стоп"
Call ShowTime End If End Sub
ініціалізація форми
Private Sub Form_Initialize()
Labels.Visible = False ' індикатор не відображається на формі Label3JUignment - s ' вирівнювання по центру ч для індикатора Label3.F0nt.Size = so 'розмір шрифту для індикатора Тітеп-Interval =1000 ' період сигналів таймера -іс Timen.Enabled = False ’ таймер зупинений
UpDoivni.Max = бо 'максимальне значення для поля "Хвилини" UpDoums.Max =59 'максимальне значення для поля "Секунди" UpDoums.Wrap = True ' якщо в полі "Секунди" знаходиться значення
59, то після натиснення кнопки Up (вгору) в полі з'явиться о, при натисненні Down (вниз) - 59-
UpDowni.Wrap = True ' теж саме для поля "Хеш/ішш"
End Sub
процедура виводить залишок часу Sub ShowTimeQ виведення хвилин і секунд здійснюється двома цифрами Label3.Caption = Format$(min, "оо") + " +
Format$(sec, "оо")
End Sub
обробка сигналу таймера
Private Sub Timerі_ Timer ()
If sec <> o Then sec = sec - і Else sec =59 min = min -1 End If
Call ShowTime ' виведення часу, що залишився
If (min = o) And (sec = o) Then
заданий інтервал витік
Timerl.Enabled = False ' зупинка таймера
Call MsgBox ("Заданий інтервал витік. ”, _ vbOKOnly, 'Таймер ") "Заданий інтервал витік." - текст повідомлення, vbOKOnly - вікно повідомлення міститиме тільки кнопку "ОК" '"Таймер" - заголовок повідомлення.
Commandi.Caption = "Пуск"
Label з. Visible = False ' утаєння індикатора поля введення
інтервалу і підпису полів потрібно зробити видимим
Labeli.Visible = True
Texti.Visible = True
Labels. Visible = True
Texts.Visible = True
Texti.Text = "o"
Texts.Text = "o"
UpDowni.Visible = True UpDowns. Visible = True End If End Sub
Private Sub Texti_KeyPress(KeyAscii As Integer)
заборона введення даних з клавіатури KeyAscii =о End Sub
Private Sub Text2_KeyPress(KeyAsrii As Integer)
заборона введення даних з клавіатури KeyAscii =о End Sub