Тема: «Таймер. Программа Часики». Цели урока: помочь учащимся в создании проекта «Часики» на языке Visual Basic. воспитание информационной культуры учащихся, внимательности, аккуратности, дисциплинированности, усидчивости. развитие алгоритмического мышления, познавательных интересов, навыков работы на Visual Basic.
Инструкция Option Explicit – Она будет требовать явно объявлять переменные. Переменную надо объявлять явно с помощью инструкции – Dim Long – длинное целое число со знаком от – до Integer – целое число со знаком от – до String – строка символов Boolean – логическое, принимает два значения или True (Истина) или False (Ложь)
Таймер. Программа Часики. Слева, где компоненты формы, они же инструменты-элементы, нарисован такой будильничек. Это таймер и есть. Он всегда невидимый, но нужный элемент. Всего их одновременно можно использовать около 30 штук. Но нам столько не надо. Поместим один его на форму. На основе его мы сделаем сейчас маленькие часики. В свойствах этого таймера поставьте следующие установки:
Таймер. Программа Часики. Enabled – False (по умолчанию True) означает, что таймер выключен Interval – 1000 (время, в миллисекундах, через которое таймер срабатывает, если конечно включен). Таймер будет срабатывать каждые 1000 мск, т.е. каждую секунду, как в нормальных часах.
Таймер. Программа Часики. Кроме того, нам понадобятся три лейбла: Label1 для секунд, Label2 для минут и Label3 – для отображения часов. Поставьте в свойствах лейблов такие установки: Alignment – 2-Центровка (Это чтоб цифры были по центру лейблов) BorderStyle – 1-Фиксировано (это чтоб размер формы нельзя было изменить) Caption – 00 (значение лейблов изначально будет 00) Нажмите Font и выберите размер шрифта 14, а начертание – полужирное. После этого подберите подходящий размер окон Лейблов, чтобы цифры в них выглядели покрасивше.
Таймер. Программа Часики. Должно получиться как на рисунке.
Таймер. Программа Часики. Сделаем подпрограмму Form_Load. Option Explicit Private Sub Form1_Load() Затем в теле процедуры, как у всякой приличной программы меняем заголовок формы. Form1.Caption = "Часики" Дальше, для того, чтобы наши часы сразу показывали текущее время, надо его взять из компьютера. Чтобы получить системное время есть функция Time (Label1.Caption=Time). Но она дает полное время одной строкой (16:23:42). Нам надо выбирать из нее секунды, минуты и часы, чтобы распихать по свои лейблам. Для этого возьмем готовые функции, которые предоставят нам это все по частям: Label1.Caption = Second(Time) 'стало быть секунды Label2.Caption = Minute(Time) 'ну минуты Label3.Caption = Hour(Time) ' и часы Теперь, если мы запустим программу, у нас будет показываться текущее время, но вот только часики-то стоят.
Таймер. Программа Часики. Чтобы у нас показания времени в нашей программе «Часики» до десятка были с ноликами 01, 02, 03, а не 1, 2, 3 мы проверяем условие, меньше ли длина числа, записанного в лейбле двух. Если да, то прибавляем впереди нолик. Для этого используем функцию Len("строка"), которая определит число символов в строке. Если в строке, например 5 символов, то Len даст число 5. У нас получится:
Таймер. Программа Часики. Private Sub Zero() If Len(Label1.Caption) < 2 Then Label1.Caption = "0" & Label1.Caption If Len(Label2.Caption) < 2 Then Label2.Caption = "0" & Label2.Caption If Len(Label3.Caption)< 2 Then Label3.Caption = "0" & Label3.Caption End Sub
Таймер. Программа Часики. Ну вот, с ноликами все в порядке, зато часы не работают. В подпрограмме Timer1_Timer() у нас всего один оператор. Чтобы часы работали, как настоящие, нам надо, чтобы, когда секунд становилось больше 59, они обнулялись, при этом минуты увеличивались бы на один. Используем оператор If:
Таймер. Программа Часики. If Label1.Caption > 59 Then Label1.Caption = "0" Label2.Caption = Label2.Caption + 1 End If То же самое для Лейбла2: If Label2.Caption > 59 Then Label2.Caption = "0" Label3.Caption = Label3.Caption + 1 End If Ну, а для Лейбла3. Надо, чтоб, если больше 23 часов, показывало не 24, а 00: If Label3.Caption > 23 Then Label3.Caption = "0" Теперь ставим ссылочку на нашу программу проверки ноликов Zero : Zero
Таймер. Программа Часики. Option Explicit Private Sub Form_Load() Form1.Caption = "Часики" Label1.Caption = Second(Time) Label2.Caption = Minute(Time) Label3.Caption = Hour(Time) Timer1.Enabled = True Zero End Sub Private Sub Timer1_Timer() Label1.Caption = Label1.Caption + 1 If Label1.Caption > 59 Then Label1.Caption = "0" Label2.Caption = Label2.Caption + 1 End If If Label2.Caption > 59 Then Label2.Caption = "0" Label3.Caption = Label3.Caption + 1 End If If Label3.Caption > 23 Then Label3.Caption = "0" Zero End Sub Private Sub Zero() If Len(Label1.Caption) < 2 Then Label1.Caption = "0" & Label1.Caption If Len(Label2.Caption) < 2 Then Label2.Caption = "0" & Label2.Caption If Len(Label3.Caption) < 2 Then Label3.Caption = "0" & Label3.Caption
Таймер. Программа Часики. III. Практическая часть. Запустить программу Visual Basic В теле процедуры меняем заголовок формы. Form1.Caption = "Часики" Установим «Таймер» на форму и зададим установки: Enabled – True. Interval – 1000 (время, в миллисекундах, через которое таймер срабатывает, если конечно включен). Устанавливаем три Label, задаем установки: Alignment – 2- Центровка (Это чтоб цифры были по центру лейблов) BorderStyle – 1-Фиксировано (это чтоб размер формы нельзя было изменить) Caption – 00 (значение лейблов изначально будет 00) Font - выберите размер шрифта 14, а начертание – полужирное. Вбиваем код программы. Запускаем на выполнение.