📄 inquirebookdlg.cpp
字号:
// InquireBookDlg.cpp : implementation file
//
#include "stdafx.h"
#include "book.h"
#include "InquireBookDlg.h"
#include "ReaderDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CInquireBookDlg dialog
CInquireBookDlg::CInquireBookDlg(CWnd* pParent /*=NULL*/)
: CDialog(CInquireBookDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CInquireBookDlg)
m_pIBook = _T("");
//}}AFX_DATA_INIT
}
void CInquireBookDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CInquireBookDlg)
DDX_Control(pDX, IDC_LISTIBook, m_ListIBook);
DDX_Control(pDX, IDC_KBook, m_KBook);
DDX_Text(pDX, IDC_IBook, m_pIBook);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CInquireBookDlg, CDialog)
//{{AFX_MSG_MAP(CInquireBookDlg)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CInquireBookDlg message handlers
/*函数功能:输入某些知道的书籍信息,在书籍数据库中查找,如果存在该信息
就将信息输出到对话框。如果不存在,则提示用户该图书馆没有此图书*/
void CInquireBookDlg::OnOK()
{
// TODO: Add extra validation here
CString m_Data; //作为从选择框中得到的数据的临时变量
BOOL flag=0; //作为判断是否输入用户名和密码的标志,用来看是否关闭对话框
BOOL sign=0; //作为判断是否有该用户的标志
int m_num=0;
this->UpdateData(); //得到对话框中的数据
m_ListIBook.DeleteAllItems();
if(m_pIBook == "") //判断是否输入内容,如果没有输出提示
{
::AfxMessageBox("输入内容为空");
flag=1;
}
m_pBookSet.Open(); //打开书籍记录数据库
if(flag==0)
m_KBook.GetLBText(m_KBook.GetCurSel(),m_Data); //将选择框中的数据读出并放入临时寄存器
if(m_Data=="书名"&&flag==0) //如果找到,输出
{
while(!m_pBookSet.IsEOF()) //是否指向末尾
{
if(m_pBookSet.m_BookName == m_pIBook) //有相同的图书
{
CString m_str;
m_str = m_pBookSet.m_BookName;
m_str.Remove(' '); //移除空格
m_ListIBook.InsertItem(m_num,m_str,0); //输出书名
m_str.Format("%d",m_pBookSet.m_Book_ID);//将整数转为字符型
m_ListIBook.SetItemText(m_num,1,m_str); //输出书号
m_str = m_pBookSet.m_Author;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,2,m_str); //输出作者
m_str = m_pBookSet.m_Class;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,3,m_str); //输出类型
m_str = m_pBookSet.m_Publisher;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,4,m_str); //输出出版社
m_str = m_pBookSet.m_Publisher_date;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,5,m_str); //输出出版日期
m_str = m_pBookSet.m_Prize;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,6,m_str); //输出价格
m_str.Format("%d",m_pBookSet.m_Number);
m_ListIBook.SetItemText(m_num,7,m_str); //输出数量
m_str = m_pBookSet.m_Place;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,8,m_str); //输出馆内位置
m_num++;
sign=1; //找到图书,标志置一
break; //退出循环
}
else //该本书不是要找的图书
{
m_pBookSet.MoveNext(); //指向下一个
sign=0; //没有找到
}
}
}
if(m_Data=="作者"&&flag==0) //查询书籍作者,找到后回传数据
{
while(!m_pBookSet.IsEOF()) //是否指向末位
{
if(m_pBookSet.m_Author == m_pIBook) //如果作者名相同
{
CString m_str;
m_str = m_pBookSet.m_BookName;
m_str.Remove(' '); //移除空格
m_ListIBook.InsertItem(m_num,m_str,0); //输出书名
m_str.Format("%d",m_pBookSet.m_Book_ID);
m_ListIBook.SetItemText(m_num,1,m_str); //输出书号
m_str = m_pBookSet.m_Author;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,2,m_str); //输出作者
m_str = m_pBookSet.m_Class;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,3,m_str); //输出类别
m_str = m_pBookSet.m_Publisher;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,4,m_str); //输出出版社
m_str = m_pBookSet.m_Publisher_date;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,5,m_str); //输出出版日期
m_str = m_pBookSet.m_Prize;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,6,m_str); //输出价格
m_str.Format("%d",m_pBookSet.m_Number);
m_ListIBook.SetItemText(m_num,7,m_str); //输出数量
m_str = m_pBookSet.m_Place;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,8,m_str); //输出在馆内位置
m_num++; //行数加一
sign=1; //完成操作
break; //结束循环
}
else //不相同
{
m_pBookSet.MoveNext(); //数据指向下一个
sign=0; //没有该编号
}
}
}
if(m_Data=="出版社"&&flag==0) //查询出版社
{
while(!m_pBookSet.IsEOF()) //是否指向结尾
{
if(m_pBookSet.m_Publisher == m_pIBook) //是该出版社
{
CString m_str;
m_str = m_pBookSet.m_BookName;
m_str.Remove(' ');
m_ListIBook.InsertItem(m_num,m_str,0); //书名
m_str.Format("%d",m_pBookSet.m_Book_ID);
m_ListIBook.SetItemText(m_num,1,m_str); //书号
m_str = m_pBookSet.m_Author;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,2,m_str); //作者
m_str = m_pBookSet.m_Class;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,3,m_str); //类别
m_str = m_pBookSet.m_Publisher;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,4,m_str); //出版社
m_str = m_pBookSet.m_Publisher_date;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,5,m_str); //出版日期
m_str = m_pBookSet.m_Prize;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,6,m_str); //价钱
m_str.Format("%d",m_pBookSet.m_Number);
m_ListIBook.SetItemText(m_num,7,m_str); //数量
m_str = m_pBookSet.m_Place;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,8,m_str); //在馆内的位置
m_num++; //行数
sign=1;
break; //退出
}
else
{
m_pBookSet.MoveNext(); //找下一个数据
sign=0;
}
}
}
if(m_Data=="类别"&&flag==0) //查询类别
{
while(!m_pBookSet.IsEOF())
{
if(m_pBookSet.m_Class == m_pIBook)
{
CString m_str;
m_str = m_pBookSet.m_BookName;
m_str.Remove(' ');
m_ListIBook.InsertItem(m_num,m_str,0); //书名
m_str.Format("%d",m_pBookSet.m_Book_ID);
m_ListIBook.SetItemText(m_num,1,m_str); //书号
m_str = m_pBookSet.m_Author;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,2,m_str); //作者
m_str = m_pBookSet.m_Class;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,3,m_str); //类别
m_str = m_pBookSet.m_Publisher;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,4,m_str); //出版社
m_str = m_pBookSet.m_Publisher_date;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,5,m_str); //出版日期
m_str = m_pBookSet.m_Prize;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,6,m_str); //价格
m_str.Format("%d",m_pBookSet.m_Number);
m_ListIBook.SetItemText(m_num,7,m_str); //数量
m_str = m_pBookSet.m_Place;
m_str.Remove(' ');
m_ListIBook.SetItemText(m_num,8,m_str); //在馆内位置
m_num++;
sign=1;
break;
}
else
{
m_pBookSet.MoveNext(); //找下一个数据
sign=0;
}
}
}
if(sign==0&&flag==0) //查找的类型中,没有与输入的内容相同的资料
::AfxMessageBox("没有找到该信息");
m_pBookSet.Close(); //关闭书籍记录数据库
}
/*函数功能:初始化表格*/
BOOL CInquireBookDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
int j;
m_ListIBook.SetExtendedStyle(LVS_EX_FULLROWSELECT|LVS_EX_GRIDLINES);
m_ListIBook.InsertColumn(0,_T("书名"),LVCFMT_IMAGE|LVCFMT_LEFT);
m_ListIBook.InsertColumn(1,_T("编号"));
m_ListIBook.InsertColumn(2,_T("作者"));
m_ListIBook.InsertColumn(3,_T("类别"));
m_ListIBook.InsertColumn(4,_T("出版社"));
m_ListIBook.InsertColumn(5,_T("出版日期"));
m_ListIBook.InsertColumn(6,_T("价钱"));
m_ListIBook.InsertColumn(7,_T("数量"));
m_ListIBook.InsertColumn(8,_T("在馆内位置"));
for(j=0;j<8;j++) //建立表格
{
m_ListIBook.SetColumnWidth(j ,70);
}
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -