к оглавлению

Первый проект на C-Builder

Новый проект создается автоматически при запуске C++ Builder. Также можно выбрать команду File->New Application или открыть т.н. «Хранилище новых объектов» командой File->New.

Итак, каким-то из способов мы сделали начальную программу. Теперь сделаем что-то, преследующее банальную, но подходящую цель – решение квадратного уравнения.

Перетащите на форму компоненты TLabel gif/2_1.gif (128 b)TEdit gif/2_2.gif (104 b) и TButton gif/2_3.gif (143 b) и разместите, как показано на рисунке (чтобы разместить сразу несколько компонентов, нажмите на его кнопку при нажатой клавише Shift). Чтобы модифицировать размеры компонентов, нужно ввести соответствующие значения в свойства TopLeftWidthHeight Инспектора или мышью навести на угол компонента и перетащить его. Короче, визуально.

gif/2_4.gif (2993 b)

Для изменения имени выбранного компонента используйте свойство Name.

Чтобы модифицировать надписи этих компонентов, нужно изменить свойство Caption в Инспекторе объектов. Для определения обработчика события OnClick(), которое возникает при нажатии на объект кнопкой мыши, можно пойти двумя путями: ввести имя или выбрать его из списка доступных в правой вкладке Инспектора, или просто два раза щелкнуть по кнопке. После этого в Редакторе откроется место для ввода кода:

gif/2_5.gif (1847 b)

Это, собственно, и есть процедура обработки события. Сюда нужно ввести следующие строчки:

#include <math.h>

void __fastcall TForm1::Button1Click(TObject *Sender)
{
	double a,b,c;
	a=Edit1->Text.ToDouble();
	b=Edit2->Text.ToDouble();
	c=Edit3->Text.ToDouble();
	int d=b*b+4*a*c;
	if (d<0){
		Label6->Caption="Нет корней!!!";
		return;
	};
	double x1=(-b+sqrt(d))/(2*a);
	double x2=(-b-sqrt(d))/(2*a);
	Label6-<Caption=String(x1)+"   ;\r\n   "+String(x2);
}

Здесь, по-моему, все понятно - Edit1Edit2 и Edit3 – соответствующие области ввода, а Label6 – надпись, здесь невидимая, поскольку с нулевым текстом, а в программе выводящая результат. Свойство Text объектов класса TEdit содержит введенную строку. Программа выводит полученные корни или говорит, что их нет.

Честно говоря, пример далек от совершенства – программа не контролирует, вводятся числовые или символьные данные и при ошибке просто «вылетает». Но для общего ознакомления подходит (наверное).

В этом примере использованы три класса компонентных объектов. Ниже приведены наиболее необходимые и специфичные свойства объектов этих классов. Одинаковые свойства, для экономии места, я не буду приводить по два раза. Про общие свойства и иерархию VCL будет рассказано в следующих шагах.

Компонент TLabel

Компонент TEdit

Компонент TButton

к оглавлению

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

НОВОСТИ ФОРУМА

Форум Рыцари теории эфира


Рыцари теории эфира
 10.11.2021 - 12:37: ПЕРСОНАЛИИ - Personalias -> WHO IS WHO - КТО ЕСТЬ КТО - Карим_Хайдаров.
10.11.2021 - 12:36: СОВЕСТЬ - Conscience -> РАСЧЕЛОВЕЧИВАНИЕ ЧЕЛОВЕКА. КОМУ ЭТО НАДО? - Карим_Хайдаров.
10.11.2021 - 12:36: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от д.м.н. Александра Алексеевича Редько - Карим_Хайдаров.
10.11.2021 - 12:35: ЭКОЛОГИЯ - Ecology -> Биологическая безопасность населения - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> Проблема государственного терроризма - Карим_Хайдаров.
10.11.2021 - 12:34: ВОЙНА, ПОЛИТИКА И НАУКА - War, Politics and Science -> ПРАВОСУДИЯ.НЕТ - Карим_Хайдаров.
10.11.2021 - 12:34: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вадима Глогера, США - Карим_Хайдаров.
10.11.2021 - 09:18: НОВЫЕ ТЕХНОЛОГИИ - New Technologies -> Волновая генетика Петра Гаряева, 5G-контроль и управление - Карим_Хайдаров.
10.11.2021 - 09:18: ЭКОЛОГИЯ - Ecology -> ЭКОЛОГИЯ ДЛЯ ВСЕХ - Карим_Хайдаров.
10.11.2021 - 09:16: ЭКОЛОГИЯ - Ecology -> ПРОБЛЕМЫ МЕДИЦИНЫ - Карим_Хайдаров.
10.11.2021 - 09:15: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Екатерины Коваленко - Карим_Хайдаров.
10.11.2021 - 09:13: ВОСПИТАНИЕ, ПРОСВЕЩЕНИЕ, ОБРАЗОВАНИЕ - Upbringing, Inlightening, Education -> Просвещение от Вильгельма Варкентина - Карим_Хайдаров.
Bourabai Research - Технологии XXI века Bourabai Research Institution