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



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

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

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

ТЕОРЕТИЧЕСКАЯ МЕХАНИКА Статика является частью теоретической механики, изучающей условия, при ко­торых тело находится под действием заданной системы сил...

Типовые ситуационные задачи. Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт Задача 1.У больного А., 20 лет, с детства отмечается повышенное АД, уровень которого в настоящее время составляет 180-200/110-120 мм рт. ст. Влияние психоэмоциональных факторов отсутствует. Колебаний АД практически нет. Головной боли нет. Нормализовать...

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

Признаки классификации безопасности Можно выделить следующие признаки классификации безопасности. 1. По признаку масштабности принято различать следующие относительно самостоятельные геополитические уровни и виды безопасности. 1.1. Международная безопасность (глобальная и...

Этические проблемы проведения экспериментов на человеке и животных В настоящее время четко определены новые подходы и требования к биомедицинским исследованиям...

Классификация потерь населения в очагах поражения в военное время Ядерное, химическое и бактериологическое (биологическое) оружие является оружием массового поражения...

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

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