Элементы специального назначения
Основные свойства
Основное событие OnTimer
Типичные ошибки
Программа «Рулетка»
В конструкторе формы
Вращение рулетки
Кнопка Старт
Кнопка Стоп
Дополнительное задание
58.16K
Category: programmingprogramming

Элементы специального назначения

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;
English     Русский Rules