Задание №3. Создание программ с использованием компонента Timer
Цель занятия: Научиться работать с датой и временем Студенты должны уметь: создавать приложения с использованием компонента Timer Задание. 1. Выберите в меню Пуск – Программы - CodeGear RAD Studio 2009 - C++Builder 2009 2. Создание новое приложение (File – New – VCL Forms Application). 3. Создайте приложение «Угадай число» a. Проектирование интерфейса приложения b. Программирование приложения а). Определение свойств добавленных компонент в программе: const TR=10; //время для решения задачи int pw; //загаданное число int rem=TR; //остаток времени __fastcall TForm1:: TForm1(TComponent* Owner) : TForm(Owner) { Label2-> Caption = IntToStr(TR); ProgressBar1-> Max=TR; //настройка индикатора, начальное значение равно максимальному ProgressBar1-> Position=TR; ProgressBar1-> Step=1; // шаг изменения ProgressBar1-> Smooth = true; // индикатор - полоса Randomize(); // генератор случайных чисел pw=Random(9); // загаданное число } б). Напишите процедуру на событие onTimer void __fastcall TForm1:: Timer1Timer(TObject *Sender) { Rem--; ProgressBar1-> Position--; Label2-> Caption = IntToStr (rem); if (rem==0) { Timer1-> Enabled=false; Edit1-> Enabled=false; Button1-> Enabled=false; ShowMessage(" Вы не справились. \n Загаданное число " +IntToStr (pw)); } } в). Щелчок по переключателю Полоса void __fastcall TForm1:: CheckBox1Click(TObject *Sender) { if (CheckBox1-> Checked) { ProgressBar1-> Step=1; ProgressBar1-> Smooth = true; } Else { ProgressBar1-> Step=6; ProgressBar1-> Smooth = false; } } г). Нажатие кнопки ОК void __fastcall TForm1:: Button1Click(TObject *Sender) { if (StrToInt(Edit1-> Text)==pw) { Timer1-> Enabled=false; Edit1-> Enabled=false; Button1-> Enabled=false; ShowMessage(" Вы справились. \n Вы угадали число за " +IntToStr (TR-rem)+" секунд"); } } д). Самостоятельно напишите процедуру для нажатия клавиши в поле редактирования окна ввода – событие onKeyPress. При написании программы учтите возможность нажатия только клавиш от 0 до 9, клавиши удаления символа и клавиши ввода. е). Самостоятельно напишите процедуру на событие onChange компонента Edit1. В данной процедуре учтите, что кнопка ОК должна быть активна только в случае, если длина строки в окне ввода равна 1 символу. c. Создайте справочное руководство в формате html и напишите команду для открытия справки: void __fastcall TForm1:: Button2Click(TObject *Sender) { ShellExecute(Form1-> Handle, " open", " help.html", NULL, NULL, SW_RESTORE); } d. Добавьте справку о программе в отдельном окне (форме).
4. Задание для самостоятельного выполнения:
1 вариант. Добавьте отображение в строке состояния количество прошедших секунд таймера для решения задачи. 2 вариант. Напишите программу для движения надписи слева направо " Я буду сдавать экзамен по программированию" с использованием компонента Timer. 3 вариант. Напишите программу для движения надписи справа налево " Я буду сдавать экзамен по программированию" с использованием компонента Timer. 4 вариант. Напишите программу для движения надписи сверху вниз " Я буду сдавать экзамен по программированию" с использованием компонента Timer. 5 вариант. Напишите программу для движения надписи снизу вверх " Я буду сдавать экзамен по программированию" с использованием компонента Timer. 6 вариант. Напишите программу для движения кнопки " Нажми меня" слева направо с использованием компонента Timer. 7 вариант. Напишите программу для движения кнопки " Нажми меня" справа налево с использованием компонента Timer. 8 вариант. Напишите программу для движения кнопки " Нажми меня" по главной диагонали экрана с использованием компонента Timer. 9 вариант. Напишите программу для движения кнопки " Нажми меня" по побочной диагонали экрана с использованием компонента Timer. 10 вариант. Напишите программу для движения кнопки " Нажми меня" по периметру экрана с использованием компонента Timer. 11 вариант. Напишите программу для движения кнопки " Нажми меня" по нарисованному лабиринту с использованием компонента Timer. 12 вариант. Напишите программу, демонстрирующую работу программы Секундомер
|