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

📄 dxmangerview.cpp

📁 645规约表计抄读设置软件 江苏省复费率表抄读设置 采用VC做得界面
💻 CPP
📖 第 1 页 / 共 5 页
字号:

 //	CString t;
//	t.Format("%d",relaynumber);
//	AfxMessageBox(relay8address);
}

void CDxMangerView::SaveIni()
{
	CString temp;
//////////////////////////////取当前应用程序路径//////////
	TCHAR  apppath[MAX_PATH];
	TCHAR  sdrive[_MAX_DRIVE];
	TCHAR sdir[_MAX_DIR];
	TCHAR sext[_MAX_EXT];
	TCHAR sname[MAX_PATH];
    ::GetModuleFileName(NULL,apppath,MAX_PATH);
    ::_tsplitpath(apppath,sdrive,sdir,sname,sext);
    CString inifilename;
    inifilename=CString(sdrive)+CString(sdir)+CString(sname)+".INI";
    //AfxMessageBox(inifilename);// to debug
///////////////////////////////////////////////////////////
/////////////////////////////////

 //CFileDialog dlg(FALSE,"INI",NULL,OFN_HIDEREADONLY | OFN_OVERWRITEPROMPT,"默认文件类型(*.ini)|*.ini|所有文件类型|*.*|",NULL);
//  if(dlg.DoModal()==IDOK)  
//  {    
//     inifilename=dlg.GetPathName();
	 
//  }
   
//////////////////////////////
  UpdateData(TRUE);
     
//	temp.Format("%06d",000000);
	CString temp1;
//	"2400,e,8,1"
	temp1.Format("%d",relaynumber);
 	temp.Format("%d",relayfalg);
 	WritePrivateProfileString("DB305","biaohao", m_targetaddress,inifilename);
	WritePrivateProfileString("DB305","com", cominfo,inifilename);
	WritePrivateProfileString("DB305","relayf", temp,inifilename);
	WritePrivateProfileString("DB305","relayn", temp1,inifilename);
	WritePrivateProfileString("DB305","relay1", relay1address,inifilename);
	WritePrivateProfileString("DB305","relay2", relay2address,inifilename);
	WritePrivateProfileString("DB305","relay3", relay3address,inifilename);
	WritePrivateProfileString("DB305","relay4", relay4address,inifilename);
	WritePrivateProfileString("DB305","relay5", relay5address,inifilename);
	WritePrivateProfileString("DB305","relay6", relay6address,inifilename);
	WritePrivateProfileString("DB305","relay7", relay7address,inifilename);
	WritePrivateProfileString("DB305","relay8", relay8address,inifilename);
}

void CDxMangerView::initcomm(int commer)
{
    CString COMSetings;
	COMSetings="2400,e,8,1";
	// AfxMessageBox(cominfo);
    if(m_comm.GetPortOpen())m_comm.SetPortOpen(FALSE);

	
    m_comm.SetCommPort(com);//设置端口
    m_comm.SetSettings(cominfo);//设置波特率等参数
	m_comm.SetRThreshold(1);// 触发接收事件 
    m_comm.SetSThreshold(0);//不触发发送事件
    m_comm.SetInputLen(1);//每次读取一个字符
	m_comm.SetInputMode(1);//设置输入为二进制方式
	if(!m_comm.GetPortOpen())m_comm.SetPortOpen(TRUE);//打开
      SaveIni();
}

void CDxMangerView::OnTimer(UINT nIDEvent) 
{
	// TODO: Add your message handler code here and/or call default
	
	CFormView::OnTimer(nIDEvent);
	if(nIDEvent==2) //即添加定时时间到的处理操作
 {
    //  AfxMessageBox("timer2!");
	
		UpdateData(TRUE);
		if(m_chk_cur)
		{
			CDateTimeCtrl *htimectr;
    htimectr=(CDateTimeCtrl *)this->GetDlgItem(IDC_DATETIMEPICKER1);
	htimectr->SetTime(COleDateTime::GetCurrentTime());
	
	htimectr=(CDateTimeCtrl *)this->GetDlgItem(IDC_DATETIMEPICKER3);
	htimectr->SetTime(COleDateTime::GetCurrentTime());
		}
    //处理操作
  }
	if(nIDEvent==3)
	{
		SaveIni();
	}
}

