Смекни!
smekni.com

Результат выполнения запроса (стр. 5 из 5)

while(fOpen.ReadString(s))

{

m_View += s;

m_View += "\r\n";

}

text=m_View;//Инициализация переменной для хранения текста из файла

// Отображение файла

UpdateData(false);

// Закрытие файла

fOpen.Close();

}

void CFilesDlg::OnPaint()

{

if (IsIconic())

{

CPaintDC dc(this); // device context for painting

SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

// Center icon in client rectangle

int cxIcon = GetSystemMetrics(SM_CXICON);

int cyIcon = GetSystemMetrics(SM_CYICON);

CRect rect;

GetClientRect(&rect);

int x = (rect.Width() - cxIcon + 1) / 2;

int y = (rect.Height() - cyIcon + 1) / 2;

// Draw the icon

dc.DrawIcon(x, y, m_hIcon);

}

else

{

CDialog::OnPaint();

}

Update();

}

HCURSOR CFilesDlg::OnQueryDragIcon()

{

return (HCURSOR) m_hIcon;

}

void CFilesDlg::OnSaveFile()

{

// Обновление переменных

UpdateData(true);

// Создание файла по заданному пути и открытие

// его на запись в двоичном режиме

CStdioFile fSave(m_FilePath, CFile::modeCreate |

CFile::modeWrite |

CFile::typeBinary);

fSave.WriteString(text);

if ((m_kod!="") || (m_firma!="") || (m_prod!="") || (m_kont!=""))

{ text="";

text+=m_kod;

text+=" ";

text+=m_firma;

text+=" ";

text+=m_prod;

text+=" ";

text+=m_kont;

text+=" ";

text+=" ";

fSave.WriteString(text);

Ochistka();

fSave.Close();// Закрытиефайла

Update();

UpdateData(false);

}

}

void CFilesDlg::Ochistka()

{m_kod.Empty();

m_firma.Empty();

m_prod.Empty();

m_kont.Empty();

m_svoboda.Empty();

}

void CFilesDlg::Poisk(CString stroka)

{ UpdateData();

m_result.Empty();

m_FilePath="1.txt";//Инициализация переменной для хранения пути к файлу 1.txt

CStdioFile fOpen(m_FilePath,CFile::modeRead);//Открытиефайла 1.txt длячтения

CString s;

while(fOpen.ReadString(s))

if (s.Find(stroka)>=0)

{

p[i]="";

p[i] += s;

k=i;

i++;

}

m_result+=p[0];

fOpen.Close();

UpdateData(false);

i=0;

Ochistka();

}

void CFilesDlg::OnSetfocusStatus()

{

// Переводфокусанадругое "текстовоеполе"

m_ViewCtrl.SetFocus();

}

void CFilesDlg::OnClose()

{

CDialog::OnClose();

}

void CFilesDlg::OnOK()

{

CDialog::OnOK();

}

void CFilesDlg::OnButton1()

{ UpdateData();

m_result.Empty();

if(m_kod!="")

Poisk(m_kod);

else

if(m_firma!="")

Poisk(m_firma);

else

if(m_prod!="")

Poisk(m_prod);

else

if(m_kont!="")

Poisk(m_kont);

else

if(m_svoboda!="")

Poisk(m_svoboda);

else m_result="Введите строку для поиска в одно из полей расположенных выше";

UpdateData(false);

}

void CFilesDlg::OnButton2()

{ UpdateData();

m_result.Empty();

if (i<=k)

{

m_result.Empty();

i++;

m_result=p[i];

}

else m_result+=p[k];

UpdateData(false);

}

void CFilesDlg::OnButton3()

{ i--;

UpdateData();

m_result.Empty();

if (i>=1)

{

m_result.Empty();

m_result+=p[i-1];

}

else m_result+=p[0];

UpdateData(false);

}

void CFilesDlg::OnButton4()

{

// Обновлениепеременных

UpdateData(true);

CString str;

CStdioFile fSave("zapros.html", CFile::modeCreate |

CFile::modeWrite |

CFile::typeBinary);

str+="<HTML> &bsol;n <TITLE>Результатвыполнениязапроса</TITLE> &bsol;n";

str+="<BODY> &bsol;n <FONT size=15>";

for (i=0;i<=k;i++)

{

str+=p[i];

str+="<BR>";

}

str+="</FONT></BODY> &bsol;n </HTML>";

fSave.WriteString(str);

fSave.Close();

}

void CFilesDlg::OnButton5()

{ UpdateData();

m_FilePath="1.txt";//Инициализацияпеременнойдляхраненияпутикфайлу 1.txt

CStdioFile fOpen(m_FilePath,CFile::modeRead);//Открытиефайла 1.txt длячтения

CString s;

m_View.Empty();

text.Empty();// Очистка строк

// Организация построчного чтения текста, пока не будет достигнут конец файла

while(fOpen.ReadString(s))

{ if (s.Compare(m_result)!=0)

{

text += s;

text += "&bsol;r&bsol;n";

}

}

m_result.Empty();

m_result+="Запись удалена из базы данных";

UpdateData(false);

// Закрытие файла

fOpen.Close();

OnSaveFile();

}

void CFilesDlg::OnMenuitem32771()

{

if (MessageBox("Выуверены?", "Question",

MB_ICONQUESTION|MB_OKCANCEL)==IDOK)

EndDialog(0);

}

void CFilesDlg::OnMenuitem32772()

{

CAboutDlg dlgAbout;//создаемобъект

dlgAbout.DoModal();//показываем

}

// FilesDlg.cpp : implementation file

//

#include "stdafx.h"

#include "Files.h"

#include "FilesDlg.h"

#include "Conio.h"

#ifdef _DEBUG

#define new DEBUG_NEW

#undef THIS_FILE

static char THIS_FILE[] = __FILE__;

#endif

/////////////////////////////////////////////////////////////////////////////

// CAboutDlg dialog used for App About

CString text;

CString *p=new CString[100];

int k=0,i=0,q;

class CAboutDlg : public CDialog

{

public:

CAboutDlg();

// Dialog Data

//{{AFX_DATA(CAboutDlg)

enum { IDD = IDD_ABOUTBOX };

//}}AFX_DATA

// ClassWizard generated virtual function overrides

//{{AFX_VIRTUAL(CAboutDlg)

protected:

virtual void DoDataExchange(CDataExchange* pDX); // DDX/DDV support

//}}AFX_VIRTUAL

// Implementation

protected:

//{{AFX_MSG(CAboutDlg)

//}}AFX_MSG

DECLARE_MESSAGE_MAP()

};

CAboutDlg::CAboutDlg() : CDialog(CAboutDlg::IDD)

{

//{{AFX_DATA_INIT(CAboutDlg)

//}}AFX_DATA_INIT

}

void CAboutDlg::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);

//{{AFX_DATA_MAP(CAboutDlg)

//}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(CAboutDlg, CDialog)

//{{AFX_MSG_MAP(CAboutDlg)

// No message handlers

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

// CFilesDlg dialog

CFilesDlg::CFilesDlg(CWnd* pParent /*=NULL*/)

: CDialog(CFilesDlg::IDD, pParent)

{

//{{AFX_DATA_INIT(CFilesDlg)

m_View = _T("");

m_result = _T("");

m_kod = _T("");

m_firma = _T("");

m_prod = _T("");

m_kont = _T("");

m_svoboda = _T("");

//}}AFX_DATA_INIT

m_hIcon = AfxGetApp()->LoadIcon(IDR_MAINFRAME);

m_FileTitle = ""; // Начальная инициализация

m_FilePath = ""; // Начальная инициализация

}

void CFilesDlg::DoDataExchange(CDataExchange* pDX)

{

CDialog::DoDataExchange(pDX);

//{{AFX_DATA_MAP(CFilesDlg)

DDX_Control(pDX, IDC_View, m_ViewCtrl);

DDX_Text(pDX, IDC_View, m_View);

DDX_Text(pDX, IDC_EDIT5, m_result);

DDX_Text(pDX, IDC_1, m_kod);

DDX_Text(pDX, IDC_EDIT1, m_firma);

DDX_Text(pDX, IDC_EDIT2, m_prod);

DDX_Text(pDX, IDC_EDIT3, m_kont);

DDX_Text(pDX, IDC_EDIT4, m_svoboda);

//}}AFX_DATA_MAP

}

BEGIN_MESSAGE_MAP(CFilesDlg, CDialog)

