51348

Разработка расширенного интерфейса программ: динамические объекты

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

Информатика, кибернетика и программирование

Цель работы: Создать программу, которая, в соответствии с выбранным в объекте ComboBox числом, будет динамически(!) создавать соответствующее число объектов типа TEdit. По нажатию на кнопку "Подсчёт", ваша программа должна посчитать сумму введённых в формы TEdit чисел и вывести их на экран в любой форме (например, в новый TEdit).

Русский

2014-02-09

52 KB

8 чел.

Лабораторная работа 6.

Разработка расширенного интерфейса программ: динамические объекты

Выполнил: Шуклецов М.А.

 ФРТ, гр. 2106

Цель работы: Создать программу, которая, в соответствии с выбранным в объекте ComboBox числом, будет динамически(!) создавать соответствующее число объектов типа TEdit. По нажатию на кнопку "Подсчёт", ваша программа должна посчитать сумму введённых в формы TEdit чисел и вывести их на экран в любой форме (например, в новый TEdit).

Общий вид программы следующий:

Здесь мы видим следующие элементы управления:

«Создать массив TEdit» - Создает массив из окон TEdit

«Подсчет результатов» - Считает сумму всех чисел введенных выше

Код программы:

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

#include <vcl.h>

#pragma hdrstop

#include "Unit1.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

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

__fastcall TForm1::TForm1(TComponent* Owner)

       : TForm(Owner)

{

}

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

TEdit *edit[5];   //Резервирование памяти под элементы

       TButton *result_button;

       TEdit *result_field;

       int col=5;

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

void __fastcall TForm1::Button1Click(TObject *Sender)

{

for (int i=0; i<col; i++)   //Цикл создания 1 кнопки

       {

       edit[i] = new TEdit(this);  //Объявление 

       edit[i]->Parent = this;   //Расположение на этой форме

       edit[i]->Name = "Edit"+AnsiString(i); //Написание имени

       edit[i]->Height = 21;   //Размеры

       edit[i]->Width = 201;

       edit[i]->Left = 10;   //Положение У

       edit[i]->Top = 40+i * edit[i]->Height; //Положение Х

       edit[i]->Text = "0";   //Заполнение 0

       }

result_button = new TButton(this);

result_button->Parent = this;

result_button->Name = "Button2" ;

result_button->Width = 201;

result_button->Height = 25;

result_button->Left = 10;

result_button->Top = 145;

result_button->Caption = "Подсчет результатов";  //Надпись

 result_button->OnClick = Button2Click;   //Привязка действия к кнопке

}

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

void __fastcall TForm1::Button2Click(TObject *Sender) //Действие по нажатию на кнопку 

{    int i=0, s=0;

       result_field = new TEdit(this);

       result_field = new TEdit(this);

       result_field->Parent = this;

       result_field->Name = "Edit10";

       result_field->Height = 21;

       result_field->Width = 201;

       result_field->Left = 10;

       result_field->Top = 170;

       for ( i=0; i<col; i++)   //Подсчет суммы

       { s=s+StrToInt(edit[i]->Text); }

       result_field->Text = IntToStr(s);

}

Вывод: Мы научились создавать объекты самостоятельно, и использовать их в работе.


 

А также другие работы, которые могут Вас заинтересовать

77777. Многоэтажный жилой дом 3.76 MB
  Диски перекрытий включают сборные многопустотные плиты. Сборные плиты оперты концами на монолитные несущие ригели посредством бетонных шпонок образующихся при их бетонировании в открытых полостях по торцам плит.
77780. Теорія і практика оподаткування підприємства «Унірем Агро» 1.36 MB
  Актуальність теми полягає у розгляді законів та податків, що регулюють і регламентують всю діяльність сільськогосподарських підприємств в Україні та забезпечують відповідний контроль над ними, і які покликані внести спрощення у справлянні податків із сільськогосподарських товаровиробників...
77782. Реконструкция КУСП «Мишневичи» Шумилинского района 907.93 KB
  Одна из главных проблем, стоящих на современном этапе развития,- рациональное применение электрической энергии, наиболее эффективное использование электрооборудования. Для достижения этой цели необходимо знать и уметь пользоваться методом технических расчётов в планировании...
77783. Проектирование СТОА ООО “Стройметмастерсервис” 1.72 MB
  В 1970 году вступила в строй первая очередь завода рассчитанная на выпуск 220 тыс. автомобилей Жигули, и с конвейера сошли первые автомобили ВАЗ 2101, за основу которых был взят итальянский автомобиль ФИАТ 124. Мощность двигателя 2101 составляла 60 л.с., а максимальная скорость 140 км/ч.
77784. Правовые проблемы наследования по завещанию в гражданском праве Российской Федерации 279 KB
  Современному обществу нельзя обойтись без наследования, поэтому его значение очень велико. Особенно возросла роль наследственного права в нашей жизни в последние годы. У многих граждан появилась дорогостоящая собственность – дома, земельные участки, квартиры.
77785. PR-технологии продвижения торговой компании Babyliss 358.5 KB
  В современном мире PR является одним из наиболее динамично развивающихся и перспективных видов предпринимательской деятельности. С середины 90-х гг. в России наблюдается настоящий бум развития PR, обусловленный произошедшими экономическими и социальными изменениями.