Новый проект создается автоматически при запуске C++ Builder. Также можно выбрать команду File->New Application или открыть т.н. "Хранилище новых объектов" командой File->New.
Итак, каким-то из способов мы сделали начальную программу. Теперь сделаем что-то, преследующее банальную, но подходящую цель - решение квадратного уравнения.
Перетащите на форму компоненты TLabel
, TEdit
и TButton
и разместите, как показано на рисунке (чтобы разместить сразу несколько компонентов, нажмите на его кнопку при нажатой клавише Shift). Чтобы модифицировать размеры компонентов, нужно ввести соответствующие значения в свойства Top, Left, Width, Height Инспектора или мышью навести на угол компонента и перетащить его. Короче, визуально.

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

Это, собственно, и есть процедура обработки события. Сюда нужно ввести следующие строчки:
#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 будет рассказано в следующих шагах.
Вот. На одном дыхании целый шаг написал. Ну, пока хватит, а то клавиатура устала ;)