Создание приложений с использованием различных компонентов
Создание приложений: 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