Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Search.DOC
Скачиваний:
2
Добавлен:
25.11.2018
Размер:
2.44 Mб
Скачать

Приложения

Приложение А

Листинг функций кнопки «Создать»

void CSearchDlg::OnDofile()

{ UpdateData(1);

if (m_FileName.IsEmpty()) m_FileName = "Поиск";

CStdioFile m_File;

if ( !m_File.Open(m_FileName+CString(".txt"),

CFile::modeCreate | CFile::modeWrite | CFile::typeText) )

{MessageBox("(!) Ошибка открытия файла", "Информация", MB_ICONEXCLAMATION);

return;

}

if (m_NUM==0)

{ this->RedrawWindow();

CClientDC MyDC(GetDlgItem(IDC_NUM));

CRect Rect;

CWnd *pWnd = MyDC.GetWindow();

pWnd->GetClientRect( &Rect );

MyDC.FillSolidRect( &Rect, RGB(255,0,0) );

{MessageBox("Введите количество генерируемых элементов", "Информация", MB_ICONEXCLAMATION);

return;

}}

m_SEARCHTIME.Empty();

продолжение Приложения А

this->RedrawWindow();

CString str;

clock_t start, finish;

start = clock();

for (int n=0; n < m_NUM; n++)

{ str.Format("%i\n", m_NUM * rand());

m_File.WriteString(str);

}

finish = clock();

m_SEARCHTIME.Format("%1.4f сек",(double)(finish - start)/CLOCKS_PER_SEC);

UpdateData(0);

m_DATABOX.ResetContent();

m_File.Close();

CString f;

f.Format("Успешно сгенерированно %i элемента(ов)",n);

MessageBox(f, "Информация", MB_ICONINFORMATION);

}}

Приложение Б

Листинг функций кнопки «Загрузить»

void CSearchDlg::OnReadfile()

{UpdateData(1);

CStdioFile m_File;

if ( !m_File.Open(m_FileName+CString(".txt"),

CFile::modeRead | CFile::typeText) )

{MessageBox("Ошибка открытия файла", "Информация", MB_ICONEXCLAMATION);

return;

}

pInt = new int[m_NUM];

if (pInt == NULL)

{MessageBox("Ошибка создания массива", "Информация", MB_ICONEXCLAMATION);

return;

}

IntNum = 0;

CString str;

m_DATABOX.ResetContent();

while ( m_File.ReadString(str) != NULL)

{pInt[IntNum++] = atoi(str.GetBuffer(0));

m_DATABOX.AddString(str);

продолжение Приложения Б

}

m_File.Close();

UpdateData(0);

CString fg;

fg.Format("Данные считаны успешно. Всего %i элемента(ов)",IntNum);

MessageBox(fg, "Информация", MB_ICONINFORMATION);

}

Приложение В

Листинг функций кнопки «Поиск»

void CSearchDlg::OnDosearch()

{if ((pInt == NULL)||(IntNum<1))

{CClientDC MyDC(GetDlgItem(IDC_LISTDATA));

CRect Rect;

CWnd *pWnd = MyDC.GetWindow();

pWnd->GetClientRect( &Rect );

MyDC.FillSolidRect( &Rect, RGB(230,0,0) );

{MessageBox("Искать нечего","Информация", MB_ICONINFORMATION);

return;

}}

UpdateData(1);

if (m_search==0)

{ this->RedrawWindow();

CClientDC MyDC(GetDlgItem(IDC_SEARCH));

CRect Rect;

CWnd *pWnd = MyDC.GetWindow();

pWnd->GetClientRect( &Rect );

MyDC.FillSolidRect( &Rect, RGB(255,0,0) );

{MessageBox("Введите значение для поиска", "Информация", MB_ICONEXCLAMATION);

return;

}}

продолжение Приложения В

this->RedrawWindow();

pInt[m_NUM+1]=m_search;

for (int n=0; pInt[n] != m_search; n++) ;

if (n < m_NUM+1)

{CClientDC MyDC(GetDlgItem(IDC_LISTDATA));

CRect Rect;

CWnd *pWnd = MyDC.GetWindow();

pWnd->GetClientRect( &Rect );

MyDC.FillSolidRect( &Rect, RGB(0,255,0) );

{MessageBox(" Файл найден", "Информация", MB_ICONINFORMATION);

return;

}}

else MessageBox(" Файл НЕ найден", "Информация", MB_ICONEXCLAMATION );}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]