Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Практикум ОА Цымбалюк.doc
Скачиваний:
6
Добавлен:
29.08.2019
Размер:
2.1 Mб
Скачать

Задание №6. Работа с графикой. Вывод текста. Программа Приветствие

Цель занятия: Научиться работать с графическими компонентами

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

уметь: создавать приложения для работы с графикой

Задание.

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

  2. Создание новое приложение (FileNewVCL Forms Application).

      1. Проектирование интерфейса приложения. Переименуйте заголовок формы на Приветствие!

      2. Измените цвет формы по своему усмотрению.

    1. Программирование приложения

      1. Описание переменных

#include "DateUtils.hpp" // включите данный модуль для работы с датой и временем

AnsiString sMouth[]={"","января","февраля","марта","апреля","мая","июня", "июля","августа","сентября","октября","ноября","декабря"};

      1. На событие формы onPaint напишите процедуру:

void __fastcall TForm1::FormPaint(TObject *Sender)

{

int h; //текущее время

AnsiString mes; //сообщение

int wt, ht; //размер области вывода текста

int x,y; //координаты вывода текста

h=HourOf(Now());

if (h<=4) mes="Доброй ночи";

else if (h<12) mes="Доброе утро";

else if (h<=16) mes="Добрый день";

else mes="Добрый вечер";

Form1->Font->Name = "Times New Roman";

Form1->Canvas->Font->Size = 20;

wt=Canvas->TextWidth(mes); //определение размера области вывода текста

ht=Canvas->TextHeight(mes);

x=(ClientWidth - wt) / 2;

y=ClientHeight / 2-ht;

Canvas->Brush->Style=bsClear; //чтобы область была прозрачной

Canvas->TextOutA(x,y,mes);

y=y+ht; //нижняя граница области вывода текста

mes = FormatDateTime("Сегодня d", Now()); //дата и день недели

mes = mes + " " +sMouth[MonthOf(Now())]+","+FormatDateTime("dddd", Now());

Canvas->Font->Size -=4;

wt= Canvas->TextWidth(mes);

ht=Canvas->TextHeight(mes);

x=(ClientWidth - wt) / 2;

y = y+6;

Canvas ->TextOutA(x,y,mes);

}

      1. Напишите процедуру при изменении размера формы:

Void __fastcall tForm1::FormResize(tObject *Sender)

{

Form1->Refresh();

}

  1. Задание для самостоятельного выполнения:

  1. Измените цвет вывода текста на синий.

  2. Измените размер шрифта, название шрифта, начертание для текста на произвольный

  3. Добавьте в область вывода надпись «Пора работать» в зависимости от времени суток

  4. Добавьте в область вывода надпись «Пора спать» в зависимости от времени суток

  5. Добавьте в область вывода надпись «Отдых», «Работа» в зависимости от времени суток

  6. Добавьте в область вывода надпись «Рабочий день», «Выходной» в зависимости от дня недели

  7. Добавьте в область вывода надпись – текущий год с определением високосный он или нет.

  8. Добавьте сообщение: сколько месяцев осталось до Нового года

  9. Добавьте сообщение: сколько дней осталось до 1 июня

  10. Добавьте сообщение: сколько дней осталось до Нового года

  11. Добавьте сообщение: сколько дней осталось до вашего дня рождения

  12. Добавьте сообщение: сколько дней осталось от сегодняшнего числа до введённой вами даты

Сдайте работу преподавателю

Вопросы для контроля и самоконтроля:

  1. Вывод текста.

  2. Свойство Canvas: методы и свойства.

Задание №7. Мультимедиа. Анимация в С++

Цель занятия: Научиться работать с компонентом Animate

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

уметь: программировать компонент Animate

Задание.

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

  2. Создание консольное приложение (FileNewVCL Forms Application).

    1. Проектирование интерфейса приложения: разместите на форму следующие компоненты (смотри рисунок)

      1. Переименуйте форму на Просмотр AVI изображений.

      2. В раздел описания переменных введите:

int CFrame; // номер кадра, отображаемого в режиме просмотра по кадрам

    1. Программирование приложения

      1. Создание функции для открытия AVI файла

        1. Перейдите на программный код Unit1.h

        2. Добавьте после описания используемых компонент описание функции:

void __fastcall OpenAVI(void);

        1. Перейдите на модуль Unit1.cpp. Напишите реализацию процедуры:

void __fastcall TForm1::OpenAVI(void)

{ Button1->Enabled = False;

Button2->Enabled = False;

Button3->Enabled = False;

RadioButton1->Enabled = False;

RadioButton2->Enabled = False;

try

{Animate1->FileName = Edit1->Text;}

catch (Exception &e)

{ShowMessage("Ошибка формата AVI файла.(Анимация не должна сопровождаться звуком.)");}

Button1->Enabled = True;

RadioButton1->Enabled = True;

RadioButton2->Enabled = True;}

      1. Напишите процедуру для нажатия на кнопку Выбрать