设为首页 加入收藏

TOP

13.11.1 发送数据控制功能的实现
2013-10-07 14:38:34 来源: 作者: 【 】 浏览:48
Tags:13.11.1 发送 数据 控制 功能 实现

13.11  发送数据模块的功能实现

数据发送模块也分为两部分:一部分用于控制发送的数据;另一部分用于数据发送操作。发送数据的控制部分主要实现控制用户发送数据的格式,同接收数据格式相同,也分为字符串格式及十六进制格式。另外还实现发送情景模式的控制,及发送数据区域的清空控制。数据的发送操作分为两种:自动发送及手动发送。

13.11.1  发送数据控制功能的实现

本节将主要介绍发送数据的控制,包括格式控制、情景模式控制及数据清空控制。

(1)发送数据的格式控制。同接收数据的格式控制相同,将数据发送部分的字符串及十六进制两个单选按钮分为一组。并为这组按钮添加一个关联变量m_bSHex。在发送数据时将根据这个变量来控制发送数据的格式。

(2)发送数据的情景模式控制。情景模式的实现也非常简单,为两个情景模式定义两个变量,分别用于保存对应模式下发送框中的数据:

  1. CString m_sMod1;    //模式1的发送数据变量  
  2. CString m_sMod2;    //模式2的发送数据变量  

同接收数据的情景模式控制相同,为发送模式控制组合框添加项目切换处理函数OnSelchangeComsmod()。当模式切换时,保存当前模式下的数据,将切换后模式的数据显示到发送框中:
  1. 01  void CComElvesDlg::OnSelchangeComsmod()   
  2. 02  {  
  3. 03      UpdateData(true);  
  4. 04      SaveSMod();             //保存数据到情景模式变量中  
  5. 05      m_sMod = !m_sMod;       //模式切换  
  6. 06      if(m_sMod)  
  7. 07      {  
  8. 08          m_sData = m_sMod1;  
  9. 09      }  
  10. 10      else  
  11. 11      {  
  12. 12          m_sData = m_sMod2;  
  13. 13      }  
  14. 14      UpdateData(false);  
  15. 15  }  

SaveSMod()函数实现将发送数据框中的数据保存到相应模式的变量中的功能,实现基本同SaveRMod()一样,在此不再详述,读者可查看源代码。

(3)清空发送数据框。当前单击发送区域内的"清空数据"按钮时,发送框中的数据将被清空,对应情景模式变量也将被清空。另外由于数据已被清空,自动发送也就没有任何意义,此时如果处于自动发送状态,将停止自动发送。按钮的处理函数实现如下:

  1. 01  void CComElvesDlg::OnSclearn()   
  2. 02  {  
  3. 03      m_sData = "";  
  4. 04      SaveSMod();             //保存当前模式数据  
  5. 05      if(m_bAuto)             //是否为自动发送  
  6. 06      {  
  7. 07          m_bAuto = false;  
  8. 08          GetDlgItem(IDC_SEND)->SetWindowText("发送");  
  9. 09          KillTimer(1);       //关闭事件定时器  
  10. 10      }  
  11. 11      UpdateData(false);  
  12. 12  }  

【代码解析】

函数的实现比较简单,在第3、4行清空发送数据框及当前情景模式变量。第5行判断当前是否处于自动发送状态,如是则在第7~9行停止自动发送处理。


】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇15.2.2 使用性能计数器对象 下一篇13.10.1 接收数据显示控制模块(2..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: