📄 busdlg.cpp
字号:
// BusDlg.cpp : implementation file
//
#include "stdafx.h"
#include "InPone.h"
#include "BusDlg.h"
#include "BusSet3.h"
#include "AdbusDlg.h"
#include "BusxgDlg.h"
#ifdef _DEBUG
#define new DEBUG_NEW
#undef THIS_FILE
static char THIS_FILE[] = __FILE__;
#endif
/////////////////////////////////////////////////////////////////////////////
// CBusDlg dialog
CBusDlg::CBusDlg(CWnd* pParent /*=NULL*/)
: CDialog(CBusDlg::IDD, pParent)
{
//{{AFX_DATA_INIT(CBusDlg)
m_cp = _T("");
m_fp = _T("");
m_gl = _T("");
m_jp = _T("");
m_jsb = _T("");
m_stw = _T("");
m_sx = _T("");
m_fj = _T("");
m_yj = _T("");
m_no = _T("");
//}}AFX_DATA_INIT
}
void CBusDlg::DoDataExchange(CDataExchange* pDX)
{
CDialog::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CBusDlg)
DDX_Control(pDX, IDC_LIST1, m_listBus);
DDX_Text(pDX, IDC_CP, m_cp);
DDX_Text(pDX, IDC_FP, m_fp);
DDX_Text(pDX, IDC_GL, m_gl);
DDX_Text(pDX, IDC_JP, m_jp);
DDX_Text(pDX, IDC_JSB, m_jsb);
DDX_Text(pDX, IDC_STW, m_stw);
DDX_Text(pDX, IDC_SX, m_sx);
DDX_Text(pDX, IDC_FJ, m_fj);
DDX_Text(pDX, IDC_YJ, m_yj);
DDX_Text(pDX, IDC_NO, m_no);
//}}AFX_DATA_MAP
}
BEGIN_MESSAGE_MAP(CBusDlg, CDialog)
//{{AFX_MSG_MAP(CBusDlg)
ON_BN_CLICKED(IDC_ADD, OnAdd)
ON_BN_CLICKED(IDC_CHAXU, OnChaxu)
ON_NOTIFY(NM_CLICK, IDC_LIST1, OnClickList1)
ON_BN_CLICKED(IDC_XIUGAI, OnXiugai)
ON_BN_CLICKED(IDC_SHACHU, OnShachu)
ON_BN_CLICKED(IDC_SELECT, OnSelect)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CBusDlg message handlers
BOOL CBusDlg::OnInitDialog()
{
CDialog::OnInitDialog();
// TODO: Add extra initialization here
m_listBus.InsertColumn(0,"");
m_listBus.InsertColumn(1,"序号");
m_listBus.InsertColumn(2,"设台单位");
m_listBus.InsertColumn(3,"车牌号码");
m_listBus.InsertColumn(4,"发射频率");
m_listBus.InsertColumn(5,"接收频率");
m_listBus.InsertColumn(6,"设备型号");
m_listBus.InsertColumn(7,"功率");
m_listBus.InsertColumn(8,"机身码");
m_listBus.InsertColumn(9,"出证日期");
m_listBus.InsertColumn(10,"有效日期");
RECT rect;
m_listBus.GetWindowRect(&rect);
int wid=rect.right-rect.left;
m_listBus.SetColumnWidth(0,wid/1000);
m_listBus.SetColumnWidth(1,wid*99/1000);
m_listBus.SetColumnWidth(2,wid/10);
m_listBus.SetColumnWidth(3,wid/10);
m_listBus.SetColumnWidth(4,wid/10);
m_listBus.SetColumnWidth(5,wid/10);
m_listBus.SetColumnWidth(6,wid/10);
m_listBus.SetColumnWidth(7,wid/10);
m_listBus.SetColumnWidth(8,wid/10);
m_listBus.SetColumnWidth(9,wid/10);
m_listBus.SetColumnWidth(10,wid/10);
m_listBus.SetExtendedStyle(LVS_EX_FULLROWSELECT);
RefreshData();
CFont *hOldFont,hFont;
hFont.CreateFont(100,100,0,0,FW_BOLD,FALSE,FALSE,FALSE,DEFAULT_CHARSET,OUT_CHARACTER_PRECIS,CLIP_CHARACTER_PRECIS,DEFAULT_QUALITY,DEFAULT_PITCH|FF_DONTCARE,"楷体_GB2312");
CWnd *pWnd = GetDlgItem(IDC_BUSSTATIC);
pWnd->SetFont(&hFont);
GetDlgItem(IDC_BUSSTATIC)->SetWindowText("深圳市车载对讲机执照");
/*
CString strSQL;
strSQL.Format("select top 1 num from BusMa order by num desc");
*/
return TRUE; // return TRUE unless you set the focus to a control
// EXCEPTION: OCX Property Pages should return FALSE
}
void CBusDlg::RefreshData()
{
//确保数据库被打开
if(!m_database.IsOpen())
{
m_database.Open(_T("InPone"));
}
//对m_listgh控件内容的更新
//清空原来已经显示的内容
m_listBus.DeleteAllItems();
//创建记录集
CBusSet3 m_busset(&m_database);
CString strSQL;
strSQL.Format("select * from BusMa");
m_busset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
CDBVariant varValue;
if(m_busset.GetRecordCount()!=0)
m_busset.MoveFirst();
char buf[20];
int i=0;
while(!m_busset.IsEOF())
{
int temp=0;
//对整型数的显示处理
m_busset.GetFieldValue(temp,varValue);
sprintf(buf,"%d",varValue.m_iVal);
m_listBus.InsertItem(i,buf);
/*m_busset.GetFieldValue(1,varValue);
m_listBus.InsertItem(i,varValue.m_pstring->GetBuffer(1));
*/
//对字符串的显示处理
m_busset.GetFieldValue(1,varValue);
m_listBus.SetItemText(i,1,varValue.m_pstring->GetBuffer(1));
m_busset.GetFieldValue(2,varValue);
m_listBus.SetItemText(i,2,varValue.m_pstring->GetBuffer(1));
m_busset.GetFieldValue(3,varValue);
m_listBus.SetItemText(i,3,varValue.m_pstring->GetBuffer(1));
m_busset.GetFieldValue(4,varValue);
m_listBus.SetItemText(i,4,varValue.m_pstring->GetBuffer(1));
m_busset.GetFieldValue(5,varValue);
m_listBus.SetItemText(i,5,varValue.m_pstring->GetBuffer(1));
m_busset.GetFieldValue(6,varValue);
m_listBus.SetItemText(i,6,varValue.m_pstring->GetBuffer(1));
m_busset.GetFieldValue(7,varValue);
m_listBus.SetItemText(i,7,varValue.m_pstring->GetBuffer(1));
m_busset.GetFieldValue(8,varValue);
m_listBus.SetItemText(i,8,varValue.m_pstring->GetBuffer(1));
m_busset.GetFieldValue(9,varValue);
m_listBus.SetItemText(i,9,varValue.m_pstring->GetBuffer(1));
m_busset.GetFieldValue(10,varValue);
m_listBus.SetItemText(i,10,varValue.m_pstring->GetBuffer(1));
// m_devghset.GetFieldValue(7,varValue);
// m_listgh.SetItemText(i,7,varValue.m_pstring->GetBuffer(1));
m_busset.MoveNext();
i++;
}
}
void CBusDlg::OnAdd()
{
// TODO: Add your control notification handler code here
CTime t;
CAdbusDlg m_dlg;
if (m_dlg.DoModal()!=IDOK)
return;
t = CTime::GetCurrentTime();
char dtstr[64];
char dtstry[64];
memset(dtstr,0,sizeof(dtstr));
memset(dtstry,0,sizeof(dtstry));
_snprintf(dtstr,sizeof(dtstr),"%d%02d%02d",t.GetYear(),t.GetMonth(),t.GetDay());
_snprintf(dtstry,sizeof(dtstry),"%d%02d%02d",t.GetYear()+1,t.GetMonth(),t.GetDay());
CBusSet3 m_set(&m_database);
CString strSQL;
CDBVariant varValue;
char buf[20];
int i=0;
int temp=0;
int num;
//对整型数的显示处理
try
{
strSQL.Format("select top 1 * from BusMa order by num desc");
m_set.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
if(m_set.GetRecordCount()==0)
{
num = 1;
}
else
{
m_set.GetFieldValue(1,varValue);
num = atoi(varValue.m_pstring->GetBuffer(1))+1;
}
/*
m_set.GetFieldValue(1,varValue);
AfxMessageBox(varValue.m_pstring->GetBuffer(1));
num = atoi(varValue.m_pstring->GetBuffer(1))+1;
*/char buf[32];
CString buftemp;
memset(buf,0x00,sizeof(buf));
sprintf(buf,"%06d",num);
buftemp.Format("%s",buf);
if (m_set.IsOpen())
m_set.Close();
m_set.m_strFilter.Format("Place='%s'order by ID ASC",m_dlg.m_stw.operator LPCTSTR());
m_set.Open(CRecordset::snapshot,NULL,CRecordset::none);
m_set.AddNew();
//sprintf(m_set.m_num,"%d",num);
m_set.m_num = buftemp;
m_set.m_Place = m_dlg.m_stw;
m_set.m_Ran=m_dlg.m_cph;
m_set.m_Fpl=m_dlg.m_fp;
m_set.m_Jpl=m_dlg.m_jp;
m_set.m_Sxh=m_dlg.m_shx;
m_set.m_Gl=m_dlg.m_gl;
m_set.m_Jsm=m_dlg.m_jsm;
m_set.m_Fj.Format("%s",dtstr);
m_set.m_Yj.Format("%s",dtstry);
if(m_set.CanUpdate())
{
m_set.Update();
}
if(m_set.IsOpen())
m_set.Close();
RefreshData();
}
catch(CDBException *e)
{
e->ReportError();
return;
}
}
void CBusDlg::OnChaxu()
{
// TODO: Add your control notification handler code here
/*
*/
}
void CBusDlg::OnClickList1(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
memset(AddTemp,0x00,sizeof(AddTemp));
int i=m_listBus.GetSelectionMark();
//m_edit=m_listBus.GetItemText(i,1);
//m_devname=m_list.GetItemText(i,2);
//m_devinfo=m_list.GetItemText(i,3);
//m_mark=m_list.GetItemText(i,4);
m_no = m_listBus.GetItemText(i,1);
m_stw = m_listBus.GetItemText(i,2);
m_cp = m_listBus.GetItemText(i,3);
m_fp = m_listBus.GetItemText(i,4);
m_jp = m_listBus.GetItemText(i,5);
m_gl = m_listBus.GetItemText(i,6);
m_sx = m_listBus.GetItemText(i,7);
m_jsb = m_listBus.GetItemText(i,8);
m_fj = m_listBus.GetItemText(i,9);
m_yj = m_listBus.GetItemText(i,10);
for(int j =2;j<=8;j++)
{
strcat(AddTemp,m_listBus.GetItemText(i,j));
strcat(AddTemp,"|");
}
/*
strcat(temp,m_listBus.GetItemText(i,2));
strcat(temp,"|");
strcat(temp,m_listBus.GetItemText(i,3));
strcat(temp,"|");
strcat(temp,m_listBus.GetItemText(i,4));
strcat(temp,"|");
strcat(temp,m_listBus.GetItemText(i,5));
strcat(temp,"|");
strcat(temp,m_listBus.GetItemText(i,6));
strcat(temp,"|");
strcat(temp,m_listBus.GetItemText(i,7));
strcat(temp,"|");
*/
UpdateData(FALSE);
*pResult = 0;
}
void CBusDlg::OnXiugai()
{
// TODO: Add your control notification handler code here
UpdateData();
CBusxgDlg m_sbxgdlg;
CTime t;
char dtstr[64];
char dtstry[64];
t = CTime::GetCurrentTime();
memset(dtstr,0,sizeof(dtstr));
memset(dtstry,0,sizeof(dtstry));
_snprintf(dtstr,sizeof(dtstr),"%d%02d%02d",t.GetYear(),t.GetMonth(),t.GetDay());
_snprintf(dtstry,sizeof(dtstry),"%d%02d%02d",t.GetYear()+1,t.GetMonth(),t.GetDay());
int i=m_listBus.GetSelectionMark();
if(i==-1)
{
MessageBox("请选择一条记录!");
}
else
{
m_sbxgdlg.m_no = m_listBus.GetItemText(i,1);
m_sbxgdlg.m_stw = m_listBus.GetItemText(i,2);
m_sbxgdlg.m_cph = m_listBus.GetItemText(i,3);
m_sbxgdlg.m_fp = m_listBus.GetItemText(i,4);
m_sbxgdlg.m_jp = m_listBus.GetItemText(i,5);
m_sbxgdlg.m_sx = m_listBus.GetItemText(i,6);
m_sbxgdlg.m_gl = m_listBus.GetItemText(i,7);
m_sbxgdlg.m_jsm = m_listBus.GetItemText(i,8);
//UpdateData(FALSE);
if(m_sbxgdlg.DoModal()!=IDOK)
{
return;
}
int keyid=atoi(m_listBus.GetItemText(i,0));
CBusSet3 m_set;
try
{
if(m_set.IsOpen())
m_set.Close();
m_set.m_strFilter.Format("num='%s' order by ID ASC",m_sbxgdlg.m_no.operator LPCTSTR());
// m_set.m_strFilter.Format("select * from BusMa where num like 'keyid'");
m_set.Open(CRecordset::snapshot,NULL,CRecordset::none);
if(m_set.IsOpen()&&!m_set.IsEOF())
{
m_set.Edit();
m_set.m_Place = m_sbxgdlg.m_stw;
m_set.m_Ran = m_sbxgdlg.m_cph;
m_set.m_Fpl = m_sbxgdlg.m_fp;
m_set.m_Jpl = m_sbxgdlg.m_jp;
m_set.m_Sxh = m_sbxgdlg.m_sx;
m_set.m_Gl = m_sbxgdlg.m_gl;
m_set.m_Jsm = m_sbxgdlg.m_jsm;
m_set.m_Fj.Format("%s",dtstr);
m_set.m_Yj.Format("%s",dtstry);
//如果可以更新,则更新到数据库
if(m_set.CanUpdate())
{
m_set.Update();
}
//更新完毕,关闭数据库
if(m_set.IsOpen())
m_set.Close();
AfxMessageBox("修改成功!");
}
else
{
if(m_set.IsOpen())
m_set.Close();
AfxMessageBox("该记录不存在,无法修改!");
return;
}
}
catch(CDBException *e)
{
e->ReportError();
return;
}
}
RefreshData();
}
void CBusDlg::OnShachu()
{
// TODO: Add your control notification handler code here
int i=m_listBus.GetSelectionMark();
CString strSQL;
CString temp;
if (i==-1)
{
MessageBox("请选择一条记录!");
}
else
{
if(MessageBox("请确定是否要删除","标题",MB_OKCANCEL)==IDCANCEL)
return;
int keyid=atoi(m_listBus.GetItemText(i,0));
strSQL.Format("delete from BusMa where ID=%d",keyid);
//strSQL.Format("delete from BusMa where num=%s",m_listBus.GetItemText(i,0));
m_database.ExecuteSQL(strSQL);
m_database.Close();
RefreshData();
}
}
void CBusDlg::OnSelect()
{
// TODO: Add your control notification handler code here
UpdateData(TRUE);
m_stw.TrimRight("");
if(m_stw.GetLength()<=0)
{
AfxMessageBox("请输入设台单位进行查询");
return;
}
/* if(!m_database.IsOpen())
{
m_database.Open(_T("InPone"));
}
*/
m_listBus.DeleteAllItems();
CBusSet3 m_busset(&m_database);
CString strSQL;
strSQL.Format("select * from BusMa where Place like '"+m_stw+"'");
//strSQL.Format("select * from BusMa" );//where Place like '"+m_stw+"'");
m_busset.Open(AFX_DB_USE_DEFAULT_TYPE,strSQL);
CDBVariant varValue;
if(m_busset.GetRecordCount()!=0)
m_busset.MoveFirst();
char buf[20];
int i=0;
while(!m_busset.IsEOF())
{
int temp=0;
//对整型数的显示处理
m_busset.GetFieldValue(temp,varValue);
sprintf(buf,"%d",varValue.m_iVal);
m_listBus.InsertItem(i,buf);
/*m_busset.GetFieldValue(1,varValue);
m_listBus.InsertItem(i,varValue.m_pstring->GetBuffer(1));
*/
//对字符串的显示处理
m_busset.GetFieldValue(1,varValue);
m_listBus.SetItemText(i,1,varValue.m_pstring->GetBuffer(1));
m_busset.GetFieldValue(2,varValue);
m_listBus.SetItemText(i,2,varValue.m_pstring->GetBuffer(1));
m_busset.GetFieldValue(3,varValue);
m_listBus.SetItemText(i,3,varValue.m_pstring->GetBuffer(1));
m_busset.GetFieldValue(4,varValue);
m_listBus.SetItemText(i,4,varValue.m_pstring->GetBuffer(1));
m_busset.GetFieldValue(5,varValue);
m_listBus.SetItemText(i,5,varValue.m_pstring->GetBuffer(1));
m_busset.GetFieldValue(6,varValue);
m_listBus.SetItemText(i,6,varValue.m_pstring->GetBuffer(1));
m_busset.GetFieldValue(7,varValue);
m_listBus.SetItemText(i,7,varValue.m_pstring->GetBuffer(1));
m_busset.GetFieldValue(8,varValue);
m_listBus.SetItemText(i,8,varValue.m_pstring->GetBuffer(1));
m_busset.GetFieldValue(9,varValue);
m_listBus.SetItemText(i,9,varValue.m_pstring->GetBuffer(1));
m_busset.GetFieldValue(10,varValue);
m_listBus.SetItemText(i,10,varValue.m_pstring->GetBuffer(1));
// m_devghset.GetFieldValue(7,varValue);
// m_listgh.SetItemText(i,7,varValue.m_pstring->GetBuffer(1));
m_busset.MoveNext();
i++;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -