📄 viewfenjicableinfo.cpp
字号:
UpdateData(TRUE);
if(nIndex==0)//全部记录
return;
else//按分机号查询
{
if(m_edit1>m_edit2)
{
int temp=m_edit1;
m_edit1=m_edit2;
m_edit2=temp;
}
m_table1.m_strSort=_T("[Id]");
str1.Format("%d",m_edit1);
str2.Format("%d",m_edit2);
m_table1.m_strFilter=_T("[Id] Between " + str1 + " AND " + str2);
if(m_table1.Requery())
{
m_list1.DeleteAllItems();
InSertList1();
}
}
UpdateData(FALSE);
}
void CViewFenjiCableInfo::OnProbe2()
{
// TODO: Add your control notification handler code here
int nIndex=m_mode2.GetCurSel();
CString str1,str2;
UpdateData(TRUE);
if(nIndex==0)//全部记录
return;
else//按分机号查询
{
if(m_edit3>m_edit4)
{
int temp=m_edit3;
m_edit3=m_edit4;
m_edit4=temp;
}
m_table2.m_strSort=_T("[Id]");
str1.Format("%d",m_edit3*100);
str2.Format("%d",m_edit4*100+16);
m_table2.m_strFilter=_T("[Id] Between " + str1 + " AND " + str2);
if(m_table2.Requery())
{
m_list2.DeleteAllItems();
InSertList2();
}
}
UpdateData(FALSE);
}
void CViewFenjiCableInfo::OnSelchangeMode1()
{
// TODO: Add your control notification handler code here
int nIndex=m_mode1.GetCurSel();
if(nIndex==0)//全部记录
{
GetDlgItem(IDC_PROBE1)->EnableWindow(FALSE);
WINDOWPLACEMENT wndplace;
wndplace.rcNormalPosition.left = 2000;
wndplace.rcNormalPosition.right = 2000;
wndplace.rcNormalPosition.top = 2000;
wndplace.rcNormalPosition.bottom = 2000;
GetDlgItem(IDC_MYSTATIC1)->SetWindowPlacement(&wndplace);
GetDlgItem(IDC_MYSTATIC2)->SetWindowPlacement(&wndplace);
GetDlgItem(IDC_EDIT1)->SetWindowPlacement(&wndplace);
GetDlgItem(IDC_EDIT2)->SetWindowPlacement(&wndplace);
m_table1.m_strSort=_T("[Id]");
m_table1.m_strFilter=_T("");
m_table1.Requery();
m_list1.DeleteAllItems();
InSertList1();
}
else//按分机号查询
{
GetDlgItem(IDC_PROBE1)->EnableWindow(TRUE);
GetDlgItem(IDC_MYSTATIC1)->SetWindowPlacement(&m_mystaticwnd[0]);
GetDlgItem(IDC_MYSTATIC2)->SetWindowPlacement(&m_mystaticwnd[1]);
GetDlgItem(IDC_EDIT1)->SetWindowPlacement(&m_editwnd[0]);
GetDlgItem(IDC_EDIT2)->SetWindowPlacement(&m_editwnd[1]);
m_edit1=0;
m_edit2=100;
}
UpdateData(FALSE);
}
void CViewFenjiCableInfo::OnSelchangeMode2()
{
// TODO: Add your control notification handler code here
int nIndex=m_mode2.GetCurSel();
if(nIndex==0)//全部记录
{
GetDlgItem(IDC_PROBE2)->EnableWindow(FALSE);
WINDOWPLACEMENT wndplace;
wndplace.rcNormalPosition.left = 2000;
wndplace.rcNormalPosition.right = 2000;
wndplace.rcNormalPosition.top = 2000;
wndplace.rcNormalPosition.bottom = 2000;
GetDlgItem(IDC_MYSTATIC3)->SetWindowPlacement(&wndplace);
GetDlgItem(IDC_MYSTATIC4)->SetWindowPlacement(&wndplace);
GetDlgItem(IDC_EDIT3)->SetWindowPlacement(&wndplace);
GetDlgItem(IDC_EDIT4)->SetWindowPlacement(&wndplace);
m_table2.m_strSort=_T("[Id]");
m_table2.m_strFilter=_T("");
m_table2.Requery();
m_list2.DeleteAllItems();
InSertList2();
}
else//按分机号查询
{
GetDlgItem(IDC_PROBE2)->EnableWindow(TRUE);
GetDlgItem(IDC_MYSTATIC3)->SetWindowPlacement(&m_mystaticwnd[2]);
GetDlgItem(IDC_MYSTATIC4)->SetWindowPlacement(&m_mystaticwnd[3]);
GetDlgItem(IDC_EDIT3)->SetWindowPlacement(&m_editwnd[2]);
GetDlgItem(IDC_EDIT4)->SetWindowPlacement(&m_editwnd[3]);
m_edit3=0;
m_edit4=10;
}
UpdateData(FALSE);
}
void CViewFenjiCableInfo::OnExport1()
{
// TODO: Add your control notification handler code here
if(!bHasExcelDriver())
{
MessageBox("没有安装Microsoft Excel Driver!","提示信息");
return;
}
CString strPathname;
CFileDialog filesavebox(FALSE,"xls",/*"default.xls"*/NULL,OFN_HIDEREADONLY/*|OFN_OVERWRITEPROMPT*/,"Excel文件(*.xls)|*.xls|",NULL);
if(filesavebox.DoModal()!=IDOK) return;
strPathname=filesavebox.GetPathName();
CDatabase database;
CString sDriver="Microsoft Excel Driver (*.xls)";
CString sSql;
CString str;
int i,nTotalItem,j;
TRY
{
sSql.Format("DRIVER={%s};DSN=;FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s",sDriver,strPathname,strPathname);
if(database.OpenEx(sSql,CDatabase::noOdbcDialog))
{
//创建表结构
// sSql="DROP TABLE 分机信息表";
// database.ExecuteSQL(sSql);
sSql="CREATE TABLE 分机信息表 (分机号 TEXT,分机名 TEXT,分机电话 TEXT,";
sSql+="用户1 TEXT,用户电话1 TEXT,用户2 TEXT,用户电话2 TEXT,用户3 TEXT,用户电话3 TEXT,";
sSql+="用户4 TEXT,用户电话4 TEXT,用户5 TEXT,用户电话5 TEXT,用户6 TEXT,用户电话6 TEXT,";
sSql+="维护1 TEXT,维护电话1 TEXT,维护2 TEXT,维护电话2 TEXT,维护3 TEXT,维护电话3 TEXT,";
sSql+="维护4 TEXT,维护电话4 TEXT,维护5 TEXT,维护电话5 TEXT,维护6 TEXT,维护电话6 TEXT,";
sSql+="无应答等待时间 NUMBER,灵敏度 NUMBER,循环拨打次数 NUMBER,布防等待时间 NUMBER,电压转折点 NUMBER,本机模式 TEXT,测距系数 NUMBER)";
database.ExecuteSQL(sSql);
// sSql="CREATE TABLE 分机信息表 (Name TEXT,Age NUMBER)";
// database.ExecuteSQL(sSql);
str="(分机号,分机名,分机电话,";
str+="用户1,用户电话1,用户2,用户电话2,用户3,用户电话3,";
str+="用户4,用户电话4,用户5,用户电话5,用户6,用户电话6,";
str+="维护1,维护电话1,维护2,维护电话2,维护3,维护电话3,";
str+="维护4,维护电话4,维护5,维护电话5,维护6,维护电话6,";
str+="无应答等待时间,灵敏度,循环拨打次数,布防等待时间,电压转折点,本机模式,测距系数)";
nTotalItem=m_list1.GetItemCount();
for(i=0;i<nTotalItem;i++)
{
sSql="INSERT INTO 分机信息表 ";
sSql+=str;
sSql+=" VALUES(";
for(j=0;j<27;j++)
{
sSql+="'";
sSql+=m_list1.GetItemText(i,j);
sSql+="',";
}
for(j=0;j<5;j++)
{
sSql+=m_list1.GetItemText(i,j+27);
sSql+=",";
}
sSql+="'";
sSql+=m_list1.GetItemText(i,32);
sSql+="',";
sSql+=m_list1.GetItemText(i,33);
sSql+=")";
database.ExecuteSQL(sSql);
}
}
database.Close();
}
CATCH_ALL(e)
{
TRACE0("%s","不能对表重新写入!");
}
END_CATCH_ALL;
}
void CViewFenjiCableInfo::OnExport2()
{
// TODO: Add your control notification handler code here
if(!bHasExcelDriver())
{
MessageBox("没有安装Microsoft Excel Driver!","提示信息");
return;
}
CString strPathname;
CFileDialog filesavebox(FALSE,"xls",/*"default.xls"*/NULL,OFN_HIDEREADONLY/*|OFN_OVERWRITEPROMPT*/,"Excel文件(*.xls)|*.xls|",NULL);
if(filesavebox.DoModal()!=IDOK) return;
strPathname=filesavebox.GetPathName();
CDatabase database;
CString sDriver="Microsoft Excel Driver (*.xls)";
CString sSql;
CString str;
int i,nTotalItem,j;
TRY
{
sSql.Format("DRIVER={%s};DSN=;FIRSTROWHASNAMES=1;READONLY=FALSE;CREATE_DB=\"%s\";DBQ=%s",sDriver,strPathname,strPathname);
if(database.OpenEx(sSql,CDatabase::noOdbcDialog))
{
sSql="CREATE TABLE 电缆信息表 (分机号 TEXT,电缆号 TEXT,电缆起点 TEXT,";
sSql+="电缆终点 TEXT,功能设置 TEXT)";
database.ExecuteSQL(sSql);
str="(分机号,电缆号,电缆起点,";
str+="电缆终点,功能设置)";
nTotalItem=m_list2.GetItemCount();
for(i=0;i<nTotalItem;i++)
{
sSql="INSERT INTO 电缆信息表 ";
sSql+=str;
sSql+=" VALUES(";
for(j=0;j<5;j++)
{
sSql+="'";
sSql+=m_list2.GetItemText(i,j);
sSql+="'";
if(j<4)
sSql+=",";
}
sSql+=")";
database.ExecuteSQL(sSql);
}
}
database.Close();
}
CATCH_ALL(e)
{
TRACE0("%s","不能对表重新写入!");
}
END_CATCH_ALL;
}
BOOL CViewFenjiCableInfo::bHasExcelDriver()
{
char szBuf[2001];
WORD cbBufMax=2000;
WORD cbBufOut;
char* pszBuf=szBuf;
CString sDriver;
if(!SQLGetInstalledDrivers(szBuf,cbBufMax,&cbBufOut)) return FALSE;
do
{
if(strstr(pszBuf,"Excel")!=0)
return TRUE;
pszBuf=strchr(pszBuf,'\0')+1;
}
while(pszBuf[0]!='\0');
return FALSE;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -