📄 search.cpp
字号:
// Search.cpp : implementation file
//
#include "stdafx.h"
#include "Commucation.h"
#include "Search.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CSearch dialog
CSearch::CSearch(CWnd* pParent /*=NULL*/)
: CDialog(CSearch::IDD, pParent)
{
//{{AFX_DATA_INIT(CSearch)
m_PhoneCode = _T("");
m_RoomNo = _T("");
//}}AFX_DATA_INIT
}
void CSearch::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CSearch)
DDX_Control(pDX, IDC_COMBO_YEAR, m_Year);
DDX_Control(pDX, IDC_COMBO_DAY, m_Day);
DDX_Control(pDX, IDC_COMBO_MONTH, m_Month);
DDX_Control(pDX, IDC_SEARCH_MSFLEXGRID, m_Search_MSFlex);
DDX_Text(pDX, IDC_PHONECODE, m_PhoneCode);
DDV_MaxChars(pDX, m_PhoneCode, 16);
DDX_Text(pDX, IDC_ROOMNO, m_RoomNo);
DDV_MaxChars(pDX, m_RoomNo, 2);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CSearch, CDialog)
//{{AFX_MSG_MAP(CSearch)
ON_BN_CLICKED(IDC_BUTTON_SEARCH, OnButtonSearch)
ON_CBN_SELCHANGE(IDC_COMBO_MONTH, OnSelchangeComboMonth)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CSearch message handlers
BOOL CSearch::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
try
{
m_pDB.Open("C:\\WINDOWS\\SYSTEM\\record.mdb");
}
catch(CDaoException*e)
{
DisplayDaoException(e);
e->Delete();
}
t=CTime::GetCurrentTime();
curYear=t.GetYear();
curMonth=t.GetMonth();
curDay=t.GetDay();
CString x;
x.Format("%d",curYear-3);
m_Year.InsertString(0,x);
x.Format("%d",curYear-2);
m_Year.InsertString(1,x);
x.Format("%d",curYear-1);
m_Year.InsertString(2,x);
x.Format("%d",curYear);
m_Year.InsertString(3,x);
m_Year.SetCurSel(3);
for(int i=1;i<=12;i++)
{
x.Format("%2d",i);
m_Month.AddString(x);
}
m_Month.SetCurSel(curMonth-1);
if((curMonth==4)||(curMonth==6)||(curMonth==9)||(curMonth==11))
{
for(int i=0;i<30;i++)
{
x.Format("%2d",i+1);
m_Day.InsertString(i,x);
m_Day.SetCurSel(curDay-1);
}
}
else if(curMonth==2)
{
for(int i=0;i<29;i++)
{
x.Format("%2d",i+1);
m_Day.InsertString(i,x);
m_Day.SetCurSel(curDay-1);
}
}
else
{
for(int i=0;i<31;i++)
{
x.Format("%2d",i+1);
m_Day.InsertString(i,x);
m_Day.SetCurSel(curDay-1);
}
}
m_Search_MSFlex.SetRows(1);
m_Search_MSFlex.SetColWidth(0,500);
m_Search_MSFlex.SetColWidth(1,0);
m_Search_MSFlex.SetColWidth(2,2100);
m_Search_MSFlex.SetColWidth(3,800);
m_Search_MSFlex.SetColWidth(4,1100);
m_Search_MSFlex.SetColWidth(5,1100);
m_Search_MSFlex.SetColWidth(6,1100);
m_Search_MSFlex.SetColWidth(7,1000);
m_Search_MSFlex.SetColWidth(8,0);
m_Search_MSFlex.SetColWidth(9,0);
m_Search_MSFlex.SetColWidth(10,0);
m_Search_MSFlex.SetRow(0);
m_Search_MSFlex.SetCol(1);
m_Search_MSFlex.SetText("流水号");
m_Search_MSFlex.SetCol(2);
m_Search_MSFlex.SetText("被叫号");
m_Search_MSFlex.SetCol(3);
m_Search_MSFlex.SetText("话亭");
m_Search_MSFlex.SetCol(4);
m_Search_MSFlex.SetText("通话日期");
m_Search_MSFlex.SetCol(5);
m_Search_MSFlex.SetText("起始时间");
m_Search_MSFlex.SetCol(6);
m_Search_MSFlex.SetText("通话时间");
m_Search_MSFlex.SetCol(7);
m_Search_MSFlex.SetText("话费");
m_Search_MSFlex.SetCol(8);
m_Search_MSFlex.SetText("附加费");
m_Search_MSFlex.SetCol(9);
m_Search_MSFlex.SetText("话价");
m_Search_MSFlex.SetCol(10);
m_Search_MSFlex.SetText("工号");
/*
while(str!="")
{
m_Record.m_Serial=str.Left(11);
m_Record.m_Phone=str.Mid(13,16);
m_Record.m_Room=str.Mid(11,2);
m_Record.m_Date=str.Mid(30,10);
m_Record.m_StTime=str.Mid(40,8);
m_Record.m_SpTime=str.Mid(48,4);
m_Record.m_Cost=str.Mid(52,6);
m_Record.m_Add=str.Mid(69,5);
m_Record.m_Price=str.Mid(61,8);
m_Record.m_Duty=str.Mid(58,3);
RowNo.Format("%d",RowCount);
m_Search_MSFlex.SetRow(RowCount);
m_Search_MSFlex.SetCol(0);
m_Search_MSFlex.SetText(RowNo);
m_Search_MSFlex.SetCol(1);
m_Search_MSFlex.SetText(m_Record.m_Serial);
m_Search_MSFlex.SetCol(2);
m_Search_MSFlex.SetText(m_Record.m_Phone);
m_Search_MSFlex.SetCol(3);
m_Search_MSFlex.SetText(m_Record.m_Room+"话亭");
m_Search_MSFlex.SetCol(4);
m_Search_MSFlex.SetText(m_Record.m_Date);
m_Search_MSFlex.SetCol(5);
m_Search_MSFlex.SetText(m_Record.m_StTime);
m_Search_MSFlex.SetCol(6);
m_Search_MSFlex.SetText(m_Record.m_SpTime+"秒");
m_Search_MSFlex.SetCol(7);
m_Search_MSFlex.SetText(m_Record.m_Cost+"元");
m_Search_MSFlex.SetCol(8);
m_Search_MSFlex.SetText(m_Record.m_Add);
m_Search_MSFlex.SetCol(9);
m_Search_MSFlex.SetText(m_Record.m_Price);
m_Search_MSFlex.SetCol(10);
m_Search_MSFlex.SetText(m_Record.m_Duty);
file.ReadString(str);
RowCount+=1;
}
*/
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
BEGIN_EVENTSINK_MAP(CSearch, CDialog)
//{{AFX_EVENTSINK_MAP(CSearch)
ON_EVENT(CSearch, IDC_SEARCH_MSFLEXGRID, -600 /* Click */, OnClickSearchMsflexgrid, VTS_NONE)
//}}AFX_EVENTSINK_MAP
END_EVENTSINK_MAP()
void CSearch::OnClickSearchMsflexgrid()
{
// TODO: Add your control notification handler code here
// m_SearchRow=m_Search_MSFlex.GetRow();
// m_Search_MSFlex.SetRow(m_SearchRow);
}
void CSearch::OnButtonSearch()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
CDaoQueryDef qd(&m_pDB);
CString sdate,temp,sqlstr,PhoneCode,RoomNo,RowNo;
int len_Code,RowCount;
temp.Format("%d",m_Year.GetCurSel()+curYear-3);
sdate=temp;
temp.Format("%2d",m_Month.GetCurSel()+1);
sdate=sdate+"/"+temp+"/";
temp.Format("%2d",m_Day.GetCurSel()+1);
sdate+=temp;
PhoneCode=m_PhoneCode;
PhoneCode.TrimRight();
RoomNo=m_RoomNo;
len_Code=PhoneCode.GetLength();
if(RoomNo.GetLength()==1)
{
RoomNo="0"+RoomNo;
}
sqlstr="select * from record where 日期='"+sdate+"'";
if(PhoneCode!="")
sqlstr+=" and 被叫号='"+PhoneCode+"'";
if(RoomNo!="")
sqlstr+=" and 话亭='"+RoomNo+"'";
qd.Create("",sqlstr);
CDaoRecordset rs(&m_pDB);
try
{
rs.Open(&qd,dbOpenDynaset,dbInconsistent);
}
catch(CDaoException* e)
{
DisplayDaoException(e);
e->Delete();
}
qd.Close();
if(!rs.IsEOF())
{
rs.MoveLast();
rs.MoveFirst();
}
RowCount=rs.GetRecordCount()+1;
m_Search_MSFlex.SetRows(RowCount);
m_Search_MSFlex.SetColWidth(0,500);
m_Search_MSFlex.SetColWidth(1,0);
m_Search_MSFlex.SetColWidth(2,2100);
m_Search_MSFlex.SetColWidth(3,800);
m_Search_MSFlex.SetColWidth(4,1100);
m_Search_MSFlex.SetColWidth(5,1100);
m_Search_MSFlex.SetColWidth(6,1100);
m_Search_MSFlex.SetColWidth(7,1000);
m_Search_MSFlex.SetColWidth(8,0);
m_Search_MSFlex.SetColWidth(9,0);
m_Search_MSFlex.SetColWidth(10,0);
m_Search_MSFlex.SetRow(0);
m_Search_MSFlex.SetCol(1);
m_Search_MSFlex.SetText("流水号");
m_Search_MSFlex.SetCol(2);
m_Search_MSFlex.SetText("被叫号");
m_Search_MSFlex.SetCol(3);
m_Search_MSFlex.SetText("话亭");
m_Search_MSFlex.SetCol(4);
m_Search_MSFlex.SetText("通话日期");
m_Search_MSFlex.SetCol(5);
m_Search_MSFlex.SetText("起始时间");
m_Search_MSFlex.SetCol(6);
m_Search_MSFlex.SetText("通话时间");
m_Search_MSFlex.SetCol(7);
m_Search_MSFlex.SetText("话费");
m_Search_MSFlex.SetCol(8);
m_Search_MSFlex.SetText("附加费");
m_Search_MSFlex.SetCol(9);
m_Search_MSFlex.SetText("话价");
m_Search_MSFlex.SetCol(10);
m_Search_MSFlex.SetText("工号");
RowCount=1;
while(!rs.IsEOF())
{
m_Search_MSFlex.SetRow(RowCount);
m_Search_MSFlex.SetCol(0);
RowNo.Format("%2d",RowCount);
m_Search_MSFlex.SetText(RowNo);
m_Search_MSFlex.SetCol(1);
temp=V_BSTRT(&rs.GetFieldValue("流水号"));
m_Search_MSFlex.SetText(temp);
m_Search_MSFlex.SetCol(2);
temp=V_BSTRT(&rs.GetFieldValue("被叫号"));
m_Search_MSFlex.SetText(temp);
m_Search_MSFlex.SetCol(3);
temp=V_BSTRT(&rs.GetFieldValue("话亭"));
temp+="话亭";
m_Search_MSFlex.SetText(temp);
m_Search_MSFlex.SetCol(4);
temp=V_BSTRT(&rs.GetFieldValue("日期"));
m_Search_MSFlex.SetText(temp);
m_Search_MSFlex.SetCol(5);
temp=V_BSTRT(&rs.GetFieldValue("起始时间"));
m_Search_MSFlex.SetText(temp);
m_Search_MSFlex.SetCol(6);
temp=V_BSTRT(&rs.GetFieldValue("通话时间"));
temp+="秒";
m_Search_MSFlex.SetText(temp);
m_Search_MSFlex.SetCol(7);
double zongjia;
zongjia=V_R8(&rs.GetFieldValue("总价"));
temp.Format("%6.2f",zongjia);
m_Search_MSFlex.SetText(temp+"元");
m_Search_MSFlex.SetCol(8);
temp=V_BSTRT(&rs.GetFieldValue("附加费"));
m_Search_MSFlex.SetText(temp);
m_Search_MSFlex.SetCol(9);
temp=V_BSTRT(&rs.GetFieldValue("话价"));
m_Search_MSFlex.SetText(temp);
m_Search_MSFlex.SetCol(10);
temp=V_BSTRT(&rs.GetFieldValue("工号"));
m_Search_MSFlex.SetText(temp);
RowCount+=1;
rs.MoveNext();
}
rs.Close();
}
void CSearch::OnOK()
{
// TODO: Add extra validation here
m_Search_MSFlex.SetCol(1);
m_Search.m_Serial=m_Search_MSFlex.GetText();
m_Search_MSFlex.SetCol(2);
m_Search.m_Phone=m_Search_MSFlex.GetText();
m_Search_MSFlex.SetCol(3);
m_Search.m_Room=m_Search_MSFlex.GetText();
m_Search_MSFlex.SetCol(4);
m_Search.m_Date=m_Search_MSFlex.GetText();
m_Search_MSFlex.SetCol(5);
m_Search.m_StTime=m_Search_MSFlex.GetText();
m_Search_MSFlex.SetCol(6);
m_Search.m_SpTime=m_Search_MSFlex.GetText();
m_Search_MSFlex.SetCol(7);
m_Search.m_Cost=m_Search_MSFlex.GetText();
m_Search_MSFlex.SetCol(8);
m_Search.m_Add=m_Search_MSFlex.GetText();
m_Search_MSFlex.SetCol(9);
m_Search.m_Price=m_Search_MSFlex.GetText();
m_Search_MSFlex.SetCol(10);
m_Search.m_Duty=m_Search_MSFlex.GetText();
CDialog::OnOK();
}
void CSearch::OnSelchangeComboMonth()
{
// TODO: Add your control notification handler code here
CString x;
int selMonth;
selMonth=m_Month.GetCurSel()+1;
m_Day.ResetContent();
if((selMonth==4)||(selMonth==6)||(selMonth==9)||(selMonth==11))
{
for(int i=0;i<30;i++)
{
x.Format("%2d",i+1);
m_Day.InsertString(i,x);
}
}
else if(selMonth==2)
{
for(int i=0;i<29;i++)
{
x.Format("%2d",i+1);
m_Day.InsertString(i,x);
}
}
else
{
for(int i=0;i<31;i++)
{
x.Format("%2d",i+1);
m_Day.InsertString(i,x);
}
}
m_Day.SetCurSel(0);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -