Исходники.Ру - Программирование
Исходники
Статьи
Книги и учебники
Скрипты
Новости RSS
Магазин программиста

Ishodniki.Ru » Online книги » C++ Builder по шагам

Шаг 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

  • Caption - Определяет надпись, выводимую объектом
  • Align - Выравнивание метки
  • AutoSize - Автоматическое масштабирование метки по длине введенного текста
  • Enabled - Разрешена ли метка
  • Color - Цвет метки
  • Font - Стандартное свойство типа TFont. Содержит вложенные свойства, которые означают именно то, как они называются. Можно выбрать тип шрифта из открывающегося по двойному щелчку диалога.
  • ParentFont - Определяет, нужно ли использовать шрифт родителя по умолчанию.
  • Transparent - Прозрачность фона метки.
  • ShowAccelChar - Можно ли использовать "быструю клавишу", которая определяется символом после символа "&" и переводит фокус ввода на компонент, определенный в свойстве FocusControl.
  • WordWrap - Автоматический перенос слов, если они не умещаются на строке.

Компонент TEdit

  • Anchors - Свойство типа множество, которое определяет, как будет изменяться длина компонента при изменении размеров формы.
  • BorderStyle - Окантовка области ввода.
  • Color - Цвет фона.
  • ReadOnly - Запрещает редактирование введенного текста.
  • PasswordChar - Отображение одного и того же символа (например, звездочки) вместо вводимого текста. Ну, вы сами знаете, зачем это нужно.
  • Text - Содержит введенную строку типа AnsiString. Вообще, этот тип является стандартным для VCL и будет подробно рассмотрен в дальнейшем.

Компонент TButton

  • OnClick - Событие, возникающее при нажатии на кнопку клавишей мыши.
  • Cancel - Говорит о том, что при нажатии клавиши ESC или закрытии дилогового окна используется обработчик события OnClick() данной кнопки.
  • Default - Кнопка выбирается по умолчанию и обводится рамкой.
  • Caption - Подпись на кнопке.
  • ModalResult - В модальных диалоговых окнах значение этого свойства, не равное mrNone, при нажатии на кнопку закроет окно и запишет свое значение в свойство ModalResult формы.
  • PopupMenu - Контекстное меню, выходящее при нажатии на компонент правой кнопкой мыши.

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

 

Предыдущий шаг | Оглавление | Следующий шаг

Рассылка новостей
Рейтинги
© 2007, Программирование Исходники.Ру