Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Поиск строки в файле 
:(
    Опции темы
AlexxxMksv
Дата 2.10.2013, 08:25 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 2.10.2013

Репутация: нет
Всего: нет



Помогите закончить проект (Работаю 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;
}

PM MAIL   Вверх
AlexxxMksv
Дата 2.10.2013, 11:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 2
Регистрация: 2.10.2013

Репутация: нет
Всего: нет



ответ найден!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Visual C++/MFC/WTL | Следующая тема »


 




[ Время генерации скрипта: 0.0381 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.