当前位置:文档之家› 通讯录的建立

通讯录的建立

《VC++课程设计》题目通讯录的建立学院专业及班级姓名学号指导教师叶鸥日期 2015年7月设计题目:通讯录的建立一.需求分析通讯录使我们每个人必不可少的一个工具,利用通讯录我们可以对同学、朋友、同事等信息进行有效的管理,包括查询、添加、删除和修改等。

此通讯录系统利用本着人性化的设计,此系统包括了联系人的姓名、电话、地址、E-mail、和备注等信息,利用此系统可以对联系人进行显示、增加、修改、删除等操作,基本上可以满足我们对通讯录的需要。

基于MFC简易通讯录管理系统具有以下特点:1:操作简单,所有人不需学习就可以使用的系统;2:输入简单,输入框都有相关提示,我们可以按照提示输入相关信息;3:界面显示信息完整,界面上每一个编辑框显示一条联系人信息,很清楚地显示了联系人的全部信息。

数据库的操作与运行相比文件较复杂,一般对安全性较高的大型信息管理系统采用数据库方式,这里我们采用文件存取方式即可。

◆建立通讯录信息:包括姓名,性别,年龄,关系,电话,手机,电子邮箱,邮政编码,地址,公司等信息;◆能够提供添加、删除和修改通讯录信息的功能;◆将通讯录保存在文件中;◆能够按表格方式输出通讯录信息;二.概要设计1.初始化通讯录:void CPhonebookDlg::Initlistctrl()2.添加通讯录记录:void CPhonebookDlg::OnButtonTianjia()3.修改通讯录记录:void CPhonebookDlg::OnButtonXiugai()4. 删除通讯录记录:void CPhonebookDlg::OnButtonDelete()三.详细设计1.初始化代码void CPhonebookDlg::Initlistctrl(){m_listctrl.SetBkColor(RGB(233,234,254));m_listctrl.SetTextBkColor(RGB(233,234,254));m_listctrl.SetExtendedStyle(LVS_EX_FULLROWSELECT | LVS_EX_GRIDLINES|LVS_EX_INFOTIP);//|LVS_EX_CHECKBOXES m_listctrl.InsertColumn (0,_T("姓名"),LVCFMT_LEFT,40);m_listctrl.InsertColumn (1,_T("性别"),LVCFMT_LEFT,40);m_listctrl.InsertColumn (2,_T("年龄"),LVCFMT_LEFT,40);m_listctrl.InsertColumn (3,_T("关系"),LVCFMT_LEFT,40);m_listctrl.InsertColumn (4,_T("电话"),LVCFMT_LEFT,100);m_listctrl.InsertColumn (5,_T("手机"),LVCFMT_LEFT,100);m_listctrl.InsertColumn (6,_T("电子油箱"),LVCFMT_LEFT,120);m_listctrl.InsertColumn (7,_T("邮政编码"),LVCFMT_LEFT,80);m_listctrl.InsertColumn (8,_T("地址"),LVCFMT_LEFT,200);m_listctrl.InsertColumn (9,_T("公司"),LVCFMT_LEFT,140);}2.收缩功能void CPhonebookDlg::OnButtonShousuo(){if (m_bool) {rectSmall.left=rectLarge.left;rectSmall.top=rectLarge.top;rectSmall.right=rectLarge.right;rectSmall.bottom=rectSeparator.bottom;SetWindowPos(NULL,0,0,rectSmall.Width(),rectSmall.Height(),SWP_NOMOV E|SWP_NOZORDER);m_bool=false;}// TODO: Add your control notification handler code here}void CPhonebookDlg::OnButtonKuozhan(){if (!m_bool) {SetWindowPos(NULL,0,0,rectLarge.Width(),rectLarge.Height(),SWP_NOMOV E|SWP_NOZORDER);m_bool=true;}}4.添加信息void CPhonebookDlg::OnButtonTianjia(){CPhonebookDlg1 dlg;dlg.DoModal();CDataBase DataBase;DataBase.ConnectDatabase(DataBase.GetDataBasePath());CString strSQL;strSQL.Format("SELECT FROM phonebook WHERE name='%s'",dlg.m_edit1_name);if(DataBase.ExecSQL(strSQL))MessageBox("这个用户在电话薄上已经存在!","Phone",MB_OK);else{strSQL.Format("INSERT INTO phonebook (name,sex,age,relationship,phone,mobile,mail,youzheng,address,company)values ('%s','%s','%s','%s','%s','%s','%s','%s','%s','%s')",dlg.m_edit1_name,dlg.m_edit1_sex,d lg.m_edit1_nianling,dlg.m_edit1_guanxi,dlg.m_edit1_dianhua,dlg.m_edit1_phone,dlg .m_edit1_mail,dlg.m_edit1_youzheng,dlg.m_edit1_dizhi,dlg.m_edit1_gongsi);DataBase.ExecSQL(strSQL);DataBase.DisConnect();m_listctrl.DeleteAllItems();GetAllInformation();// m_counter=0;//m_listctrl.SetItemState(m_counter,LVIS_DROPHILITED,LVIS_DROPHILITED );}}void CPhonebookDlg1::OnButton1Chongzhi(){m_edit1_name="";m_edit1_sex="";m_edit1_nianling="";m_edit1_guanxi="";m_edit1_dianhua="";m_edit1_phone="";m_edit1_mail="";m_edit1_youzheng="";m_edit1_dizhi="";m_edit1_gongsi="";UpdateData(false);// TODO: Add your control notification handler code here}6.向前浏览void CPhonebookDlg::OnButtonShangyitiao(){if (m_counter==0)MessageBox("对不起,现在是第一条记录!","phonebook",MB_OK);else{m_counter--;GetControlInformation();//m_listctrl.SetItemState(m_counter,LVIS_DROPHILITED,LVIS_DROPHILITED );//m_listctrl.SetItemState(m_counter,LVIS_SELECTED|LVIS_FOCUSED,LVIS_S ELECTED|LVIS_FOCUSED);// m_listctrl.SetItemState(m_counter,0,LVIS_SELECTED|LVIS_FOCUSED);}// TODO: Add your control notification handler code here}7.向后浏览void CPhonebookDlg::OnButtonXiayitiao(){int m_lastcounter=m_listctrl.GetItemCount();m_lastcounter--;if (m_counter==m_lastcounter)MessageBox("对不起,现在是最后一条记录!","phonebook",MB_OK);else{m_counter++;GetControlInformation();//m_listctrl.SetItemState(m_counter,LVIS_DROPHILITED,LVIS_DROPHILITED );}// TODO: Add your control notification handler code here}8.修改信息void CPhonebookDlg::OnButtonXiugai(){UpdateData(true);CDataBase DataBase;DataBase.ConnectDatabase(DataBase.GetDataBasePath());CString strSQL;strSQL.Format("update phonebook set name='%s',sex='%s',age='%s',relationship='%s',phone='%s',mobile='%s',mail='%s',yo uzheng='%s',address='%s',company='%s' where name='%s'",m_edit_name,m_edit_sex,m_edit_nianling,m_edit_guanxi,m_edit_dianhu a,m_edit_shouji,m_edit_mail,m_edit_youzheng,m_edit_dizhi,m_edit_gongsi,m_edit_ name);DataBase.ExecSQL(strSQL);m_listctrl.DeleteAllItems();GetAllInformation();// m_counter=0;//m_listctrl.SetItemState(m_counter,LVIS_DROPHILITED,LVIS_DROPHILITED );// TODO: Add your control notification handler code here}9.删除信息void CPhonebookDlg::OnButtonDelete(){UpdateData(true);if(MessageBox("你是否确定删除该记录!","phonebook",MB_OKCANCEL)==IDOK){CDataBase DataBase;DataBase.ConnectDatabase(DataBase.GetDataBasePath());CString strSQL;strSQL.Format("delete from phonebook where name='%s'",m_edit_name);DataBase.ExecSQL(strSQL);if (m_listctrl.GetItemCount()==1){m_edit_name="";m_edit_sex="";m_edit_nianling="";m_edit_guanxi="";m_edit_dianhua="";m_edit_shouji="";m_edit_mail="";m_edit_youzheng="";m_edit_dizhi="";m_edit_gongsi="";UpdateData(false);}m_listctrl.DeleteAllItems();GetAllInformation();}// TODO: Add your control notification handler code here}四.程序设计实现界面显示如下:(1)初始化信息(2)添加信息(3)向前浏览后向后浏览(4)修改信息(5)删除信息五.课程设计总结在通讯录设计的过程中,由于对MFC的编程环境和步骤不太了解,所以一开始做的时候无从下手,不知道该怎么办,通过查阅一些资料才得以了解。

相关主题