Создание контроллеров автоматизации с помощью C++Builder



Создание контроллера


На главной форме будущего приложения-контроллера разместим компоненты TEdit, TCheckBox, TOpenDialog, TSaveDialog, а также десять кнопок.




Создание контроллера

Главная форма контроллера автоматизации

Создадим обработчики событий, связанные с нажатием на кнопки (при этом следует сослаться на h-файл модуля ComObj):

//———————————————————————————————#include <vcl.h>

#pragma hdrstop

#include <ComObj.hpp>

#include “autocon.h”

//———————————————————————————————#pragma package(smart_init)

#pragma resource “*.dfm”

TForm2 *Form2;

Variant Serv;

//———————————————————————————————__fastcall TForm2::TForm2(TComponent* Owner)

: TForm(Owner)

{

}

//———————————————————————————————

void __fastcall TForm2::Button3Click(TObject *Sender)

{

Serv=CreateOleObject(“Project1.MyAuto3”);

}

//———————————————————————————————

void __fastcall TForm2::Button1Click(TObject *Sender)

{

if (VarType(Serv)==varDispatch) Edit1->Text=IntToStr(Serv.OlePropertyGet(“Width”));

// имеет смысл проверить, что именно находится

// в вариантной переменной…

}

//———————————————————————————————

void __fastcall TForm2::Button2Click(TObject *Sender)

{

if (VarType(Serv)==varDispatch) Serv.OlePropertySet(“Width”,StrToInt(Edit1->Text));

}

//———————————————————————————————

void __fastcall TForm2::Button12Click(TObject *Sender)

{

if (VarType(Serv)==varDispatch) CheckBox1->Checked=Serv.OlePropertyGet(“Visible”);

}

//———————————————————————————————

void __fastcall TForm2::Button13Click(TObject *Sender)

{

if (VarType(Serv)==varDispatch) Serv.OlePropertySet(“Visible”,CheckBox1->Checked);

}

//———————————————————————————————

void __fastcall TForm2::Button11Click(TObject *Sender)

{

if (VarType(Serv)==varDispatch) Serv=Unassigned;

}

//———————————————————————————————

void __fastcall TForm2::Button5Click(TObject *Sender)

{

if (VarType(Serv)==varDispatch)

{if (OpenDialog1->Execute())

Serv.OleProcedure(“OpenFile”,OpenDialog1->FileName);}

}

//———————————————————————————————

void __fastcall TForm2::Button6Click(TObject *Sender)

{

if (VarType(Serv)==varDispatch)

{ if (SaveDialog1->Execute())

Serv.OleProcedure(“SaveFile”,SaveDialog1->FileName);}

}

//———————————————————————————————

void __fastcall TForm2::Button7Click(TObject *Sender)

{

if (VarType(Serv)==varDispatch) Serv.OleProcedure(“NewFile”);

}

//———————————————————————————————

void __fastcall TForm2::Button4Click(TObject *Sender)

{

if (VarType(Serv)==varDispatch) Serv.OleProcedure(“AddLine”,Edit1->Text);

}

//———————————————————————————————



Содержание раздела