//{{AFX_MSG_MAP(CFilesDlg)

ON_WM_SYSCOMMAND()

ON_WM_PAINT()

ON_WM_QUERYDRAGICON()

ON_BN_CLICKED(IDC_Save, OnSaveFile)

ON_EN_SETFOCUS(IDC_Status, OnSetfocusStatus)

ON_WM_CLOSE()

ON_BN_CLICKED(IDC_BUTTON1, OnButton1)

ON_BN_CLICKED(IDC_BUTTON2, OnButton2)

ON_BN_CLICKED(IDC_BUTTON3, OnButton3)

ON_BN_CLICKED(IDC_BUTTON4, OnButton4)

ON_BN_CLICKED(IDC_BUTTON5, OnButton5)

ON_COMMAND(ID_MENUITEM32771, OnMenuitem32771)

ON_COMMAND(ID_MENUITEM32772, OnMenuitem32772)

//}}AFX_MSG_MAP

END_MESSAGE_MAP()

/////////////////////////////////////////////////////////////////////////////

// CFilesDlg message handlers

BOOL CFilesDlg::OnInitDialog()

{

CDialog::OnInitDialog();

ASSERT((IDM_ABOUTBOX & 0xFFF0) == IDM_ABOUTBOX);

ASSERT(IDM_ABOUTBOX < 0xF000);

CMenu* pSysMenu = GetSystemMenu(FALSE);

if (pSysMenu != NULL)

{

CString strAboutMenu;

strAboutMenu.LoadString(IDS_ABOUTBOX);

if (!strAboutMenu.IsEmpty())

{

pSysMenu->AppendMenu(MF_SEPARATOR);

pSysMenu->AppendMenu(MF_STRING, IDM_ABOUTBOX, strAboutMenu);

}

}

SetIcon(m_hIcon, TRUE);

SetIcon(m_hIcon, FALSE);

return TRUE;

}

void CFilesDlg::OnSysCommand(UINT nID, LPARAM lParam)

{

if ((nID & 0xFFF0) == IDM_ABOUTBOX)

{

CAboutDlg dlgAbout;

dlgAbout.DoModal();

}

else

{

CDialog::OnSysCommand(nID, lParam);

}

}

void CFilesDlg::Update()

{

m_FilePath="1.txt";//Инициализация переменной для хранения пути к файлу 1.txt

CStdioFile fOpen(m_FilePath,CFile::modeRead);//Открытиефайла 1.txt длячтения

CString s;

m_View.Empty();

text.Empty();// Очистка строк

// Организация построчного чтения текста, пока не будет достигнут конец файла

while(fOpen.ReadString(s))

{

m_View += s;

m_View += "&bsol;r&bsol;n";

}

text=m_View;//Инициализация переменной для хранения текста из файла

// Отображение файла

UpdateData(false);

// Закрытие файла

fOpen.Close();

}

void CFilesDlg::OnPaint()

{

if (IsIconic())

{

CPaintDC dc(this); // device context for painting

SendMessage(WM_ICONERASEBKGND, (WPARAM) dc.GetSafeHdc(), 0);

// Center icon in client rectangle

int cxIcon = GetSystemMetrics(SM_CXICON);

int cyIcon = GetSystemMetrics(SM_CYICON);

CRect rect;

GetClientRect(&rect);

int x = (rect.Width() - cxIcon + 1) / 2;

int y = (rect.Height() - cyIcon + 1) / 2;

// Draw the icon

dc.DrawIcon(x, y, m_hIcon);

}

else

{

CDialog::OnPaint();

}

Update();

}

HCURSOR CFilesDlg::OnQueryDragIcon()

{

return (HCURSOR) m_hIcon;

}

void CFilesDlg::OnSaveFile()

{

// Обновление переменных

UpdateData(true);

// Создание файла по заданному пути и открытие

// его на запись в двоичном режиме

CStdioFile fSave(m_FilePath, CFile::modeCreate |

CFile::modeWrite |

CFile::typeBinary);

fSave.WriteString(text);

if ((m_kod!="") || (m_firma!="") || (m_prod!="") || (m_kont!=""))

{ text="";

text+=m_kod;

text+=" ";

text+=m_firma;

text+=" ";

text+=m_prod;

text+=" ";

text+=m_kont;

text+=" ";

text+=" ";

fSave.WriteString(text);

Ochistka();

fSave.Close();// Закрытиефайла

Update();

UpdateData(false);

}

}

