📄 mainfrm.cpp
字号:
MessageBox("请输入2000-2050之间的整数","年份输入错误",MB_OK);
else
{
if(dlg.m_month>12||dlg.m_month<1)
MessageBox("请输入1-12之间的整数","月份输入错误",MB_OK);
else
{
int dd;
CString str_dd;
if(dlg.m_month==2)
{
if(dlg.m_year%4==0)
dd=29;
else
dd=28;
}
else if(dlg.m_month==4||dlg.m_month==6||dlg.m_month==9||dlg.m_month==11)
dd=30;
else
dd=31;
str_dd.Format("%d",dd);
str_dd="请输入1-"+str_dd;
str_dd=str_dd+"之间的整数";
if(dlg.m_day>dd||dlg.m_day<1)
MessageBox(str_dd,"日期输入错误",MB_OK);
else
{
yy=dlg.m_year;
mm=dlg.m_month;
dd=dlg.m_day;
CDaoDatabase m_DB;
try
{
m_DB.Open("e:\\shaoye\\test_result.mdb");
CDaoTableDef m_OpenTable1(&m_DB);
try
{
CString tbname;
CTime time=CTime::GetCurrentTime();
tbname.Format("%4d%02d%02d",dlg.m_year,dlg.m_month,dlg.m_day);
m_OpenTable1.Open(tbname);
try
{
CDaoRecordset rs1;
rs1.Open(&m_OpenTable1,dbOpenDynaset,dbInconsistent);
rs1.MoveFirst();
int time_time,i,j;
for(i=0;i<24;i++)
for(j=0;j<720;j++)
pDoc->query_flux[i][j]=0;
while(!rs1.IsEOF())//到纪录尾,跳出循环
{
COleVariant varValue1;
varValue1=rs1.GetFieldValue("time");
time_time=varValue1.iVal;
i=time_time/720;
j=time_time-720*i;
varValue1=rs1.GetFieldValue("flux");
pDoc->query_flux[i][j]=varValue1.fltVal;
rs1.MoveNext();
}
if(rs1.IsOpen())
rs1.Close();
if(m_OpenTable1.IsOpen())
m_OpenTable1.Close();
CResultDlg1 dlg;
dlg.dday=dd;
dlg.mmonth=mm;
dlg.yyear=yy;
dlg.DoModal();
}
catch(CDaoException* e)
{
e->Delete();
}
}
catch(CDaoException* e)
{
e->Delete();
MessageBox("没有对应的数据","没有数据",MB_OK);
}
}
catch(CDaoException *e)
{
e->Delete();
MessageBox("没有对应的数据","没有数据",MB_OK);
}
}
}
}
}
}
void CMainFrame::OnQueryThird()
{
CShaoYeDoc* pDoc = (CShaoYeDoc* )GetActiveDocument();
int dd,mm,yy;
CQueryDlg2 dlg;
if(dlg.DoModal()==IDOK)
{
UpdateData();
if(dlg.m_year>2050||dlg.m_year<2000)
MessageBox("请输入2000-2050之间的整数","年份输入错误",MB_OK);
else
{
if(dlg.m_month>12||dlg.m_month<1)
MessageBox("请输入1-12之间的整数","月份输入错误",MB_OK);
else
{
int dd;
CString str_dd;
if(dlg.m_month==2)
{
if(dlg.m_year%4==0)
dd=29;
else
dd=28;
}
else if(dlg.m_month==4||dlg.m_month==6||dlg.m_month==9||dlg.m_month==11)
dd=30;
else
dd=31;
str_dd.Format("%d",dd);
str_dd="请输入1-"+str_dd;
str_dd=str_dd+"之间的整数";
if(dlg.m_day>dd||dlg.m_day<1)
MessageBox(str_dd,"日期输入错误",MB_OK);
else
{
yy=dlg.m_year;
mm=dlg.m_month;
dd=dlg.m_day;
CDaoDatabase m_DB;
try
{
m_DB.Open("e:\\shaoye\\test_result.mdb");
CDaoTableDef m_OpenTable1(&m_DB);
try
{
CString tbname;
CTime time=CTime::GetCurrentTime();
tbname.Format("%4d%02d%02d",dlg.m_year,dlg.m_month,dlg.m_day);
m_OpenTable1.Open(tbname);
try
{
CDaoRecordset rs1;
rs1.Open(&m_OpenTable1,dbOpenDynaset,dbInconsistent);
rs1.MoveFirst();
int time_time,i,j;
for(i=0;i<3;i++)
for(j=0;j<5760;j++)
pDoc->query_flux1[i][j]=0;
while(!rs1.IsEOF())//到纪录尾,跳出循环
{
COleVariant varValue1;
varValue1=rs1.GetFieldValue("time");
time_time=varValue1.iVal;
i=time_time/5760;
j=time_time-5760*i;
varValue1=rs1.GetFieldValue("flux");
pDoc->query_flux1[i][j]=varValue1.fltVal;
rs1.MoveNext();
}
if(rs1.IsOpen())
rs1.Close();
if(m_OpenTable1.IsOpen())
m_OpenTable1.Close();
CResultDlg2 dlg;
dlg.dday=dd;
dlg.mmonth=mm;
dlg.yyear=yy;
dlg.DoModal();
}
catch(CDaoException* e)
{
e->Delete();
}
}
catch(CDaoException* e)
{
e->Delete();
MessageBox("没有对应的数据","没有数据",MB_OK);
}
}
catch(CDaoException *e)
{
e->Delete();
MessageBox("没有对应的数据","没有数据",MB_OK);
}
}
}
}
}
}
void CMainFrame::OnQueryForth()
{
// TODO: Add your command handler code here
CShaoYeDoc* pDoc = (CShaoYeDoc* )GetActiveDocument();
int dd,mm,yy;
float max_flux,min_flux;
CQueryDlg3 dlg;
if(dlg.DoModal()==IDOK)
{
UpdateData();
if(dlg.m_year>2050||dlg.m_year<2000)
MessageBox("请输入2000-2050之间的整数","年份输入错误",MB_OK);
else
{
if(dlg.m_month>12||dlg.m_month<1)
MessageBox("请输入1-12之间的整数","月份输入错误",MB_OK);
else
{
int dd;
CString str_dd;
if(dlg.m_month==2)
{
if(dlg.m_year%4==0)
dd=29;
else
dd=28;
}
else if(dlg.m_month==4||dlg.m_month==6||dlg.m_month==9||dlg.m_month==11)
dd=30;
else
dd=31;
str_dd.Format("%d",dd);
str_dd="请输入1-"+str_dd;
str_dd=str_dd+"之间的整数";
if(dlg.m_day>dd||dlg.m_day<1)
MessageBox(str_dd,"日期输入错误",MB_OK);
else
{
if((dlg.m_max<0)||(dlg.m_min<0)||(dlg.m_max<dlg.m_min))
MessageBox("请正确输入异常条件!","输入错误",MB_OK);
else
{
yy=dlg.m_year;
mm=dlg.m_month;
dd=dlg.m_day;
max_flux=dlg.m_max;
min_flux=dlg.m_min;
CDaoDatabase m_DB;
try
{
m_DB.Open("e:\\shaoye\\test_result.mdb");
CDaoTableDef m_OpenTable1(&m_DB);
try
{
CString tbname;
CTime time=CTime::GetCurrentTime();
tbname.Format("%4d%02d%02d",dlg.m_year,dlg.m_month,dlg.m_day);
m_OpenTable1.Open(tbname);
try
{
pDoc->error_num=0;
CDaoRecordset rs1;
rs1.Open(&m_OpenTable1,dbOpenDynaset,dbInconsistent);
rs1.MoveFirst();
int time_time,i,j;
while(!rs1.IsEOF())//到纪录尾,跳出循环
{
COleVariant varValue1;
varValue1=rs1.GetFieldValue("flux");
if((varValue1.fltVal>max_flux)||(varValue1.fltVal<min_flux))
{
pDoc->query_error_flux[pDoc->error_num]=varValue1.fltVal;
varValue1=rs1.GetFieldValue("time");
time_time=varValue1.iVal;
i=time_time/720;
j=(time_time-720*i)/12;
if((i!=prev_hour)||(j!=prev_minute))
pDoc->query_error_time[pDoc->error_num++].Format("%02d:%02d",i,j);
prev_hour=i;
prev_minute=j;
}
rs1.MoveNext();
}
if(rs1.IsOpen())
rs1.Close();
if(m_OpenTable1.IsOpen())
m_OpenTable1.Close();
if(pDoc->error_num==0)
MessageBox("没有异常数据!");
else
{
CResultDlg3 dlg;
dlg.dday=dd;
dlg.mmonth=mm;
dlg.yyear=yy;
dlg.mmax=max_flux;
dlg.mmin=min_flux;
dlg.DoModal();
}
}
catch(CDaoException* e)
{
e->Delete();
}
}
catch(CDaoException* e)
{
e->Delete();
MessageBox("没有对应的数据","没有数据",MB_OK);
}
}
catch(CDaoException *e)
{
e->Delete();
MessageBox("没有对应的数据","没有数据",MB_OK);
}
}
}
}
}
}
}
void CMainFrame::OnModelModify()
{
// TODO: Add your command handler code here
CPasswordDlg3 dlg;
dlg.DoModal();
}
void CMainFrame::OnViewModify()
{
// TODO: Add your command handler code here
CShaoYeDoc* pDoc = (CShaoYeDoc* )GetActiveDocument();
CViewModifyDlg dlg;
if(dlg.DoModal()==IDOK)
{
UpdateData();
pDoc->RangeMin=dlg.m_fRangeMin;
pDoc->RangeMax=dlg.m_fRangeMax;
pDoc->TotalTime=dlg.m_nTotalTime;
pDoc->EachTime=dlg.m_nEachTime;
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -