Similar presentations:
Элементы специального назначения
1. Элементы специального назначения
TTimer (вкладка System)2.
TTimer — это компонент, предназначенный длявыполнения кода через заданные промежутки
времени.
Используется для:
• создания анимации
• обновления времени на форме
• реализации игр
• периодической проверки условий
• автоматического обновления данных
3. Основные свойства
• Interval - определяетпериод срабатывания
таймера.
• Тип: int
Единица измерения:
миллисекунды
Примеры:
• 1000 → 1 секунда
• 500 → 0,5 секунды
• 100 → 0,1 секунды
•Enabled –
включает/отключает
таймер
Тип: bool
•true — таймер работает
•false — таймер
остановлен
4. Основное событие OnTimer
• Событие выполняется каждый раз череззаданный интервал времени.
• Пример обработчика:
void __fastcall TForm1::Timer1Timer(TObject
*Sender)
{
Label1->Caption = TimeToStr(Time());
}
Если Interval = 1000, код будет выполняться
каждую секунду.
5. Типичные ошибки
• Не установлено свойство Enabled взначении true
• Слишком маленький Interval
• «Тяжёлый» код внутри OnTimer
• Не выполняется остановка таймера после
достижения условия
6. Программа «Рулетка»
Как работаетпрограмма:
Нажать - Старт
Таймер каждые 100 мс
меняет число от 0 до 36
Нажать Стоп
Таймер
останавливается
Программа определяет
результат
Логика рулетки
0 — отдельный случай
(джекпот)
Чётное число —
выигрыш по чётным
Нечётное — выигрыш
по нечётным
7.
Компоненты наформе:
• TLabel →
LabelNumber
(крупный шрифт)
• TButton →
ButtonStart
(Старт)
• TButton →
ButtonStop (Стоп)
• TTimer → Timer1
Установите свойства:
Timer1->Interval = 100
Timer1->Enabled =
false
LabelNumber->Caption
= "0"
8. В конструкторе формы
__fastcall TForm1::TForm1(TComponent*Owner)
: TForm(Owner)
{
randomize(); // инициализация генератора
случайных чисел
}
9. Вращение рулетки
void __fastcall TForm1::Timer1Timer(TObject*Sender)
{
// Объявить целочисленную переменную
number и присвоить случайное число
функцией random от 0 до 36, например,
random(37)
// Присвоить свойству Caption элемента
управления LabelNumber значение
переменной number
}
10. Кнопка Старт
void __fastcall TForm1::ButtonStartClick(TObject*Sender)
{
//таймер включить
}
11. Кнопка Стоп
void __fastcall TForm1::ButtonStopClick(TObject *Sender){
//выключить таймер
//объявить целочисленную переменную result и присвоить
значение свойства Caption, элемента управления LabelNumber
// логика рулетки
0 вывести сообщение Выпал 0! Джекпот!
четное число сообщение Выпало чётное число!
нечетное число сообщение Выпало нечетное число!
}
12. Дополнительное задание
Менять цвет числа в LabelNumber:Логика:
• 0 — зелёный
• чётные — красные
• нечётные — чёрные
Например:
LabelNumber->Font->Color = clWhite;
programming