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

Embed Size (px)

Citation preview

/elmano1.jpg /elmano2.jpg /elmano3.jpg /elmano4.jpg /elmano5.jpg /elmano6.jpg /elmano7.jpg /elmano8.jpg /main.htm

C++Builder

- , . , , , , . .

- TEdit,TCheckBox, TOpenDialog, TSaveDialog, .

, ( h- ComObj):

//#include

#pragma hdrstop

#include

#include autocon.h

//#pragmapackage(smart_init)

#pragma resource *.dfm

TForm2 *Form2;

Variant Serv;

//__fastcallTForm2::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);

}

//

, . Variant ( C++Builder ) CreateOleObject, ComObj VCL.

CreateOleObject . , Win32 API, COM- IDispatch . , , ( ), . CreateOleObject ComObj, , , , Win32 APICoCreateInstance, COM, DLL. Variant (, ., COM-).

, Visual Basic Delphi C++Builder , . Delphi

if VarType(Serv) = varDispatch then

Serv.Width := StrToInt(Edit1.Text);

C++Builder. , Delphi Variant , TForm, , ( Width) . Win32 API, Width , c , .

++Builder :

if (VarType(Serv) == varDispatch)

Serv.OlePropertySet(Width,StrToInt(Edit1->Text));

Win32 API, . OlePropertySet Exec()( OlePropertyGet, OleProcedure OleFunction, ). , Delphi OlePropertySet, OlePropertyGet, OleProcedure,OleFunction.

Connect . Disconnect . New File, Open File Save File , , . Get Visible Visible, . Set Visible Visible Visible . GetWidth , . Set Width, . Add String , , .

,

, , , , . , C++Builder, . . - (, ) Connect, . , .

: COM- COM- , COM-. Delphi, C++Builder ( ).

, , , . ?

, , , , MS Office Seagate Crystal Reports Professional. .

MS Excel . , , , , MS Office, .

, Variant ( C++Builder ) CreateOleObject:

Variant XL;

XL=CreateOleObject(Excel.Application.8);

CreateOleObject , . Windows:

,

OLE- ( , MS Office) :

OLE-

Excel . , Workbooks Excel.Application, Excel, , , Worksheets, , Cells, . Charts , , , Word Paragraphs, Words, Tables.

++Builder :

VariantMyWorkbook=XL.OlePropertyGet(WorkBooks).OlePropertyGet(Item,1);

, . - :

Excel - ; 10 ; ; , ; .

, Excel , :

//#include

#pragma hdrstop

#include

#include xlauto2.h

//#pragmapackage(smart_init)

#pragma resource *.dfm

TForm1 *Form1;

Variant XL,v0,v1,v2;

//Function Item(Item);

//__fastcallTForm1::TForm1(TComponent* Owner)

: TForm(Owner)

{

}

//void __fastcallTForm1::Button1Click(TObject *Sender)

{

XL=CreateOleObject(Excel.Application.8);

XL.OlePropertySet(Visible,true);

v0=XL.OlePropertyGet(Workbooks);

v0.OleProcedure(Add);

v1=v0.OlePropertyGet(Item,1);

v0=v1.OlePropertyGet(Worksheets) ;

v0.OlePropertyGet(Item,1).OlePropertySet(Name,);

v0.OlePropertyGet(Item,2).OlePropertySet(Name,);

for (int j=1;j