Создание приложений с использованием различных компонентов

Создание приложений: ProgressBar, вычисление по формуле, двумерный массив, калькулятор, медиа-плеер, одномерный массив, список, текстовый редактор. Создание различных обработчиков событий. Разработка заставки, окна ввода пароля и главной формы.

Рубрика Программирование, компьютеры и кибернетика
Вид лабораторная работа
Язык русский
Дата добавления 22.01.2015
Размер файла 781,7 K

Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже

Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.

Размещено на http://www.allbest.ru/

Лабораторная работа №1

Тема: создание приложений с использованием различных компонентов

Цель: Научиться создавать приложения, используя различные компоненты

Ход работы

1. Создание приложения: ProgressBar

- Размещаем на форме 3 компонента ProgressBar, 7 CGauge, 1 Button, 2 Timer.

- Создаем следующие обработчики событий:

void __fastcall TForm1::Timer1Timer(TObject *Sender)

{

ProgressBar1->StepIt(); // смещаем позицию прогрессбара

if(ProgressBar1->Position == ProgressBar1->Max)

{

ProgressBar1->Position =ProgressBar1-> Min;

Timer1->Enabled = false;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

ProgressBar1->Position = 0; // позицию на ноль

ProgressBar1->Max = 100; // правая граница

Timer1->Interval = 100; // интервал = 100 миллисекунд

Timer1->Enabled = true; // включаем таймер

ProgressBar2->Position = 0; // позицию на ноль

ProgressBar2->Max = 100; // правая граница

Timer1->Interval = 100; // интервал = 100 миллисекунд

Timer2->Enabled = true; // включаем таймер

for(int g=0;g<=100;g++)

{ CGauge1->Progress=g;

CGauge3->Progress=g;

CGauge4->Progress=g;

CGauge5->Progress=g;

Sleep(25); // Делаем задержку

}

for(int g=0;g<=100;g++)

{ CGauge6->Progress=g;

CGauge7->Progress=g;

Sleep(25); // Делаем задержку

}

for(int g=0;g<=100;g++)

{ CGauge2->Progress=g;

Sleep(25); // Делаем задержку

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Timer2Timer(TObject *Sender)

{

if (Timer1->Enabled == false)

{ProgressBar2->StepIt(); // смещаем позицию прогрессбара

if(ProgressBar2->Position == ProgressBar2->Max)

{

ProgressBar2->Position =ProgressBar2-> Min;

Timer2->Enabled = false; }

ProgressBar4->StepIt(); // смещаем позицию прогрессбара

if(ProgressBar4->Position == ProgressBar4->Max)

{

ProgressBar4->Position =ProgressBar4-> Min;

Timer2->Enabled = false; }

}

}

- Готовое приложение:

2. Создание приложения: Вычисление по формуле

- Размещаем на форме 2 Button, 1 ComboBox, 4 Edit, 1 Image, 5 Label

- Задаем следующие свойства объектам: ComboBox - Items

Сумма (2X+cos^2(Y)+10)

Сумма (4Y^2-2X)

Произведение ((X+1)*(Y-log(X))

Произведение (sinY-|x|)

Picture

Image - Выбираем картинку

- Создаем следующие обработчики событий:

Кнопка «Вычислить»:

void __fastcall TForm1::Button1Click(TObject *Sender)

{

int n, k, x, y, n1, i;

x= StrToInt (Edit1-> Text);

y= StrToInt (Edit4-> Text);

n= StrToInt (Edit2-> Text);

n1 = ComboBox1-> ItemIndex;

switch (n1)

{ case 0:

{ k=0; for(i=0;i<n;i++) k=k+(2*x+pow(cos(y),2)+10);break;}

case 1:

{ k=0; for(i=0;i<n;i++) k=k+(4*y*y-2*x);break;}

case 2:

{ k=1; for(i=0;i<n;i++) k=k*((x+1)*(y-log(x)));break;}

case 3:

{ k=1; for(i=0;i<n;i++) k=k*(sin(y)-fabs(x));}

}

Edit3-> Text = IntToStr (k);

}

//---------------------------------------------------------------------------\

Кнопка «Выход»:

void __fastcall TForm1::Button2Click(TObject *Sender)

{

Close();

}

- Готовое приложение:

3. Создание приложения: Двумерный массив

- Размещаем на форме 2 компонента Button, 3 Label, 1 StaticText, 1 StringGrid, 1 SpinEdit, 1 Edit, 1 UpDown, 1 GroupBox, 4 CheckBox/

- Создаем следующие обработчики событий:

- Задаем компонентам CheckBox следующие значения свойств Caption:

Максимальный элемент

Минимальный элемент

Сумма:

Кнопка Создания пустого массива.

void __fastcall TForm1::Button1Click(TObject *Sender)

{

int i,j;

for (i = 0; i <StringGrid1-> ColCount; i++)

for (j = 0; j <StringGrid1-> RowCount; j++)

StringGrid1->Cells[i][j]="";

if (StrToInt (Edit1-> Text)<=0)

StaticText1->Caption = "Введите количество столбцов";

if (StrToInt (CSpinEdit1-> Text)<=0)

StaticText1->Caption = "Введите количество строк";

if ((StrToInt (Edit1-> Text)!=0) && (StrToInt (CSpinEdit1-> Text)!=0) )

{StaticText1->Caption = "Заполните массив целыми числами";

StringGrid1-> ColCount = StrToInt (Edit1-> Text);

StringGrid1-> RowCount = StrToInt (CSpinEdit1-> Text);}

}

//---------------------------------------------------------------------------

Кнопка Поиска элементов

void __fastcall TForm1::Button2Click(TObject *Sender)

{

int i,j,n; int max,min,s=0,p=1;

ListBox1->Clear();

max = StrToInt(StringGrid1-> Cells [0] [0]);

min = StrToInt(StringGrid1-> Cells [0] [0]);

for (i = 0; i <StringGrid1-> ColCount; i++)

for (j = 0; j <StringGrid1-> RowCount; j++)

{ if (max <StrToInt (StringGrid1-> Cells [i] [j]))

max=StrToInt(StringGrid1->Cells[i][j]);

if (min >StrToInt (StringGrid1-> Cells [i] [j]))

min=StrToInt(StringGrid1->Cells[i][j]);

s+= StrToInt(StringGrid1->Cells[i][j]);

p*= StrToInt(StringGrid1->Cells[i][j]);

}

if (CheckBox1->Checked) ListBox1->Items->Add("Максимальный элемент: " + IntToStr (max));

if (CheckBox2->Checked) ListBox1->Items->Add("Минимальный элемент: " + IntToStr (min));

if (CheckBox3->Checked) ListBox1->Items->Add("Сумма: " + IntToStr (s));

if (CheckBox4->Checked) ListBox1->Items->Add("Произведение: " + IntToStr (p));

}

- Готовое приложение:

4. Создание приложения: Калькулятор

- Размещаем на форме 2 компонентаTrackBar, 7 Label

- Задаем свойства для TrackBar:

Min - 1, Max - 1000

- Создаем следующие обработчики событий:

void __fastcall TForm1::TrackBar1Change(TObject *Sender)

{

Label1->Caption=IntToStr(TrackBar1->Position);

Label3->Caption=IntToStr(TrackBar1->Position*TrackBar2->Position);

Label4->Caption=IntToStr(TrackBar1->Position+TrackBar2->Position);

Label6->Caption=IntToStr(TrackBar1->Position-TrackBar2->Position);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::TrackBar2Change(TObject *Sender)

{

Label2->Caption=IntToStr(TrackBar2->Position);

Label3->Caption=IntToStr(TrackBar1->Position*TrackBar2->Position);

Label4->Caption=IntToStr(TrackBar1->Position+TrackBar2->Position);

Label6->Caption=IntToStr(TrackBar1->Position-TrackBar2->Position);

}

- Готовое приложение:

5. Создание приложения: Медиа-плеер

- Размещаем на форме 2 компонента Label, 1 MediaPlayer, 1 OpenDialog, 2 Button.

- Создаем следующие обработчики событий:

Кнопка открытия файла:

void __fastcall TForm1::Button1Click(TObject *Sender)

{

OpenDialog1->Execute(); //вызов окна открытия файла

MediaPlayer1->Close(); //закрытие файла

//передача имени файла из окна общего диалога проигрывателю

MediaPlayer1->FileName = OpenDialog1->FileName;

MediaPlayer1->Open(); //открытие файла

Label1->Caption = MediaPlayer1->FileName;

}

//---------------------------------------------------------------------------

Кнопка выхода

void __fastcall TForm1::Button2Click(TObject *Sender)

{

Close();

}

Готовое приложение:

приложение ввод событие редактор

6. Создание приложения: Одномерный массив

- Размещаем на форме 2 GroupBox, 4 Edit, 2 Button, 4 Label .

- Создаем следующие обработчики событий:

Кнопка добавления числа в массив и вычисления суммы:

int m[100];

int i=0,n;

void __fastcall TForm1::Button1Click(TObject *Sender)

{

n=StrToInt(Edit4->Text);

Edit2->Clear();

m[i]=StrToInt(Edit1->Text);

i++;

for(int i=0;i<n;i++)

Edit2->Text=Edit2->Text+" "+IntToStr(m[i]);

int s=0;

for(int i=0;i<10;i++)s+=m[i];

Edit3->Text=IntToStr(s);

Edit1->SetFocus() ;

}

//---------------------------------------------------------------------------

Кнопка «Очистить»

void __fastcall TForm1::Button2Click(TObject *Sender)

{

for(int j=0;j<100;j++)

m[j]=0;

Edit1->Clear();

Edit2->Clear();

Edit3->Clear();

Edit4->Clear();

Edit4->SetFocus();

i=0;

}

- Готовое приложение:

7. Создание приложения: Список

- Размещаем на форме 4 Button, 2 Edit, 1 Label, 1 ListBox, 1 RadioGroup

- Задаем св-во Items для RadioGroup:

Макс.

Мин.

Сумму

Произв.

- Создаем следующие обработчики событий:

Кнопка добавления числа в список:

int n=0;

void __fastcall TForm1::Button1Click(TObject *Sender)

{

if (! (Edit1-> Text == ""))

{

ListBox1-> Items-> Add (Edit1-> Text);

Edit1-> Text = "";

n++;

Edit1->SetFocus();

}

}

//---------------------------------------------------------------------------

Кнопка очищения:

void __fastcall TForm1::Button2Click(TObject *Sender)

{

if (! (ListBox1-> ItemIndex == -1))

ListBox1-> Items-> Delete (ListBox1-> ItemIndex);

}

//---------------------------------------------------------------------------

Кнопка выход

void __fastcall TForm1::Button3Click(TObject *Sender)

{

Close ();

}

//---------------------------------------------------------------------------

Кнопка поиска из списка

void __fastcall TForm1::Button4Click(TObject *Sender)

{

int i,max,min,s,p;

if (RadioGroup1->ItemIndex == 0) {

max = StrToInt( ListBox1->Items->Strings [0]);

for (i=1;i<n;i++)

if (StrToInt( ListBox1->Items->Strings [i])>max) max= StrToInt( ListBox1->Items->Strings [i]);

Edit2->Text = IntToStr(max); }

if (RadioGroup1->ItemIndex == 1) {

min = StrToInt( ListBox1->Items->Strings [0]);

for (i=1;i<n;i++)

if (StrToInt( ListBox1->Items->Strings [i])<min) min= StrToInt( ListBox1->Items->Strings [i]);

Edit2->Text = IntToStr(min); }

if (RadioGroup1->ItemIndex == 2) {

s=0;

for (i=1;i<n;i++)

s+=StrToInt( ListBox1->Items->Strings [i]);

Edit2->Text = IntToStr(s); }

if (RadioGroup1->ItemIndex == 3) {

p=1;

for (i=1;i<n;i++)

p*=StrToInt( ListBox1->Items->Strings [i]);

Edit2->Text = IntToStr(p); }

}

- Готовое приложение

8. Создание приложения: Текстовый редактор

- Размещаем на форме 1 ToolBar, 1 StatusBar, 1 OpenDialog, 1 FontDialog, 1 ActionList, 1 RichEdit, 1 SaveDialog

- Обработчики событий:

void __fastcall TForm1::FileNewExecute(TObject *Sender)

{

RichEdit1->Clear();

FileName = "Untitled.txt";

StatusBar1->Panels->Items[0]->Text = FileName;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::FileOpenExecute(TObject *Sender)

{

if (OpenDialog1->Execute())

{

RichEdit1->Lines->LoadFromFile(OpenDialog1->FileName);

FileName = OpenDialog1->FileName;

StatusBar1->Panels->Items[0]->Text = FileName;

}}

//---------------------------------------------------------------------------

void __fastcall TForm1::FileSaveAsExecute(TObject *Sender)

{

SaveDialog1->FileName = FileName;

SaveDialog1->InitialDir = ExtractFilePath(FileName);

if (SaveDialog1->Execute())

{

RichEdit1->Lines->SaveToFile(SaveDialog1->FileName);

FileName = SaveDialog1->FileName;

StatusBar1->Panels->Items[0]->Text = FileName;

}

}

//---------------------------------------------------------------------------

void __fastcall TForm1::FileExitExecute(TObject *Sender)

{

Close();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::HelpAboutExecute(TObject *Sender)

{

AboutBox->ShowModal();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)

{

FileName = "Untitled.txt";

StatusBar1->Panels->Items[0]->Text = FileName;

RichEdit1->Clear();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::FileSaveExecute(TObject *Sender)

{

if (FileName == "Untitled.txt")

FileSaveAsExecute(NULL);

else RichEdit1->Lines->SaveToFile(FileName);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::ToolButton10Click(TObject *Sender)

{

FontDialog1->Font->Assign(RichEdit1->SelAttributes);

if (FontDialog1->Execute()) RichEdit1->SelAttributes->Assign(FontDialog1->Font);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::ToolButton11Click(TObject *Sender)

{

if (ColorDialog1->Execute()) RichEdit1->Color=ColorDialog1->Color;

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N1Click(TObject *Sender)

{

FontDialog1->Font->Assign(RichEdit1->SelAttributes);

if (FontDialog1->Execute()) RichEdit1->SelAttributes->Assign(FontDialog1->Font);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::N2Click(TObject *Sender)

{

if (ColorDialog1->Execute()) RichEdit1->Color=ColorDialog1->Color;

}

- Готовое приложение:

9. Создание главного приложения

- Размещаем на форме 8 Button, 2 Label, 1 Timer, 1 Image

- Создаем еще 2 формы(для заставки и проверки пароля)

- На форму с заставкой размещаем Image, в св-ве формы BorderStyle - None, растягиваем Image на всю форму, ставим Timer, интервал - 5000 мс.

- На форму с паролем размещаем Edit, Button, Label

- Обработчик для кнопки ввода:

void __fastcall TForm3::Button1Click(TObject *Sender)

{

if (Edit1->Text!="1")

if (MessageBox(0,"Пароль неверный",

"ERROR!!!",MB_OK)==IDOK)

Edit1->SetFocus() ;

if (Edit1->Text=="1") Close();

}

- Копируем .exe файлы приложений в папку с проектом.

- Обработчики событий:

void __fastcall TForm1::Timer1Timer(TObject *Sender)

{

Label1->Caption=Now().TimeString();

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)

{

WinExec("ProgressBar",1);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button2Click(TObject *Sender)

{

WinExec("Вычисление по формуле",1);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button3Click(TObject *Sender)

{

WinExec("Двумерный массив",1);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button4Click(TObject *Sender)

{

WinExec("Калькулятор",1);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button5Click(TObject *Sender)

{

WinExec("Медиа-плеер",1);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button6Click(TObject *Sender)

{

WinExec("Одномерный массив",1);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button7Click(TObject *Sender)

{

WinExec("Список",1);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::Button8Click(TObject *Sender)

{

WinExec("Текстовый редактор",1);

}

//---------------------------------------------------------------------------

void __fastcall TForm1::FormCreate(TObject *Sender)

{

Form2=new TForm2(this);

Form2->ShowModal(); Form2->Free();

Form3=new TForm3(this);

Form3->ShowModal(); Form3->Free();

}

- Главное приложение:

Заставка:

Окно ввода пароля:

Главная форма:

Размещено на Allbest.ru


Подобные документы

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

    лабораторная работа [19,0 K], добавлен 15.07.2009

  • Среда разработки C++ Builder. Использование видимых и невидимых компонентов. Прототип обработчика событий. Менеджер проектов. Установка опций проекта. Создание приложений в С++ Builder. Создание простейшего приложения. Размещение компонентов на форме.

    курсовая работа [226,9 K], добавлен 24.03.2009

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

    контрольная работа [319,7 K], добавлен 29.05.2014

  • Настройка текстового редактора MS Word. Создание текстового документа. Создание шаблона. Форматирование сложного документа. Создание списков и колонок текста. Создание таблиц. Создание формул. Связывание и внедрение объектов. Создание макросов.

    контрольная работа [36,6 K], добавлен 10.05.2004

  • Создание кнопки панели инструментов для выполнения макроса. Практический пример создания таблицы значений функций. Использование оператора Select Case. Создание процедуры с использованием операторов цикла For/Next и Do/Loop. Оператор InputBox, массив.

    контрольная работа [501,8 K], добавлен 06.12.2013

  • Методика создания приложений передающих данные в Microsoft Word. Технология взаимодействия приложений с текстовым редактором Microsoft Word. Создание и использование экземпляров серверов автоматизации. Взаимодействие с сервером на уровне документа.

    курсовая работа [120,7 K], добавлен 26.03.2010

  • Создание и совершенствование различных программ и приложений. Основные понятия, используемые при работе с функциями Excel. Создание базы данных на основе электронных таблиц, построение различных графиков и диаграмм. Обработка электронной информации.

    контрольная работа [39,7 K], добавлен 01.03.2017

  • Основные понятия и назначение технологии JavaBeans, ее компоненты и принцип работы, преимущества. Методика создания jar файлов в среде Eclipse. Структура файлов манифеста. Создание многопоточных приложений. Изучение визуального редактора Java BeanBox.

    лабораторная работа [67,4 K], добавлен 30.06.2009

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

    лабораторная работа [32,6 K], добавлен 06.07.2009

  • Создание консольных приложений с использованием графического интерфейса пользователя. Содержание палитры компонентов программы С++ Builder. Использование возможностей объектно-ориентированного программирования, особенности редактора кода и форм в С++.

    лекция [27,0 K], добавлен 22.12.2010

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.