Blog
Logotype
Ea commodo exercitation commodo, proident cillum, do reprehenderit consequat et eu anim voluptate. Ut cupidatat reprehenderit in dolor labore.
Home Home Software Products Software Products Insurance Agency Services Insurance Agency Services Web Design Web Design Services Offered Services Offered Store Store Support Support Contact Contact About About
The following is a very preliminary example of BCB quickbooks integration, but it should be enough to show you an example #pragma link "QBFC6Lib_OCX" #pragma link "QBXMLRP2Lib_OCX" bool tempConnected = false; IMsgSetRequestPtr tempRequest; IMsgSetResponsePtr tempResponseSet; IResponsePtr tempResponse; void AddAccounts(WideString tempAccountName, ENAccountType tempAcctType) {   IAccountAddPtr tempAddAcct;   IAccountRetPtr tempRetAcct;                 try                 {                 tempRequest->ClearRequests();                 tempRequest->Attributes->OnError = roeContinue;                 tempAddAcct =  tempRequest->AppendAccountAddRq();                 tempAddAcct->Name->SetValue(WideString(tempAccountName));                 tempAddAcct->IsActive->SetValue(-1);                 tempAddAcct->AccountType->SetValue(tempAcctType);                 tempResponseSet = frmQBInteg->QBSession->DoRequests(tempRequest);                 tempResponse = tempResponseSet->ResponseList->GetAt(0);                 tempRetAcct = tempResponse->Detail;                 }                 catch(...)                 {                 // Open the connection and begin the session         frmQBInteg->QBSession->OpenConnection( WideString(""), WideString( "Clear Management"));         frmQBInteg->QBSession->BeginSession(WideString(""), omDontCare );                 tempConnected = true;                 //Create the message set request object         tempRequest = frmQBInteg->QBSession->CreateMsgSetRequest(WideString("US"), 2, 0);         tempRequest->Attributes->OnError = roeContinue;                 } } The following is Word Automation achieved using a TOLEContainer which has been added to the form called wdOpen: void __fastcall TForm1::NewDocument1Click(TObject *Sender) {         if(txtDocName->Text == "")           {            ShowMessage("Please enter a name for this document.");            txtDocName->SetFocus();           }         else           {              try              {                  wdOpen->Visible = true;                  wdOpen->CreateObject("word.document", false);                  wdOpen->DoVerb(ovShow);                  qrySiteDoc->Insert();                 if(txtDocName->Text == "")                    {                         qrySiteDoc->FieldByName("DocName")->AsString = "Test";                    }                 else                    {                         qrySiteDoc->FieldByName("DocName")->AsString = Trim(txtDocName->Text);                    }                 qrySiteDoc->Post();                  gdLetters->Visible = false;                  txtDoc->Visible = false;              }              catch(...)              {              gdLetters->Visible = true;              txtDoc->Visible = true;              wdOpen->Visible = false;              ShowMessage("Could Not Open Microsoft Word.");              }           }         } The following is Excel Automation achieved using Variant Objects: void __fastcall TForm1::OpenExcelClick(TObject *Sender) {   Variant vExcelApp;   Variant tempExcelItem;   Variant v0,v1,v2, v22, vrange, WD,a,b,c;       try   {   Screen->Cursor = crHourGlass;       vExcelApp= Variant::CreateObject("Excel.Application");       vExcelApp.OlePropertySet("Visible",true);    v0=vExcelApp.OlePropertyGet("Workbooks");    v0.OleProcedure("Add");    tempExcelItem=v0.OlePropertyGet("Item",1);    v0=tempExcelItem.OlePropertyGet("Worksheets") ;    //Add title to spreadsheet    v0.OlePropertyGet("Item",1).OlePropertySet        ("Name",WideString(frmSearch->tblReports->FieldByName("ReportName")->AsString));    v1=v0.OlePropertyGet("Item",1);    v1.OlePropertyGet("Cells").OlePropertyGet("Item",1,1).OlePropertySet        ("Value",WideString(frmSearch->tblReports->FieldByName("ReportName")->AsString));    vExcelApp.OlePropertyGet("Range","A4").OleProcedure("PasteSpecial");    Screen->Cursor = crDefault;   }   catch(...)   {} }  
The right company, the right tools, the job done right.  This time, and every time.
|
|
|
|
|
© Clear Management 2011