void CDxMangerView::OnSetrelay() 
{
	// TODO: Add your command handler code here
		relay dlg;
	dlg.m_needrelay=relayfalg; 
	dlg.m_relaynumber=relaynumber;
	{
     dlg.m_relay1=relay1address;
			   dlg.m_relay2=relay2address;
			    dlg.m_relay3=relay3address;
				 dlg.m_relay4=relay4address;
				  dlg.m_relay5=relay5address;
				   dlg.m_relay6=relay6address;
				    dlg.m_relay7=relay7address;
					 dlg.m_relay8=relay8address;
	}
    dlg.DoModal();
	if(dlg.m_needrelay)
	{
		      dlg.m_needrelay=TRUE;
		      relayfalg=1;
			  relaynumber=dlg.m_relaynumber;
              relay1address=dlg.m_relay1;
			   relay2address=dlg.m_relay2;
			    relay3address=dlg.m_relay3;
				 relay4address=dlg.m_relay4;
				  relay5address=dlg.m_relay5;
				   relay6address=dlg.m_relay6;
				    relay7address=dlg.m_relay7;
					 relay8address=dlg.m_relay8;
			

	}
	else
	{
      relayfalg=0;
	  relaynumber=1;
	}
	//AfxMessageBox(relay8address);
}

void CDxMangerView::OnSelectall() 
{
	// TODO: Add your control notification handler code here
		m_chk_energy = TRUE;
	m_chk_sevenday = TRUE;
	m_chk_address = TRUE;
	m_chk_const = TRUE;
	m_chk_date = TRUE;
	m_chk_protol = TRUE;
	m_chk_relay = TRUE;
	m_chk_time = TRUE;
	for(unsigned char i=0;i<4;i++)
    	m_listmonth.SetCheck(i,TRUE);
	UpdateData(FALSE);
}

void CDxMangerView::OnCancelall() 
{
	// TODO: Add your control notification handler code here
	m_chk_energy = FALSE;
	m_chk_sevenday = FALSE;
	m_chk_address = FALSE;
	m_chk_const = FALSE;
	m_chk_date = FALSE;
	m_chk_protol = FALSE;
	m_chk_relay = FALSE;
	m_chk_time = FALSE;
	m_chk_eight=FALSE;
	m_chk_twofour=FALSE;
	m_chk_block1=FALSE;
	m_chk_block2=FALSE;
		for(unsigned char i=0;i<4;i++)
    	m_listmonth.SetCheck(i,FALSE);
		for(i=0;i<16;i++)
			m_listhour.SetCheck(i,FALSE);
	UpdateData(FALSE);
}

void CDxMangerView::OnClean() 
{
	// TODO: Add your control notification handler code here
	m_edit_address.Empty();
	m_edit_const.Empty();
	m_edit_date.Empty();
	m_edit_relay.Empty();
	m_edit_protol.Empty();
	m_edit_time.Empty();
	 m_status_count=0;
	m_prograss_status.SetPos(0);
	m_lst_readstatus.DeleteAllItems();
		int i,low=0;
	for(low=0;low<4;low++)
	{			
		for(i=1;i<=4;i++)
			m_listmonth.SetItemText(low, i,"");
	}
	///////////////////////////////
	for(low=0;low<8;low++)
	{	
		
		for(i=1;i<=2;i++)
			m_listday.SetItemText(low, i,"");
	}
	for(low=0;low<16;low++)
	{	
		
		for(i=1;i<=10;i++)
			m_listhour.SetItemText(low, i,"");
	}
	UpdateData(FALSE);
}