void CFilesDlg::Ochistka()

{m_kod.Empty();

m_firma.Empty();

m_prod.Empty();

m_kont.Empty();

m_svoboda.Empty();

}

void CFilesDlg::Poisk(CString stroka)

{ UpdateData();

m_result.Empty();

m_FilePath="1.txt";//Инициализация переменной для хранения пути к файлу 1.txt

CStdioFile fOpen(m_FilePath,CFile::modeRead);//Открытиефайла 1.txt длячтения

CString s;

while(fOpen.ReadString(s))

if (s.Find(stroka)>=0)

{

p[i]="";

p[i] += s;

k=i;

i++;

}

m_result+=p[0];

fOpen.Close();

UpdateData(false);

i=0;

Ochistka();

}

void CFilesDlg::OnSetfocusStatus()

{

// Переводфокусанадругое "текстовоеполе"

m_ViewCtrl.SetFocus();

}

void CFilesDlg::OnClose()

{

CDialog::OnClose();

}

void CFilesDlg::OnOK()

{

CDialog::OnOK();

}

void CFilesDlg::OnButton1()

{ UpdateData();

m_result.Empty();

if(m_kod!="")

Poisk(m_kod);

else

if(m_firma!="")

Poisk(m_firma);

else

if(m_prod!="")

Poisk(m_prod);

else

if(m_kont!="")

Poisk(m_kont);

else

if(m_svoboda!="")

Poisk(m_svoboda);

else m_result="Введите строку для поиска в одно из полей расположенных выше";

UpdateData(false);

}

void CFilesDlg::OnButton2()

{ UpdateData();

m_result.Empty();

if (i<=k)

{

m_result.Empty();

i++;

m_result=p[i];

}

else m_result+=p[k];

UpdateData(false);

}

void CFilesDlg::OnButton3()

{ i--;

UpdateData();

m_result.Empty();

if (i>=1)

{

m_result.Empty();

m_result+=p[i-1];

}

else m_result+=p[0];

UpdateData(false);

}

void CFilesDlg::OnButton4()

{

// Обновлениепеременных

UpdateData(true);

CString str;

CStdioFile fSave("zapros.html", CFile::modeCreate |

CFile::modeWrite |

CFile::typeBinary);

str+="<HTML> &bsol;n <TITLE>Результатвыполнениязапроса</TITLE> &bsol;n";

str+="<BODY> &bsol;n <FONT size=15>";

for (i=0;i<=k;i++)

{

str+=p[i];

str+="<BR>";

}

str+="</FONT></BODY> &bsol;n </HTML>";

fSave.WriteString(str);

fSave.Close();

}

void CFilesDlg::OnButton5()

{ UpdateData();

m_FilePath="1.txt";//Инициализацияпеременнойдляхраненияпутикфайлу 1.txt

CStdioFile fOpen(m_FilePath,CFile::modeRead);//Открытиефайла 1.txt длячтения

CString s;

m_View.Empty();

text.Empty();// Очистка строк

// Организация построчного чтения текста, пока не будет достигнут конец файла

while(fOpen.ReadString(s))

{ if (s.Compare(m_result)!=0)

{

text += s;

text += "&bsol;r&bsol;n";

}

}

m_result.Empty();

m_result+="Запись удалена из базы данных";

UpdateData(false);

// Закрытие файла

fOpen.Close();

OnSaveFile();

}

void CFilesDlg::OnMenuitem32771()

{

if (MessageBox("Выуверены?", "Question",

MB_ICONQUESTION|MB_OKCANCEL)==IDOK)

EndDialog(0);

}

void CFilesDlg::OnMenuitem32772()

{

CAboutDlg dlgAbout;//создаемобъект

dlgAbout.DoModal();//показываем

}

Приложение ВРаспечатка результатов программы

Рисунок В.1 Главная форма

Рисунок В.2 Оповещение после удаления записи

Рисунок В.3 Оповещение при нажатии поиска при незаполненных поля

Рисунок В.4 Поисковый запрос

Рисунок В.5 Результат поиска