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

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

Задание №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 оперирует с двумя категориями...


Композиция из абстрактных геометрических фигур Данная композиция состоит из линий, штриховки, абстрактных геометрических форм...


Важнейшие способы обработки и анализа рядов динамики Не во всех случаях эмпирические данные рядов динамики позволяют определить тенденцию изменения явления во времени...

ОЧАГОВЫЕ ТЕНИ В ЛЕГКОМ Очаговыми легочными инфильтратами проявляют себя различные по этиологии заболевания, в основе которых лежит бронхо-нодулярный процесс, который при рентгенологическом исследовании дает очагового характера тень, размерами не более 1 см в диаметре...

Примеры решения типовых задач. Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2   Пример 1.Степень диссоциации уксусной кислоты в 0,1 М растворе равна 1,32∙10-2. Найдите константу диссоциации кислоты и значение рК. Решение. Подставим данные задачи в уравнение закона разбавления К = a2См/(1 –a) =...

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

Растягивание костей и хрящей. Данные способы применимы в случае закрытых зон роста. Врачи-хирурги выяснили...

ФАКТОРЫ, ВЛИЯЮЩИЕ НА ИЗНОС ДЕТАЛЕЙ, И МЕТОДЫ СНИЖЕНИИ СКОРОСТИ ИЗНАШИВАНИЯ Кроме названных причин разрушений и износов, знание которых можно использовать в системе технического обслуживания и ремонта машин для повышения их долговечности, немаловажное значение имеют знания о причинах разрушения деталей в результате старения...

Различие эмпиризма и рационализма Родоначальником эмпиризма стал английский философ Ф. Бэкон. Основной тезис эмпиризма гласит: в разуме нет ничего такого...

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