void CDxMangerView::OnChkTwofour() 
{
	// TODO: Add your control notification handler code here
	 UpdateData(TRUE);
   if(m_chk_twofour)
   {	for(unsigned char i=0;i<8;i++)
   m_listhour.SetCheck(i,TRUE);}
   else
   {
	   for(unsigned char i=0;i<8;i++)
   m_listhour.SetCheck(i,FALSE);
   }
   UpdateData(FALSE);
}

void CDxMangerView::OnChkFoureighy() 
{
	// TODO: Add your control notification handler code here
		 UpdateData(TRUE);
   if(m_chk_eight)
   {	for(unsigned char i=8;i<16;i++)
   m_listhour.SetCheck(i,TRUE);}
   else
   {
	   for(unsigned char i=8;i<16;i++)
   m_listhour.SetCheck(i,FALSE);
   }
   UpdateData(FALSE);
}

void CDxMangerView::OnCollect() 
{
	// TODO: Add your control notification handler code here
	UpdateData(TRUE);
	CEdit *hedit;
	 
     m_prograss_status.SetRange(0,200);
	 unsigned char i=0,j=0;
	  m_ongoing="采集...";
	   
	//{
		 if(m_chk_address) 
		 {
		     SendData(m_targetaddress, 1, "32c0");
		  
		  
		   
		     if(Receive645Data())
				 AddReadStatusItem("read address","finsihed"); 
			else
			{
				SendData(m_targetaddress, 1, "32c0");
                  if(Receive645Data())
				 AddReadStatusItem("read address","finsihed"); 
				  else
				  {
		        AddReadStatusItem("read address","failed");
				m_edit_address.Empty();
				  }
			} 
			 UpdateData(FALSE);
	         hedit=(CEdit *)this->GetDlgItem(IDC_EDIT_ADDRESS);
	         hedit->RedrawWindow();
			 m_prograss_status.SetPos(1);
		   Sleep(100);
		   j++;
		 }
	 	 else
		 {
           m_edit_address.Empty();
		   UpdateData(FALSE);
	        hedit=(CEdit *)this->GetDlgItem(IDC_EDIT_ADDRESS);
	         hedit->RedrawWindow();
		 }
		  if(m_chk_date) 
		 {
		   SendData(m_targetaddress, 1, "10c0");
		    if(Receive645Data())
				 AddReadStatusItem("read date","finsihed"); 
			else
			{
				 SendData(m_targetaddress, 1, "10c0");
                if(Receive645Data())
				 AddReadStatusItem("read date","finsihed");
				else
				{
		         AddReadStatusItem("read date","failed");
				 m_edit_date.Empty();
				}
			}
             UpdateData(FALSE);
	         hedit=(CEdit *)this->GetDlgItem(IDC_EDIT_DATE);
	         hedit->RedrawWindow();
		   m_prograss_status.SetPos(2);
		   Sleep(100);
		   j++;
		 }
		  else
		 {
           m_edit_date.Empty();
		   UpdateData(FALSE);
	        hedit=(CEdit *)this->GetDlgItem(IDC_EDIT_DATE);
	         hedit->RedrawWindow();
		 }
         if(m_chk_time) 
		 {
		   SendData(m_targetaddress, 1, "11c0");
		   if(Receive645Data())
				 AddReadStatusItem("read time","finsihed"); 
			else
			{
				SendData(m_targetaddress, 1, "11c0");
		   if(Receive645Data())
				 AddReadStatusItem("read time","finsihed");
		   else
		   {
		    AddReadStatusItem("read time","failed");
			m_edit_time.Empty();
		   }
			}
			UpdateData(FALSE);
	         hedit=(CEdit *)this->GetDlgItem(IDC_EDIT_TIME);
	         hedit->RedrawWindow();
		   m_prograss_status.SetPos(3);
		   Sleep(100);
		   j++;
		 }
		 else
		 {
           m_edit_time.Empty();
		   UpdateData(FALSE);
	        hedit=(CEdit *)this->GetDlgItem(IDC_EDIT_TIME);
	         hedit->RedrawWindow();
		 }
		  if(m_chk_const) 
		 {
		   SendData(m_targetaddress, 1, "30c0");
		   if(Receive645Data())
				 AddReadStatusItem("read const","finsihed"); 
			else
			{
				SendData(m_targetaddress, 1, "30c0");
		   if(Receive645Data())
				 AddReadStatusItem("read const","finsihed"); 
		   else
		   {
		    AddReadStatusItem("read const","failed");
			m_edit_const.Empty();
		   }
			}
			UpdateData(FALSE);
	         hedit=(CEdit *)this->GetDlgItem(IDC_EDIT_CONST);
	         hedit->RedrawWindow();
		   m_prograss_status.SetPos(4);
		   Sleep(100);
		   j++;
		 }
		  else
		 {
           m_edit_const.Empty();
		   UpdateData(FALSE);
	        hedit=(CEdit *)this->GetDlgItem(IDC_EDIT_CONST);
	         hedit->RedrawWindow();
		 }
		   if(m_chk_relay) 
		 {
		   SendData(m_targetaddress, 1, "29c0");
		   if(Receive645Data())
				 AddReadStatusItem("read relay","finsihed"); 
			else
			{
				SendData(m_targetaddress, 1, "29c0");
		   if(Receive645Data())
				 AddReadStatusItem("read relay","finsihed");
		   else
		   {
		    AddReadStatusItem("read relay","failed");
			m_edit_relay.Empty();
		   }
			}
			UpdateData(FALSE);
	         hedit=(CEdit *)this->GetDlgItem(IDC_EDIT_RELAY);
	         hedit->RedrawWindow();
		   m_prograss_status.SetPos(5);
		   Sleep(100);
		   j++;
		 }
		   else
		 {
           m_edit_relay.Empty();
		   UpdateData(FALSE);
	        hedit=(CEdit *)this->GetDlgItem(IDC_EDIT_RELAY);
	         hedit->RedrawWindow();
		 }
		     if(m_chk_protol) 
		 {
		   SendData(m_targetaddress, 1, "a28e");
		   if(Receive645Data())
				 AddReadStatusItem("read protol","finsihed"); 
			else
			{
				SendData(m_targetaddress, 1, "a28e");
		   if(Receive645Data())
				 AddReadStatusItem("read protol","finsihed");
		   else
		   {
		    AddReadStatusItem("read protol","failed");
			m_edit_protol.Empty();
		   }
			}
			UpdateData(FALSE);
	         hedit=(CEdit *)this->GetDlgItem(IDC_EDIT_PROTOL);
	         hedit->RedrawWindow();
		   m_prograss_status.SetPos(6);
		   Sleep(100);
		   j++;
		 }
			 else
		 {
           m_edit_protol.Empty();
		   UpdateData(FALSE);
	        hedit=(CEdit *)this->GetDlgItem(IDC_EDIT_PROTOL);
	         hedit->RedrawWindow();
		 }
			 if(m_listmonth.GetCheck(0))
               {
		   SendData(m_targetaddress, 1, "1090");
		    if(Receive645Data())
				 AddReadStatusItem("read current energy","finsihed"); 
			else
			{
				SendData(m_targetaddress, 1, "1090");
              if(Receive645Data())
				 AddReadStatusItem("read current energy","finsihed");
			  else
		    AddReadStatusItem("read current energy","failed");
			}
		   m_prograss_status.SetPos(7);
		   Sleep(100);
		   j++;
		 }
			
			 if(m_listmonth.GetCheck(1))
               {
		   SendData(m_targetaddress, 1, "1094");
		   if(Receive645Data())
				 AddReadStatusItem("read last 1 energy","finsihed"); 
			else
			{
				SendData(m_targetaddress, 1, "1094");
		   if(Receive645Data())
				 AddReadStatusItem("read last 1 energy","finsihed");
		   else
		    AddReadStatusItem("read last 1 energy","failed");
			}
		   m_prograss_status.SetPos(8);
		   Sleep(100);

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -