
- •2.1.2.Окно инспектора объектов
- •2.1.3.Окно формы
- •2.1.4.Окно редактора кода
- •2.1.5.Управление проектом
- •2.1.6.Сохранение проекта
- •2.1.7.Открытие существующего проекта
- •2.1.8.Добавление дополнительных форм к проекту
- •2.1.9.Добавление дополнительных модулей к проекту
- •2.1.10.Окно менеджера проекта
- •2.2.Создание приложений
- •2.2.1.Разработка пользовательского интерфейса приложения
- •2.2.1.1.Размещение компонентов на форме
- •2.2.1.2.Выбор компонент
- •2.2.1.3.Группирование компонент
- •2.2.1.4.Установка свойств во время разработки
- •2.2.2.Создание процедур обработки событий
- •2.2.3.Удаление процедур обработки событий
- •3.Пример создания приложения
- •3.1.Визуальное проектирование калькулятора
- •3.2.Создание процедур обработки событий для калькулятора
- •3.3.Запуск программы на выполнение
- •4.Задание
- •5.Содержание отчета
- •6.Контрольные вопросы
3.3.Запуск программы на выполнение
П
рограмма
начинает выполняться по команде меню
Run (F9)
или по нажатию кнопки Run
на панели инструментов.
Если при запуске окажется, что некоторые модули проекта модифицировались со времени построения исполняемого файла, автоматически запускается компилятор и компоновщик построит исполняемый файл заново.
Исполняемый файл и файлы откомпилированных модулей проекта будут помещены в папку, путь к которой указывается в полях Output directory и Unit output directory. Если путь в этих полях отсутствует, то исполняемый файл и файлы откомпилированных модулей помещаются в папку проекта.
Для доступа к этим полям необходимо выполнить следующую последовательность действий:
Выбрать в меню Project команду Options….
В диалоговом окне Project Options выбрать вкладку Directories/Conditionals.
Рис. 3.2. Задание папки для откомпилированных модулей и исполняемого файла.
Ниже приведен полный текст главного модуля созданного простого калькулятора.
unit Unit_Calc;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Buttons, StdCtrls;
type
TForm1 = class(TForm)
LabelOp1: TLabel;
LabelOp2: TLabel;
LabelResult: TLabel;
EditOp1: TEdit;
EditOp2: TEdit;
EditResult: TEdit;
ButtonAdd: TButton;
ButtonSub: TButton;
ButtonMult: TButton;
ButtonDel: TButton;
ButtonClear: TButton;
BitBtnClose: TBitBtn;
procedure ButtonAddClick(Sender: TObject);
procedure ButtonSubClick(Sender: TObject);
procedure ButtonMultClick(Sender: TObject);
procedure ButtonDelClick(Sender: TObject);
procedure ButtonClearClick(Sender: TObject);
procedure EditOpChange(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
Op1,Op2:integer;
Res:real;
implementation
{$R *.DFM}
procedure TForm1.ButtonAddClick(Sender: TObject);
begin
Op1:=StrToInt(EditOp1.Text);
Op2:=StrToInt(EditOp2.Text);
Res:=Op1+Op2;
EditResult.Text:=FloatToStr(Res);
LabelResult.Visible:=True;
LabelResult.Caption:='Результат +';
end;
procedure TForm1.ButtonSubClick(Sender: TObject);
begin
Op1:=StrToInt(EditOp1.Text);
Op2:=StrToInt(EditOp2.Text);
Res:=Op1-Op2;
EditResult.Text:=FloatToStr(Res);
LabelResult.Visible:=True;
LabelResult.Caption:='Результат -';
end;
procedure TForm1.ButtonMultClick(Sender: TObject);
begin
Op1:=StrToInt(EditOp1.Text);
Op2:=StrToInt(EditOp2.Text);
Res:=Op1*Op2;
EditResult.Text:=FloatToStr(Res);
LabelResult.Visible:=True;
LabelResult.Caption:='Результат *';
end;
procedure TForm1.ButtonDelClick(Sender: TObject);
begin
Op1:=StrToInt(EditOp1.Text);
Op2:=StrToInt(EditOp2.Text);
Res:=Op1/Op2;
EditResult.Text:=FloatToStr(Res);
LabelResult.Visible:=True;
LabelResult.Caption:='Результат /';
end;
procedure TForm1.ButtonClearClick(Sender: TObject);
begin
EditOp1.Clear;
EditOp2.Clear;
EditResult.Clear;
LabelResult.Visible:=False;
EditOp1.SetFocus;
end;
procedure TForm1.EditOpChange(Sender: TObject);
begin
EditResult.Clear;
LabelResult.Visible:=False;
end;
end.