欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > DOC文档下载  

    电子通讯录管理系统毕业论文.doc

    • 资源ID:3989271       资源大小:2.38MB        全文页数:24页
    • 资源格式: DOC        下载积分:8金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要8金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    电子通讯录管理系统毕业论文.doc

    一、前言随着计算机的飞速发展,人们的生活、工作、学习越来越依赖于计算机,同学、朋友之间的联系也常常是通过计算机来操作,因而建立一个电子通讯录管理系统也就相应而生。在从多的软件开发平台中,以Microsoft 的Visual Basic的开发平台较为简单,Visual Basic平台中有丰富的控件,可以很快地完成各种软件的开发界面,由于Visual Basic与Microsoft Access数据无缝链接,使开发一个数据库的软件更加简单,Visual Basic中的Data控件可以直接和Microsoft Access的数据库绑定;DBgrid控件可以直观地显示出数据库中的信息,且Visual Basic中还可以直接引用SQL结构化查询语句,对数据的查询往往只要一条语句便可完成,因此对于数据库编程,Visual Basic是较好的选择。Visual Basic软件开发平台也有它的缺点,它生成的软件所需要的附带文件太多,一般一个数据库管理软件要真正用起来,至少要4MB,而且还必须生成一个安装包才能其它机器运行,因此光会做一个软件,而不会“打包”,该软件也只能在有Visual Basic的环境下才能运行,所以它的可移植性相对较差些。电子通讯录主要是记载同学、朋友、同事、客户等之间的联系方式,它应该有输入、修改、查询、打印等功能,首先用Microsoft Access建立一个数据库,然后再用Visual Basic的Data控件将数据库捆绑,再通过调用Data控件的方法和相应属性的设置便可完成上面的一些功能。二、设计框架及思路1设计框架2设计思路21数据库建立用Microsoft Access建立一个名为“通讯录”的数据库,在库中有两张表,一张为“Address”,其字段有姓名、通讯地址、联系电话、电子信箱、OICQ五个;另一张表为“密码”,其字段有用户、密码;整个数据库加密。22 软件工程建立整个工程包括主窗口、输入及修改窗口、查询窗口、打印窗口、密码修改窗口、登录窗口五大块。各个窗口中主要使用数据控件Data及DBgrid控件,其它为常用控件。23 软件打包在整个工程完成之后,生成EXE文件,然后利用VB自带的安装向导,生成一个安装盘。三、工程实施1.界面设计1.1登录界面 该界面中共有7个控件,一个窗口,下表为窗口和控件的相应属性设置。 序号类别属性名属性值1form名称frmRegisterCaption电子通讯录管理系统登录窗口StartUpPosition2 CenterScreen2label名称label1Caption请选择用户名:Alignment1 Right JustifyForeColor&H00FF0000&(蓝色)3label名称label2Caption请输入密码:Alignment1 Right JustifyForeColor&H00FF0000&(蓝色)4command名称cmdConfirmCaption(&C)确定5command名称cmdExitCaption(&X)退出6text名称txtUserText7text名称txtPasswordPasswrodChar*8data名称PasswordDataconnect;pwd=19981105DataBaseNameC:Program Files电子通讯录通讯录.mdb1.2主窗口界面 该界面中使用了菜单编辑器,一个父窗口,下表为窗口和菜单的相应属性设置。序号类别属性名属性值1MDIform名称frmMainCaption电子通讯录管理系统V1.0 设计人:王勇平 联系电话:0511-4415821BackColor&H00808000&WindowState2 Maximized2菜单名称InputMenu标题(&I)数据输入名称AskMenu标题(&A)数据查询名称PrintMenu标题(&P)数据打印名称PasswordSetMenu标题(&W)密码设置名称ExitMenu标题(&X)退出系统1.3 输入窗口界面 该界面中共有16个控件,一个窗口,下表为窗口和控件的相应属性设置。 序号类别属性名属性值1Form名称frmInputCaption电子通讯录输入窗口ControlBoxFalseStartUpPosition2 CenterScreen2label名称InputLabel(0)Caption姓名:Alignment1 Right JustifyForeColor&H00FF0000&(蓝色)3label名称InputLabel(1)Caption通讯地址:Alignment1 Right JustifyForeColor&H00FF0000&(蓝色)4label名称InputLabel(2)Caption联系电话:Alignment1 Right JustifyForeColor&H00FF0000&(蓝色)5label名称InputLabel(3)Caption电子信箱:Alignment1 Right JustifyForeColor&H00FF0000&(蓝色)6Label名称InputLabel(4)CaptionOICQ:Alignment1 Right JustifyForeColor&H00FF0000&(蓝色)7text名称TxtField(0)ForeColor&H00FF0000&(蓝色)Text8text名称TxtField(1)ForeColor&H00FF0000&(蓝色)Text9text名称TxtField(2)ForeColor&H00FF0000&(蓝色)Text10text名称TxtField(3)ForeColor&H00FF0000&(蓝色)Text11text名称TxtField(4)ForeColor&H00FF0000&(蓝色)Text12data名称InputDataconnect;pwd=19981105DataBaseNameC:Program Files电子通讯录通讯录.mdbRecordSourceAddress13DBgrid名称InputGridDataSourceInputdataHeadLines1.5RowHeight300ForeColor&H00FF0000&(蓝色)14Command名称CmdSaveCaption(&I)存库Style1- GraphicalPicture选取ToolTipText将数据存入库中15Command名称CmdDeleteCaption(&D)删除Style1- GraphicalPicture选取ToolTipText删除当前数据16Command名称CmdExitCaption(&X)退出Style1- GraphicalPicture选取ToolTipText退出1.4查询窗口界面 该界面中共有11个控件,一个窗口,下表为窗口和控件的相应属性设置。 序号类别属性名属性值1Form名称FrmAskCaption电子通讯录查询窗口ControlBoxFalseStartUpPosition2 CenterScreen2label名称LblConditionCaption条件:Alignment1 Right JustifyForeColor&H00FF0000&(蓝色)3text名称TxtConditionForeColor&H00FF0000&(蓝色)Text4Check名称FieldCheck(0)Caption姓名5Check名称FieldCheck(1)Caption通讯地址6Check名称FieldCheck(2)Caption联系电话7Check名称FieldCheck(3)Caption电子信箱8data名称AskDataconnect;pwd=19981105DataBaseNameC:Program Files电子通讯录通讯录.mdbReadOnlyTrueRecordSourceAddress9DBgrid名称AskGridAllowUpdateFalseDataSourceAskdataHeadLines1.5RowHeight300ForeColor&H00FF0000&(蓝色)10Command名称CmdFindCaption(&F)查找Style1- GraphicalPicture选取ToolTipText按所设条件查找11Command名称CmdPrintCaption(&P)打印Style1- GraphicalPicture选取ToolTipText打印12Command名称cmdExitCaption(&X)退出Style1- GraphicalPicture选取ToolTipText退出1.5 打印窗口界面 该界面中共有16个控件,一个窗口,下表为窗口和控件的相应属性设置。 序号类别属性名属性值1Form名称FrmPrintCaption电子通讯录打印窗口ControlBoxFalseWindowState2 MaxiziedMDIchildTrue2Label名称Label1Caption字体大小:Alignment1 Right JustifyForeColor&H00FF0000&(蓝色)3Label名称Label2Caption行间距:Alignment1 Right JustifyForeColor&H00FF0000&(蓝色)4Label名称Label3Caption页码:Alignment1 Right JustifyForeColor&H00FF0000&(蓝色)5data名称PrintDataconnect;pwd=19981105DataBaseNameC:Program Files电子通讯录通讯录.mdbRecordSourceselect * from address order by 姓名6DBgrid名称AdjustGridDataSourcePrintdata7Command名称CmdPrintCaption(&P)打印Style1- GraphicalPicture选取ToolTipText打印8Command名称CmdUpCaption(&U)上页Style1- GraphicalPicture选取ToolTipText上一页9Command名称CmdDownCaption(&D)下页Style1- GraphicalPicture选取ToolTipText下一页10Command名称CmdExitCaption(&X)退出Style1- GraphicalPicture选取ToolTipText退出11Combo名称FontSizeComboForeColor&H00FF0000&(蓝色)Text10.512Combo名称LineHeightComboForeColor&H00FF0000&(蓝色)Text3mm13Combo名称PageComboForeColor&H00FF0000&(蓝色)Text114Picture名称Picture1BackColor&H00808080&(深灰)AutoRedrawTrue15Picture名称ShowWinBackColor&H00FFFFFF& (白色)AutoRedrawTrue16Vscroll名称Vscroll1Max10000Min-1000Value-450LargeChange100SmallChange1001.6密码修改界面 该界面中共有7个控件,一个窗口,下表为窗口和控件的相应属性设置。 序号类别属性名属性值1form名称frmPasswordCaption密码StartUpPosition2 CenterScreen2label名称label1Caption新密码:Alignment1 Right JustifyForeColor&H00FF0000&(蓝色)3label名称label2Caption验证:Alignment1 Right JustifyForeColor&H00FF0000&(蓝色)4command名称cmdConfirmCaption(&C)确定5command名称cmdExitCaption(&X)退出6text名称TxtPasswordPasswrodChar*7text名称txtCheckPasswrodChar*8data名称PasswordDataconnect;pwd=19981105DataBaseNameC:Program Files电子通讯录通讯录.mdb2.程序代码编写2.1登录窗口代码 本窗口的代码相对较小,只要是判断输入的密码是否与数据库中的密码一致,若一致则打开主窗口,否则显示出错信息。该代码只要在cmdConfirm_Click的鼠标单击事件中完成。主要代码如下:Private Sub cmdConfirm_Click()PasswordData.RecordSource = "select * from 密码 where 用户='" & txtUser.Text & "' and (密码='" & txtPassword.Text & "' or 密码=Null)" PasswordData.Refresh If PasswordData.Recordset.RecordCount < 1 Then a = MsgBox("密码不正确!请重输!", vbExclamation + vbOKOnly, "电子通讯录") Exit Sub ElseIf PasswordData.Recordset.RecordCount = 1 Then Unload Me frmMain.ShowEnd Sub为了使输入者方便,还增加了光标定位程序,该功能主要在KeyDown事件中完成。光标定位主要是判断是否按下“光标移动键”或“回车键”,在Visual Basic中,是通过键的ASCII值来判断的,某键的ASCII值可用vbKey+键名来代替,如:上箭头可用vbKeyUp来代替,通过if语句判断便可完成,详细见源程序。2.2主窗口代码 在主窗口中,主要是根据菜单,调用相应的窗口,用“窗口名.show”语句来完成,例如点击“数据输入”菜单子项的代码如下:Private Sub InputMenu_Click()frmInput.ShowEnd Sub 在主窗口中,主要是根据菜单,调用相应的窗口,用“窗口名.show”语句来完成,例如点击“数据输入”菜单子项的代码如下:2.3输入窗口代码 输入窗口是系统中比较重要的窗口,要让使用者方便地输入数据,光标的移动就必须灵活、方便;而且是否入到数据库中要直观,修改也要比较方便。为了使光标定位程序编写较为简单,使用了控件数组即TxtField文本框控件数组,在程序中通过Index的值来判断当前焦点在哪个文本框中,然后再根据KeyCode的值来决定将光标定位到哪个文本框中,光标定位用文本框的方法setfocus来完成,如:txtField(index).setfocus。在数据输入完后,按下回车键,光标自动定到“存库”按钮上,此时再按下回车键便可将数据存入库中。保存数据时,是向数据库添加一条记录,这里使用了数据库捆绑控件Data,先将Data控件与数据库中的“Address”表绑定,使用Data控件中的“RecordSet”来操作数据库,Data控件中,可用RecordSet.AddNew来添加一条新记录,将文本框的文本赋给相应的字段即:Recordset.Fields(i).Value = txtField(i).Text,可用一个循环语名来完成,最后,调用RecordSet.Update语句来修改数据库。此外,使用了Visual Basic的Dbgrid控件,通过该控件可以直接操作数据库里的数据,若发现数据库中某条记录有错,可直接在Dbgrid控件中修改,数据库里的数据也相应的修改,还可以点中Dbgrid网格中某一行,再调用Data控件的Recordset.Delete可删除该条记录,当然这些操作都在于Dbgrid与Data控件必须绑定。具体代码可见源程序。2.4查询窗口代码 Visual Basic的Data控件中的RecordSource可直接使用SQL查询语句,因此,对于查询可直接用SQL语句来完成。当条件输入框txtCondition中输入查询的条件,并选中要查询的字段(通过FieldCheck的选择)时,按下“查找”按钮,便将查询的SQL语句赋给Data控件的RecordSource,再将Data控件与Dbgrid控件绑定,查询的结果便直接显示到网格上了。在这里关键要生成SQL语句,下面是生成SQL语句的代码:Private Sub cmdFind_Click()Dim SQLstring As StringIf txtCondition.Text = "" Then Exit SubSQLstring = "select * from address where"If FieldCheck(0).Value = 1 Then SQLstring = SQLstring & " 姓名 like'*" & _ txtCondition.Text & "*' or "If FieldCheck(1).Value = 1 Then SQLstring = SQLstring & " 通讯地址 like'*" & _ txtCondition.Text & "*' or "If FieldCheck(2).Value = 1 Then SQLstring = SQLstring & " 联系电话 like'*" & _ txtCondition.Text & "*' or "If FieldCheck(3).Value = 1 Then SQLstring = SQLstring & " 电子信箱 like'*" & _ txtCondition.Text & "*' or "SQLstring = Left(SQLstring, Len(SQLstring) - 5)AskData.RecordSource = SQLstringAskData.RefreshEnd Sub 上面代码中,通过对FieldCheck的Value是否等于1来判断是否是选中状态,若选中,则在SQL语句中增加该字段的查询条件,在SQL中使用like和通配符可进行模糊查找。 若想将查询出的结果打印出来,可以直接编写一段代码就行,在编写过程中,将打印机当成Printer对象使用,在其后面使用print语句便可完成打印输出任务。2.5打印窗口代码 打印窗口是整个系统中设计最为复杂的,要通过自己编写代码来完成打印任务。在该窗口中,设计两个PictureBox控件,一个作为背景,一个作为纸张;再设计一个滚动条,通过滚动条来完成纸张的移动;再设计一个Dbgrid控件,通过Dbgrid的标题行列宽的调整来控制输出的列宽。 在程序编制过程中,每次行间距、字体大小的改变都将影响整张纸的布局,因此每次都应计算行间距、字体大小的改变所引起各种参数的变化。打印参数主要有边距、行距、行数等,首先计算一页中的行数,可由下面代码完成:LineHeight = Val(LineHeightCombo.Text) * 56.7 / 2Lines = (ShowWin.Height - 2000) / (LineHeight / 2 + ShowWin.TextHeight("陆")其次,计算总的页数,只要将总记录数除以每页的行数便可得到:If PrintData.Recordset.RecordCount Mod Lines = 0 Then TotalPage = PrintData.Recordset.RecordCount / LinesElse TotalPage = PrintData.Recordset.RecordCount Lines + 1End If 当各参数确定后,就要调用打印模块,在打印模块中,首先要确定要列的位置,这里我利用Dbgrid的列宽来决定列的位置,通过一个循环,将Dbgrid的列宽赋给对应的CurrentX的值:For j = 1 To .Fields.Count tempX = tempX + AdjustGrid.Columns(j - 1).Width ps.CurrentX = tempX ps.Print .Fields(j - 1).Name; Next 具体实施时,先在Picture控件上显示打印结果(预览),然后再输出。代码可参见附录的源程序。2.6密码修改窗口代码密码修改首先应有一个确认身份的过程,因此调用登录窗口,先验证是否有权修改,若身份符合,打开修改窗口,修改成功显示一个提示框。在这个窗口中,只要使用了Data控件中的RecordSet.Edit的方法。四、工程发布 界面和程序代码调试完后,将工程生成一个执行文件,该执行文件要在Visual Basic环境中才能运行,为了能让工程在其它机器上能运行,就必须进行发布,也就是说要做一个安装盘,此时可通过Visual Basic所带的“应用程序安装向导”来进行软件发布,按照提示一步步操作便可完成。五、系统试运行 将上面制作好的安装盘刻录到光盘中,或复制到三张磁盘里,然后到没有安装Visual Basic环境的机器上,点击盘中的“Setup”应用程序,按提示安装,安装后在“程序”菜单中打开“电子通讯录管理系统”。再请一个不了解此程序的人自由地输入、查询、打印,看看系统是否正常运行,若有错则应重新调试。若上面步骤能顺利完成表明整个工程已经完成。六、帮助文件及使用手册完成作为一个完整的软件系统来说,帮助文件和使用手册是不能少的,帮助文件可以帮助初学者方便使用系统。Visual Basic应用程序的帮助文件可用Word制作,先将帮助文件的文字和图片在Word中编辑完成,然后保存为.RTF格式,再利用Visual Basic光盘中的HCW帮助文件制作系统,将其生成Windows通过帮助文件格式,再与系统对接便可。由于该系统较为简单,因此略去了帮助文件的制作。七、致谢本系统制作过程中,得到祁云嵩老师的大力帮助,在此表示衷心的感谢。八、参考文献1 Visual Basic 程序设计快速入门 刘炳文著 人民邮电出版社2 Visual Basic 程序设计基础 段银田等著 高等教育出版社3 Visual Basic 参考手册 王克已编 人民邮电出版社4 SQL使用指南 Allen G.Taylor著 吴言等译 电子工业出版社5 Office 2000 中文版使用与技巧 高越朋等著 清华大学出版社九 附录(源程序)1. 登录窗口Private Sub txtPassword_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyUp Then txtUser.SetFocus If KeyCode = 13 Then cmdConfirm_ClickEnd SubPrivate Sub txtUser_KeyDown(KeyCode As Integer, Shift As Integer) If KeyCode = vbKeyDown Or KeyCode = 13 Then txtPassword.SetFocusEnd SubPrivate Sub cmdExit_Click() Unload MeEnd SubPrivate Sub cmdConfirm_Click() If txtUser.Text = "" Thena = MsgBox("请输入你的用户名!", vbExclamation + vbOKOnly, "电子通讯录") Exit Sub End IfPasswordData.RecordSource = "select * from 密码 where 用户='" & _ txtUser.Text & "' and (密码='" & _ txtPassword.Text & "' or 密码=Null)" PasswordData.Refresh If PasswordData.Recordset.RecordCount < 1 Then a = MsgBox("密码不正确!请重输!", vbExclamation + vbOKOnly, "电子通讯录") Exit Sub ElseIf PasswordData.Recordset.RecordCount = 1 Then PicturePath = PasswordData.Recordset.Fields(2).Value PasswordString = PasswordData.Recordset.Fields(1).Value UserString = PasswordData.Recordset.Fields(0).Value If UpdateFlag = False Then Unload Me frmMain.Show Else Unload Me frmPassword.Show End If End IfEnd Sub2. 主窗口Private Sub AskMenu_Click() frmAsk.ShowEnd SubPrivate Sub ExitMenu_Click()a = MsgBox("真的退出系统吗?", 36, "电子信息管理系统")If a = 6 Then EndEnd SubPrivate Sub InputMenu_Click()frmInput.ShowEnd SubPrivate Sub PasswordSetMenu_Click()UpdateFlag = TruefrmRegister.ShowEnd SubPrivate Sub BackSetMenu_Click()frmBack.ShowEnd SubPrivate Sub PrintMenu_Click()frmPrint.ShowEnd Sub3. 输入窗口Private Sub txtField_KeyDown(Index As Integer, KeyCode As Integer, Shift As Integer)If Index > 0 And KeyCode = vbKeyUp Then txtField(Index - 1).SetFocus txtField(Index - 1).SelStart = 0 txtField(Index - 1).SelLength = 10ElseIf Index < 4 And (KeyCode = vbKeyDown Or KeyCode = 13) Then txtField(Index + 1).SetFocus txtField(Index + 1).SelStart = 0 txtField(Index + 1).SelLength = 10ElseIf Index = 4 And KeyCode = 13 Then cmdSave_ClickEnd IfEnd SubPrivate Sub cmdSave_Click()a = MsgBox("真的将输入的数据存入到库中吗?", 36, "电子通讯录管理系统")If a <> 6 Then Exit SubInputData.Recordset.AddNewFor i = 0 To 4 On Error GoTo abc InputData.Recordset.Fields(i).Value = txtField(i).TextNext iInputData.Recordset.UpdateInputData.Recordset.MoveLastFor i = 0 To 4 txtField(i).Text = "" Next itxtField(0).SetFocusExit Subabc: temp = InputData.Recordset.Fields(i).Name & " 输入太多文字!" a = MsgBox(temp, 16, "电子通讯录管理系统")End SubPrivate Sub InputGrid_HeadClick(ByVal ColIndex As Integer)InputData.RecordSource = "select * from address order by "_ & InputData.Recordset.Fields(ColIndex).NameInputData.RefreshEnd SubPrivate Sub cmdExit_Click() Unload MeEnd SubPrivate Sub cmdDelete_Click() If InputData.Recordset.RecordCount < 1 Then Exit Subtemp$ = "真的删除当前的“" & InputData.Recordset.Fields(0).Value & _ "”的记录吗?" a = MsgBox(temp$, 36, "电子通讯录管理系统") If a <> 6 Then Exit Sub InputData.Recordset.Delete InputData.Recordset.MoveNextEnd Sub4. 查询窗口Private Sub cmdExit_Click() Unload MeEnd SubPrivate Sub cmdFind_Click()Dim SQLstring As StringIf txtCondition.Text = "" Then Exit SubSQLstring = "select * from address where"If FieldCheck(0).Value = 1 Then SQLstring = SQLstring & " 姓名 like'*" &_ txtCondition.Text & "*' or "If FieldCheck(1).Value = 1 Then SQLstring = SQLstring & " 通讯地址 like'*" &_ txtCondition.Text & "*' or "If FieldCheck(2).Value = 1 Then SQLst

    注意事项

    本文(电子通讯录管理系统毕业论文.doc)为本站会员(仙人指路1688)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开