⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mainfrm.cpp

📁 开发的锌流量计算程序
💻 CPP
📖 第 1 页 / 共 2 页
字号:
			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 + -