设为首页 加入收藏

TOP

7.5.3 车次查询的实现
2013-10-07 14:53:33 来源: 作者: 【 】 浏览:60
Tags:7.5.3 车次查询 实现

7.5.3  车次查询的实现

车次的查询是在主界面的右上角Tab控件中显示的,关于Tab控件的使用,在前面的章节中已经有了很详细的介绍,在此不做过多的说明。在Tab控件上有3个标签,分别为车次查询、车站查询和公交换乘。下面介绍车次的查询。

添加一个对话框资源,将ID改为IDD_ROADWAY,在对话框上添加如图7-16所示的控件。通过类向导更改控件的ID和为控件添加相应的变量,读者可以参考光盘中的源代码。修改对话框的属性,如图7-17所示。

 
图7-16  车次查询界面设计
 
图7-17  对话框属性界面

注意:如果想要把对话框作为Tab控件的一个属性页,则需把对话框的Style改为Child。

在对话框界面上的空白区域双击,进入添加类界面。为对话框添加一个新类CRoadView。给【查询】按钮添加消息响应函数,相关代码如下:

代码位置:见光盘中本章源代码的CRoadView类。

  1. 1  void CRoadView::OnButton()  
  2. 2  {  
  3. 3   UpdateData(true);                                       //更新数据  
  4. 4   bool flag=false;                                        //定义布尔型的变量  
  5. 5   m_show.Empty();                                     //将字符串清空  
  6. 6   CStationSet m_pStationSet;                          //定义一个记录集对象  
  7. 7   m_pStationSet.Open();                                   //打开记录集  
  8. 8   m_pStationSet.MoveFirst();                              //移动到首条记录  
  9. 9   while(!m_pStationSet.IsEOF())                           //如果记录没有到末尾  
  10. 10      {  
  11. 11          if(m_pStationSet.m_ID==m_id)                        //查找匹配的数据  
  12. 12          {  
  13. 13              m_show+=m_pStationSet.m_STATION;                //将字符串累加  
  14. 14              m_show+=" -> ";  
  15. 15              flag=true;                                  //改变标记的值  
  16. 16          }  
  17. 17          m_pStationSet.MoveNext();                           //移动到下一条记录  
  18. 18      }  
  19. 19      if(!flag)                                           //如果没有找到数据  
  20. 20      {  
  21. 21          MessageBox("你输入的车次不正确!");                   //弹出提示信息  
  22. 22          m_id.Empty();                                       //清空编辑框  
  23. 23          CWnd *pwnd;                                     //定义窗口类的指针  
  24. 24          pwnd=GetDlgItem(IDC_STATION_ID);                    //获取控件的指针  
  25. 25          pwnd->SetFocus();                                   //设置控件的焦点  
  26. 26      }  
  27. 27      UpdateData(false);                                  //更新数据  
  28. 28  }  

第6~18行代码为遍历数据表从数据表中查询需要的数据。

第19~26行代码为当所要查找的数据不存在时所做的一些工作。

上述代码首先获取输入的车次名称,然后遍历记录集查询所有的车次,选择出与输入车次相同的车次,获取该车次的详细站点信息,车站间以"->"为间隔,将所有的车站信息显示在编辑框中。

】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇7.5.1 公交信息查询模块功能分析 下一篇7.5.5 公交换乘的实现(4)

评论

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