Студопедия Главная Случайная страница Обратная связь

Разделы: Автомобили Астрономия Биология География Дом и сад Другие языки Другое Информатика История Культура Литература Логика Математика Медицина Металлургия Механика Образование Охрана труда Педагогика Политика Право Психология Религия Риторика Социология Спорт Строительство Технология Туризм Физика Философия Финансы Химия Черчение Экология Экономика Электроника

Задание №3. Создание программ с использованием компонента Timer





Цель занятия: Научиться работать с датой и временем

Студенты должны
знать: свойства и методы компонента Timer

уметь: создавать приложения с использованием компонента Timer

Задание.

1. Выберите в меню Пуск – Программы - CodeGear RAD Studio 2009 - C++Builder 2009

2. Создание новое приложение (FileNewVCL 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 вариант. Напишите программу, демонстрирующую работу программы Секундомер

 







Дата добавления: 2014-11-10; просмотров: 779. Нарушение авторских прав; Мы поможем в написании вашей работы!




Вычисление основной дактилоскопической формулы Вычислением основной дактоформулы обычно занимается следователь. Для этого все десять пальцев разбиваются на пять пар...


Расчетные и графические задания Равновесный объем - это объем, определяемый равенством спроса и предложения...


Кардиналистский и ординалистский подходы Кардиналистский (количественный подход) к анализу полезности основан на представлении о возможности измерения различных благ в условных единицах полезности...


Обзор компонентов Multisim Компоненты – это основа любой схемы, это все элементы, из которых она состоит. Multisim оперирует с двумя категориями...

Виды нарушений опорно-двигательного аппарата у детей В общеупотребительном значении нарушение опорно-двигательного аппарата (ОДА) идентифицируется с нарушениями двигательных функций и определенными органическими поражениями (дефектами)...

Особенности массовой коммуникации Развитие средств связи и информации привело к возникновению явления массовой коммуникации...

Тема: Изучение приспособленности организмов к среде обитания Цель:выяснить механизм образования приспособлений к среде обитания и их относительный характер, сделать вывод о том, что приспособленность – результат действия естественного отбора...

Мелоксикам (Мовалис) Групповая принадлежность · Нестероидное противовоспалительное средство, преимущественно селективный обратимый ингибитор циклооксигеназы (ЦОГ-2)...

Менадиона натрия бисульфит (Викасол) Групповая принадлежность •Синтетический аналог витамина K, жирорастворимый, коагулянт...

Разновидности сальников для насосов и правильный уход за ними   Сальники, используемые в насосном оборудовании, служат для герметизации пространства образованного кожухом и рабочим валом, выходящим через корпус наружу...

Studopedia.info - Студопедия - 2014-2026 год . (0.011 сек.) русская версия | украинская версия