Здавалка
Главная | Обратная связь

Инструкция по программированию



Запускается С++Builder обычным образом, т.е. выбором из меню Borland C++ Builder 6 команды C++ Builder 6. Вид экрана после запуска несколько необычен, поскольку вместо одного окна появляется сразу пять. При этом окна могут перекрываться и даже закрывать одно другое, как показано на рис.3.

 

 

Рисунок 3-Основная форма

 

 

Запустив C++ Builder, вы увидите заготовку формы будущей программы по центру экрана, за ней Unit1.cpp – окно с листингом (кодом) будущей программы. Сверху экрана расположен список компонентов (объектов), которые можно добавить на форму (Standard, Additional, Win32 и т. п. – это вкладки с различными компонентами). Слева – Object Tree view – дерево (список) компонентов, добавленных в нашу программу. Пока там только Form1 – заготовка формы, под Object Tree View окно Object Inspector (в дальнейшем инспектор) – самое интересное окно, в котором перечислены все свойства выделенного объекта. Щелкните мышкой по Form1 и найдите в инспекторе свойство Caption, щелкните по ней и впишете вместо “Form1” “Калькулятор”, заголовок формы изменится.

Для начала нужно сохранить проект. Щелкните сверху по команде File -> Save project as… (Обязательно перед запуском создайте свою рабочую папку), и сохраните в ней два файла Unit.cpp и Project1.bpr.

Чтобы открыть проект в меню File -> Open project выбрать файл Project1.bpr.

Щелкните мышкой по компоненту Edit (отмечен красной стрелкой на рис.4),

 

 

Рис.4- Рабочее меню

 

а затем в любом свободном месте формы. Ее вид изменится и представлен рис.5:

 

 

Рис.5- Форма

 

Выделите компонент (объект) Edit1 (рис.6 а) и в Инспекторе измените свойство Text на ноль. В эти окна будут вводиться данные для работы программы.

 

 

а) б)

 

Рис. 6 –Окна редактирования

 

Затем добавьте еще один компонент Edit, две кнопки (Button) и надпись (Label) командами, выделенными на рис.7.

 

 

Рис.7

Удерживая курсор на соответствующем объекте, расположите их на форме примерно таким образом, как показано на рис. 8.

 

 

Рис.8

Если окно выделено, то размеры формы и компонентов можно изменить мышкой.

Измените свойства кнопок Button/Caption на «/» и «*», свойство Edit2 /Text на ноль, и свойство надписи Label1/Caption на «ответ: 0». Соответствующие формы будут представлены в виде рис. 9

 

 

Рис.9

 

Чтобы изменить шрифт текста надписи, надо найти свойство Font в инспекторе и нажать на кнопку с тремя точками, выделенную на рис 10. В открывшемся окне следует выбрать требуемый шрифт.

Рис.10

Оформив все формы и свойства объектов, переходим к программированию, Работа программы в нашем случае сводится к тому, что при нажатии одной из кнопок программа будет делить или умножать цифру из Edit1 на цифру из Edit2 и выводить результат в Label1. В С++ Builder код выполняется при наступлении события, в нашем случае – нажатие кнопки. Выделите Button1 (делить) и в Инспекторе нажмите вкладку Events, рис.11.

 

Рис.11

Здесь в списке событий, доступных для объекта Button1, нас интересует OnClick. Дважды щелкните в поле рядом с ним, и откроется заготовка процедуры Button1Click, рис.12, в которую надо записать программу расчета (между двумя скобками).

 

 

Рис.12

При нажатии кнопки делить ее надо привести к такому виду:

 

void __fastcall TForm1::Button1Click(TObject *Sender)

{

float a, b, c; // переменные для расчетов

a = StrToFloat (Form1->Edit1->Text); // переменной а присваивается цифра из Edit1

b = StrToFloat (Form1->Edit2->Text); // тоже для Edit2

c = a/b; // расчет

Form1->Label1->Caption ="Ответ :"+FloatToStr(c); // вывод ответа

}

Так как свойство Text обьекта Edit является строковой переменной типа String, то ее нужно преобразовать в Float, чтобы можно было делить, умножать и другие операции. Преобразование это делается с помощью строковой переменной StrToFloat:

a = StrToFloat (Form1->Edit1->Text);

Чтобы вывести результат в надпись надо преобразовать переменные обратно:

Form1->Label1->Caption ="Ответ :"+FloatToStr(c);

Такую же процедуру надо сделать для операции умножения. При написании кода ОБЯЗАТЕЛЬНО соблюдать регистр!

Чтобы запустить программу нажмите F9. Результат работы программы будет выглядеть, как это представлено на рис.13.

 

Рис. 13

Если в процессе работы возникнет ошибка и надо будет остановить программу, нажмите Ctrl+F2или Project->Program Reset. Чтобы создать exe-файл, используйте команду: Project->Build Project1, и он будет лежать в папке с сохраненной программой. Так как в нашей программе по сути всего четыре строчки, здесь есть несколько недочетов:

1) ноль на ноль делить нельзя, а у нас нет проверки, что за символы вписаны,

2) если вместо цифр вписать текст, то тоже будет ошибка,

3) если число десятичное, то надо ставить только запятую, а не точку.

 

Полный листинг программы «Калькулятор»:

 

#include <vcl.h>

#pragma hdrstop

 

#include "Unit1.h"

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

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

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

__fastcall TForm1::TForm1(TComponent* Owner)

: TForm(Owner)// Заготовка

{

// Пустая форма

}

//Программа деления двух чисел

void __fastcall TForm1::Button1Click(TObject *Sender)

{

float a, b, c;

a = StrToFloat(Form1->Edit1->Text);

b = StrToFloat(Form1->Edit2->Text);

c = a/b;

Form1->Label1->Caption ="Результат :" +FloatToStr(c);

}

//Программа умножения двух чисел

void __fastcall TForm1::Button2Click(TObject *Sender)

{

float a, b, c;

a = StrToFloat(Form1->Edit1->Text);

b = StrToFloat(Form1->Edit2->Text);

c = a*b;

Form1->Label1->Caption ="Результат :" +FloatToStr(c);

}

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

Работа в графическом редакторе производится аналогично. В качестве примера рассмотрим программу рисования полукруга стрелок из работы №1.

include <vcl.h>

#pragma hdrstop

#include<math.h>

#include "Unit1.h"

#pragma package(smart_init)

#pragma resource "*.dfm"

TForm1 *Form1;

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

__fastcall TForm1::TForm1(TComponent* Owner) : TForm(Owner)

{

float x[4]={300.0,300.0,310.0,290.0}, y[4]={-10.25,20.25,10.0,10.0};

int i,j;

float pi, phi, xx, yy, cos_phi, sin_phi;

pi=4.0*atan(1.0); phi=6*pi/180;

cos_phi=cos(phi); sin_phi=sin(phi);

for(i=1; i<14; i++)

{

for(j=0; j<=3; j++)

{

xx=x[j]; yy=y[j];

x[j]=xx*cos_phi - yy*sin_phi;

y[j]=xx* sin_phi+ yy*cos_phi;

}

Form1->Canvas->MoveTo(x[0],y[0]);

for(j=1; j<=3; j++)

{Canvas->Pen->Color=clRed;

Form1->Canvas->LineTo(x[j],y[j]);

}

Form1->Canvas->LineTo(x[1],y[1]);

}

}







©2015 arhivinfo.ru Все права принадлежат авторам размещенных материалов.