【软件】通信录代码分析

一、C++_MFC_通讯录分析

1、界面分析

      (a)  输入信息对话框InputDlg类,上面三个Edit控件关联3个CString变量,在点击On_ButtonOK时,用UpdateData(TRUE),写入到变量

             关联该对话框上的列表框,CListCtrl m_list;

     (b)  主对话框ExampleDlg类,OnInitDialog()中进行初始化工作,初始化m_list的姓名、电话、Email栏目标题,如下:

           

2、交互分析

     (a)插入记录

           局部遍历InputDlg  dlg; 这样可获取其数据插入到m_list中,代码如下;

         

                          第一行,在m_list中的0行0列,加入m_name;

    (b)保存记录

            函数局部内,用一个str类,列表框GetItemText()来获取最后n-1行,到第0行,依次写入每列,每列以' '隔开,后面用fstream infile>>p[100]时,可以读一列,继续可再读一列。读到最后,p会读到NULL值,此时,可做读取结束的标志。

           

           

          (C) 读取记录

            

              在原来List数据的基础上,获得行数,然后InserItem要加入的行,SetItemText是插入该行的行和列。

    (d) 删除记录

         index = m_list.GetNextItem(0,LVNI_SELECTED)  获取选中项的索引。

         m_list.DeleteIndex(index);

    (e)修改记录

        在局部函数中,InputDlg dlg,然后把现行选中项的ItemText的值赋给dlg.m_name  dlg.m_phone等,点击OK时,返回非0,作为判断标志,if(dlg.DoModal)    设置它的修改后的项m_list.SetItemText()。

3、总结

        a.、在点击InputDlg时,会电话字符串遍历str_.Find("@",0)来验证邮箱是否合法。

        b、因为是临时加入数据,所以可以在局部函数中调用dlg.DoModal()来调用,dlg此时作为局部变量,还未销毁,在主对话框中,便可使用dlg的数据,加入到ListCtrl中

        c、用fstream写数据到文件时,先将控件每一方格中的数据,放到CString str中,str+' '标志,再写入到文件,再放到str中;

       读取时,也是设置一个缓冲区char p[100],infile>>p中,这是有' '标志,只读取到这里,再读下一个数据。

         

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值