Студопедия — Задание №3. Создание программ с использованием компонента Timer
Студопедия Главная Случайная страница Обратная связь

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

Задание №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; просмотров: 767. Нарушение авторских прав; Мы поможем в написании вашей работы!



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

Практические расчеты на срез и смятие При изучении темы обратите внимание на основные расчетные предпосылки и условности расчета...

Функция спроса населения на данный товар Функция спроса населения на данный товар: Qd=7-Р. Функция предложения: Qs= -5+2Р,где...

Аальтернативная стоимость. Кривая производственных возможностей В экономике Буридании есть 100 ед. труда с производительностью 4 м ткани или 2 кг мяса...

ТЕХНИКА ПОСЕВА, МЕТОДЫ ВЫДЕЛЕНИЯ ЧИСТЫХ КУЛЬТУР И КУЛЬТУРАЛЬНЫЕ СВОЙСТВА МИКРООРГАНИЗМОВ. ОПРЕДЕЛЕНИЕ КОЛИЧЕСТВА БАКТЕРИЙ Цель занятия. Освоить технику посева микроорганизмов на плотные и жидкие питательные среды и методы выделения чис­тых бактериальных культур. Ознакомить студентов с основными культуральными характеристиками микроорганизмов и методами определения...

САНИТАРНО-МИКРОБИОЛОГИЧЕСКОЕ ИССЛЕДОВАНИЕ ВОДЫ, ВОЗДУХА И ПОЧВЫ Цель занятия.Ознакомить студентов с основными методами и показателями...

Меры безопасности при обращении с оружием и боеприпасами 64. Получение (сдача) оружия и боеприпасов для проведения стрельб осуществляется в установленном порядке[1]. 65. Безопасность при проведении стрельб обеспечивается...

Философские школы эпохи эллинизма (неоплатонизм, эпикуреизм, стоицизм, скептицизм). Эпоха эллинизма со времени походов Александра Македонского, в результате которых была образована гигантская империя от Индии на востоке до Греции и Македонии на западе...

Демографияда "Демографиялық жарылыс" дегеніміз не? Демография (грекше демос — халық) — халықтың құрылымын...

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

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