void CInventoryDlg::Print(bool final, long pmTID) { m_lcItems.m_pData->SortOnColumn(N_COLUMN_PRODUCT, ASCENDING); m_lcItems.m_pData->SortOnColumn(N_COLUMN_RANK, ASCENDING); CInput *Input; m_boolFinal = final; // allocate variables .. InitTemplate(); m_szDriverName = new char[41]; m_szDptName = new char [41]; m_szPlate = new char[11]; m_szRealID = new char[129]; m_szUnit = new char[6]; m_szName = new char[41]; m_szPrdLongname = new char[256]; m_szCatName = new char[41]; m_szNumber = new char[26]; m_szCopy = new char[26]; m_szGenInfo = new char[1000]; m_szPositiveDiffTotal = new char[17]; m_szNegativeDiffTotal = new char[17]; m_szPositiveCatDiffPrice = new char[17]; m_szNegativeCatDiffPrice = new char[17]; m_szSysAm = new char[17]; m_szMSUPrice = new char[17]; m_szManually = new char[5]; m_szDiff = new char[17]; m_szDiffPrice = new char[17]; m_szDevID = new char[41]; m_szBranchName = new char[41]; m_szBranchAddr = new char[41]; m_szBranchZip = new char[11]; m_szBranchCity = new char[41]; m_szBranchPhone = new char[26]; m_szBranchFax = new char[26]; m_szBranchRealID = new char[26]; strcpy(m_szDptName, g_DptName); CMethodVariable *cGetHeader = new CMethodVariable((MethodType) (&CInventoryDlg::PrintGetHeader), (CBaseClass*)((void*)this), "GetHeader"); CStringVariable *cNumber = new CStringVariable(&m_szNumber,"number"); CStringVariable *cCopy = new CStringVariable(&m_szCopy,"copy"); CStringVariable *cGenInfo = new CStringVariable(&m_szGenInfo,"genInfo"); CLongIntVariable *cPmTID = new CLongIntVariable(&pmTID, "pmTID"); CStringVariable *cDriverName = new CStringVariable(&m_szDriverName,"driverName"); CStringVariable *cPlate = new CStringVariable(&m_szPlate,"plate"); CStringVariable *cDepotID = new CStringVariable(&m_szDptName,"depotID"); CStringVariable *cBranchName = new CStringVariable(&m_szBranchName,"branchName"); CStringVariable *cBranchAddr = new CStringVariable(&m_szBranchAddr,"branchAddr"); CStringVariable *cBranchZip = new CStringVariable(&m_szBranchZip,"branchZip"); CStringVariable *cBranchCity = new CStringVariable(&m_szBranchCity,"branchCity"); CStringVariable *cBranchPhone = new CStringVariable(&m_szBranchPhone,"branchPhone"); CStringVariable *cBranchFax = new CStringVariable(&m_szBranchFax,"branchFax"); CStringVariable *cBranchRealID = new CStringVariable(&m_szBranchRealID,"branchRealID"); CStringVariable *cDevID = new CStringVariable(&m_szDevID,"devID"); CTimeVariable *cDate = new CTimeVariable(&m_tDate, "date"); CLongIntVariable *cPageCount = new CLongIntVariable(&m_nPageCount, "pageCount"); CLongIntVariable *cPage = new CLongIntVariable(&m_nPage, "page"); CStringVariable *cPositiveDiffTotal = new CStringVariable(&m_szPositiveDiffTotal, "positiveDiffTotal"); CStringVariable *cNegativeDiffTotal = new CStringVariable(&m_szNegativeDiffTotal, "negativeDiffTotal"); CMethodVariable *cGetCat = new CMethodVariable((MethodType) (&CInventoryDlg::PrintGetCat), (CBaseClass*)((void*)this), "GetCat"); CStringVariable *cCatName = new CStringVariable(&m_szCatName, "catName"); CStringVariable *cPositiveCatDiffPrice = new CStringVariable(&m_szPositiveCatDiffPrice, "positiveCatDiffPrice"); CStringVariable *cNegativeCatDiffPrice = new CStringVariable(&m_szNegativeCatDiffPrice, "negativeCatDiffPrice"); CLongIntVariable *cPageCatItemCount = new CLongIntVariable(&m_nPageCatItemCount,"pageCatItemCount"); CMethodVariable *cGetPage = new CMethodVariable((MethodType) (&CInventoryDlg::PrintGetPage), (CBaseClass*)((void*)this), "GetPage"); CLongIntVariable *cPageCatsWithEnd = new CLongIntVariable(&m_nPageCatsWithEnd,"pageCatsWithEnd"); CMethodVariable *cGetItem = new CMethodVariable((MethodType) (&CInventoryDlg::PrintGetItem), (CBaseClass*)((void*)this), "GetItem"); CStringVariable *cRealID = new CStringVariable(&m_szRealID, "realID"); CStringVariable *cUnit = new CStringVariable(&m_szUnit, "unit"); CStringVariable *cName = new CStringVariable(&m_szName, "name"); CStringVariable *cPrdLongname = new CStringVariable(&m_szPrdLongname, "PrdLongname"); CStringVariable *cSysAm = new CStringVariable(&m_szSysAm, "sysAm"); CLongIntVariable *cRealAm = new CLongIntVariable(&m_nRealAm, "realAm"); CStringVariable *cMSUPrice = new CStringVariable(&m_szMSUPrice, "msuPrice"); CStringVariable *cManually = new CStringVariable(&m_szManually, "manually"); CStringVariable *cDiff = new CStringVariable(&m_szDiff, "diff"); CStringVariable *cDiffPrice = new CStringVariable(&m_szDiffPrice, "diffPrice"); // add variables to variable array var->AddItem(cGetHeader); var->AddItem(cNumber); var->AddItem(cCopy); var->AddItem(cGenInfo); var->AddItem(cPmTID); var->AddItem(cBranchName); var->AddItem(cBranchAddr); var->AddItem(cBranchZip); var->AddItem(cBranchCity); var->AddItem(cBranchPhone); var->AddItem(cBranchFax); var->AddItem(cBranchRealID); var->AddItem(cDriverName); var->AddItem(cDepotID); var->AddItem(cPlate); var->AddItem(cDevID); var->AddItem(cDate); var->AddItem(cPageCount); var->AddItem(cPage); var->AddItem(cPositiveDiffTotal); var->AddItem(cNegativeDiffTotal); var->AddItem(cGetCat); var->AddItem(cCatName); var->AddItem(cPositiveCatDiffPrice); var->AddItem(cNegativeCatDiffPrice); var->AddItem(cPageCatItemCount); var->AddItem(cGetPage); var->AddItem(cPageCatsWithEnd); var->AddItem(cGetItem); var->AddItem(cRealID); var->AddItem(cUnit); var->AddItem(cName); var->AddItem(cPrdLongname); var->AddItem(cSysAm); var->AddItem(cRealAm); var->AddItem(cMSUPrice); var->AddItem(cManually); var->AddItem(cDiff); var->AddItem(cDiffPrice); int resp = AdvMessageBox(g_clocalString->GetLocalString(L"STR_READYTOPRINT_MSGREADY") + CString("\r\n\r\n") + g_clocalString->GetLocalString(L"STR_READYTOPRINT_QUESTIONCONTINUE"), g_clocalString->GetLocalString(L"STR_READYTOPRINT_CAPTION"), final ? MB_OK : MB_YESNO); if ((resp == IDOK) || (resp == IDYES)) { bool repeat = true; while (repeat) { Input = new CInput(); if (final) { Input->OpenFile(theApp.GetPath_n("templates\\WP_inventory.tpl")); Input->SaveToFile(theApp.GetPath_n("out\\WP_inventory.out")); } else { Input->OpenFile(theApp.GetPath_n("templates\\WP_inventoryPreliminary.tpl")); Input->SaveToFile(theApp.GetPath_n("out\\WP_inventoryPreliminary.out")); } Input->Start(); delete Input; CPrintedDlg* dlg = new CPrintedDlg(); m_pBarCodeManager->StopReading(); resp = dlg->DoModal(); ShowCaption(this); repeat = dlg->m_boolRepeat; delete dlg; if (m_boolCounting) m_pWhichMethod = &CInventoryDlg::OnBarCodeRealAmount; else m_pWhichMethod = &CInventoryDlg::OnBarCodeResult; m_pBarCodeManager->StartReading(); BringWindowToTop(); }//endwhile }//fi readytoprint.IDOK/IDYES // freeing variables CloseTemplate(); delete []m_szDriverName; delete []m_szDptName; delete []m_szPlate; delete []m_szRealID; delete []m_szUnit; delete []m_szName; delete []m_szPrdLongname; delete []m_szCatName; delete []m_szNumber; delete []m_szCopy; delete []m_szGenInfo; delete []m_szBranchName; delete []m_szBranchAddr; delete []m_szBranchZip; delete []m_szBranchCity; delete []m_szBranchPhone; delete []m_szBranchFax; delete []m_szBranchRealID; delete []m_szPositiveDiffTotal; delete []m_szNegativeDiffTotal; delete []m_szPositiveCatDiffPrice; delete []m_szNegativeCatDiffPrice; delete []m_szSysAm; delete []m_szMSUPrice; delete []m_szManually; delete []m_szDiff; delete []m_szDiffPrice; delete []m_szDevID; delete []m_pnCatItemCounts; for (int i = 0; i < m_nCatCount; i++) delete []m_ppnCatPageItemCounts[i]; delete []m_ppnCatPageItemCounts; }