If you can't read please download the document
Upload
duongphuc
View
212
Download
0
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