3 Виконання роботи
Використані компоненти
1. Form – головне вікно програми.
2. Label – поле для виведення результату.
3. SpeedButton – кнопка виконання завдання
4. Image–поле для вставки малюнку
5. Timer – таймер для анімації
6. SkinManager– модуль що слугує для дизайну форми
7. В даному програмному продукту була використана структура типу:
Struct matches //оголошення структури
{
TImage *lab; //змінна типу TImage для більш зручного використання
} l[6]; //масив змінних типу TImage для подальшого викристання структури
Додаток: Код програми
#include<vcl.h>//об'єктно-орієнтована бібліотека для розробки програмних продуктів
#pragma hdrstop //завершує список файлів заголовка для препроцесора
#include "Unit1.h" //підключення модуля з кодом даного програмного продукту
#pragma package(smart_init)
//визначає послідовність ініціалізації складових частин програми.
#pragma link "acPNG" //підключає менеджер скінів «SkinManeger»
#pragma link "sSkinManager" /*дозволяє робити вибір між формами, які будуть використовуватись замість стандартної форми c++ builder */
#pragma resource "*.dfm" /*повідомляє препроцесору про те, що для форми необхідно використовувати файл *. dfm з ім'ям даного файлу*/
TForm1 *Form1; //змінна Form1 для быльш зрузного використання оператору TForm1
__fastcall TForm1::TForm1(TComponent* Owner): TForm(Owner) //виклик форми програми
{
Timer1->Interval = 10; //таймер почне рахувати на 10 одиниць з кожним разом
}
int t=-50,i,t2=0,h=0,n;//змінні,які були використані в даному програмному продукті
struct matches {
TImage *lab;
} l[6];
void__fastcall TForm1::FormCreate(TObject *Sender)
{
//подальші дії будуть виконані при старті програми
Timer1->Enabled=false; // відключення таймеру
l[0].lab=Image1; //присвоєння першому елементу масива структури компонент Image1
//ця дія використовується для більш зручного використання компонента TImage1
l[1].lab=Image2;
l[2].lab=Image3;
l[3].lab=Image4;
l[4].lab=Image5;
l[5].lab=Image6;}
void__fastcall TForm1::FormActivate(TObject *Sender)
{
//подальші дії будуть виконані як тільки вікно форми активується.
Timer1->Enabled=false; // відключення таймеру.
t=-50; //присвоєння змінній значення -50
}
void__fastcall TForm1::Image7Click(TObject *Sender)
{
//подальші дії будуть виконані при натисканні на компонент Image7
Timer1->Enabled=true; //ця дія активує таймер, який відповідає за пересування //компонента Image
Image7->Enabled=false; // ця дія заперечує використання компоненту Image7
}
void__fastcall TForm1::Timer1Timer(TObject *Sender)
{
//подальші дії будуть виконані при активації таймера пересування компоненту Image
if(Timer1->Enabled==true) //якщо перший таймер активовано...
{
t++; // додавання до змінної t 10 одиниць (див. стр.7 Timer1->Interval)
if(t==10)//якщо t=10...
{
l[4].lab->Top=(l[4].lab->Top)+50;//пересування компонента Image5 на 50 пікселів //вгору
}
if(t==30) )//якщо t=30...
{
l[4].lab->Left=(l[4].lab->Left)-50; } //пересування компонента Image5 на 50 //пікселів вліво
if(t==50) )//якщо t=50...
{ l[3].lab->Top=(l[3].lab->Top)+50; } //пересування компонента Image4 на 50 //пікселів вгору
if(t==70)
{
l[2].lab->Top=(l[2].lab->Top)+50;}
if(t==90){
l[1].lab->Top=(l[1].lab->Top)+50;}
if(t==110)
{
l[0].lab->Top=(l[0].lab->Top)+50;
}
if(t==130)
{
l[5].lab->Left=(l[5].lab->Left)+100;
}
if(t==150)
{
l[5].lab->Top=(l[5].lab->Top)+50;
}
if(t==170)
{
l[4].lab->Left=(l[4].lab->Left)-200;
}
if(t==175)
{
l[4].lab->Top=(l[4].lab->Top)-300;}
if(t==180)
{
l[4].lab->Left=(l[4].lab->Left)+150;
l[3].lab->Top=(l[3].lab->Top)+50;
if(t==200)
{
l[3].lab->Left=(l[3].lab->Left)-50;
}
if(t==220){
l[2].lab->Top=(l[2].lab->Top)+50;
}
if(t==240){
l[1].lab->Top=(l[1].lab->Top)+50;
if(t==260){
l[0].lab->Top=(l[0].lab->Top)+50;
}
if(t==280)
{
l[5].lab->Top=(l[5].lab->Top)+50;
}
if(t==300)
{
l[4].lab->Left=(l[4].lab->Left)+100;
}
if(t==320)
{
l[4].lab->Top=(l[4].lab->Top)+50;
}
if(t==340)
{
l[3].lab->Left=(l[3].lab->Left)-200;
if(t==345)
{
l[3].lab->Top=(l[3].lab->Top)-300;
}
if(m1==350)
{
l[1].lab->Left=(l[1].lab->Left)-345;
}
if(m1==370){
l[0].lab->Left=(l[0].lab->Left)+425;
}
if(m1==390){
l[0].lab->Top=(l[0].lab->Top)+50;
}
if(m1==410)
{
l[0].lab->Left=(l[0].lab->Left)-295;
}
if(m1==430)
{
l[5].lab->Left=(l[5].lab->Left)+475;
}
if(m1==450)
{
l[5].lab->Top=(l[5].lab->Top)-50;
}