Шаг 2 - Первый проект [TLabel, TEdit, TButton]

Новый проект создается автоматически при запуске 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). Чтобы модифицировать размеры компонентов, нужно ввести соответствующие значения в свойства Top, Left, Width, Height Инспектора или мышью навести на угол компонента и перетащить его. Короче, визуально.

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);
}

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

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

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

Компонент TLabel

Компонент TEdit

Компонент TButton

Вот. На одном дыхании целый шаг написал. Ну, пока хватит, а то клавиатура устала ;)


Предыдущий Шаг | Следующий Шаг | Оглавление
Автор Аванесов Самвел - 23.10.2001 (обновлено 19.09.2002)