Помогите закончить проект (Работаю VC++. MFC) моя прога сначала читает файл xls И заносить в массив типа CString ObjectMassiv. Потом читаю файл txt и заношу весь его в буфер BuffFile типа char с динамически выделенной памятью.\ осталось мне написать код который бы выполнял поиск каждого значения массив типа CString в в буфере типа char. Помогите. Код на кнопке: | Код | if(!app.CreateDispatch(_T("Excel.Application"))) //запустить сервер { AfxMessageBox(_T("Ошибка при старте Excel!")); return; } else app.put_Visible(FALSE); //и сделать его Невидимым CWorkbooks oBooks; CWorkbook oBook; CWorksheets oSheets; CWorksheet oSheet; CRange oRange1; oBooks = app.get_Workbooks(); COleVariant covOptional((long)DISP_E_PARAMNOTFOUND, VT_ERROR); COleVariant covTrue((short)TRUE, VT_BOOL), covFalse((short)FALSE, VT_BOOL); COleVariant covBOOL((short)FALSE, VT_BOOL); try { //CString m_Text; // создание стандартной панели выбора файла Open CFileDialog DlgOpen(TRUE,(LPCSTR)"xls",NULL, OFN_HIDEREADONLY,(LPCSTR)" Text Files (*.xls) |*.xls||"); // отображение стандартной панели выбора файла Open if(DlgOpen.DoModal()==IDOK) { // создание объекта и открытие файла для чтения oBooks.Open(DlgOpen.GetPathName(), covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional, covOptional ); } } catch (...) { MessageBox("Ошибка при открытии файла Excel","Ошибка", MB_OK); return; } oBook= oBooks.get_Item(COleVariant(long(1))); oSheets = oBook.get_Worksheets(); oSheet=oSheets.get_Item(COleVariant(long(1))); oRange1 = oSheet.get_Range(COleVariant(_T("A1")),COleVariant(_T("A100"))); COleSafeArray ObjectMask(oRange1.get_Value(covOptional)); COleVariant vData; long iRows; ObjectMask.GetUBound(1, &iRows); long index[2]; int i = 1; index[1]=1; CString ObjectMassiv[100]; for (int rowCounter = 1; rowCounter <= iRows; rowCounter++) { index[0]=rowCounter; ObjectMask.GetElement(index,vData); CString szdata(vData); ObjectMassiv[rowCounter-1] = szdata; } oBook.Close(covFalse, covOptional, covOptional); oBook.ReleaseDispatch(); oBooks.Close(); oBooks.ReleaseDispatch(); //--------------------------чтение---------------------------------- //--------------------------поиск---------------------------------- CFileDialog DlgOpen1(TRUE,(LPCSTR)"txt",NULL, OFN_HIDEREADONLY,(LPCSTR)" Text Files (*.txt) |*.txt||"); DlgOpen1.DoModal(); char *BuffFile = NULL; size_t dwLength; try { CFile myFile(DlgOpen1.GetPathName(),CFile::modeRead|CFile::typeBinary); dwLength = myFile.GetLength(); BuffFile = new char[dwLength]; myFile.Read(BuffFile, dwLength); } catch (CFileException* pEx) { AfxMessageBox("Файл не выбран"); pEx->Delete(); } catch(CMemoryException* pEx) { pEx->ReportError(); pEx->Delete(); AfxAbort(); } if (BuffFile!=NULL) { delete BuffFile; BuffFile = nullptr; }
|
|