课程设计个人通讯录管理系统的设计.doc

上传人:仙人指路1688 文档编号:3993230 上传时间:2023-03-30 格式:DOC 页数:25 大小:1.46MB
返回 下载 相关 举报
课程设计个人通讯录管理系统的设计.doc_第1页
第1页 / 共25页
课程设计个人通讯录管理系统的设计.doc_第2页
第2页 / 共25页
课程设计个人通讯录管理系统的设计.doc_第3页
第3页 / 共25页
课程设计个人通讯录管理系统的设计.doc_第4页
第4页 / 共25页
课程设计个人通讯录管理系统的设计.doc_第5页
第5页 / 共25页
点击查看更多>>
资源描述

《课程设计个人通讯录管理系统的设计.doc》由会员分享,可在线阅读,更多相关《课程设计个人通讯录管理系统的设计.doc(25页珍藏版)》请在三一办公上搜索。

1、 个人通讯录管理系统的设计学生姓名: 专业班级: 指导老师:报告日期:年 月 日第一部分 个人通讯录管理系统的设计1、问题的提出: 用户登录后能系统的管理自己的好友的信息,如姓名、地址邮编等等,对好友的信息进行修改、删除等操作。2、功能要求:(1)添加通讯录:能通过相应空件和操作录入新数据。当要录入新数据的时候,首先判断改姓名是否存在,如果不存在,则提示可进行数据录入并可依次输入地址、邮编等信息。(2)查询显示:按姓名查询显示全部信息。通过组合框选择查询内容,将满足条件的通讯录显示在文本框上。(3)修改通讯录:选中某人的姓名时,可对此人的相应数据进行修改并保存。(4)删除通讯记录:选中某人的姓

2、名时,可对此人的相应数据进行修改并保存。(5)拨号:可显示被叫人的姓名和电话号码。第二部分 个人通讯录管理系统功能删除通讯记录修改通讯记录添加通讯记录查看通讯记录指定数据文件1、系统功能模块设计R(用户自定义类型 通讯录)YG0501_BK.txt(存储通讯录信息的随机数据文件)2、数据结构说明:在模块中定义:Public s As StringType contract name As String * 10 addess As String * 10 yb As String * 10 Email As String * 10 QQ As String * 10 tel As String

3、 * 10End TypePublic recTotal As IntegerPublic r As contractPublic fileName As String3、详细设计:(1)在模块中:S 用于存放新建的文件的名称Contract: 自定义类型。Name: 用于存放姓名。Addess: 用于存放地址。By: 用于存放邮编。Email: 用于存放电子邮箱地址。QQ: 用于存存放QQ号。Tel: 用于存放电话号码。recTotal: 用于记录写入数据的条数。 r: 用于存放每条数据filename: 文件的名称(2)在系统窗体中:FreeFile:用于返回或设置被选定文件的文件名,设计

4、时不可用。Module1.s:新建文件的名称。Lof:用于返回一个表示用open语句打开的文件的大小,该大小以字节为单位。返回值是长整形。Len():用于返回字符串的长度,以字节为单位。(3)添加好友窗体中:i:用于表示记录的序号。Trim:去掉字符串左右的空格。(4)在查看好友窗体中:i: 用于表示记录的序号。List1。AddItem 。name:将好友的姓名写在列表框中。Kill Module1.s:表示删除Module1.s文件。Tempno:表示临时文件的名称。fileNotemp:表示临时文件的号码。Name tempno As Module1.s:表示将tempno文件的名称改为

5、Module1.s。(6) 设计思想:登入主窗体后,有菜单栏,上面有文件、工具、查看好友、修改、呼叫等菜单,还有一些快捷按钮。文件下有创建文件、指定文件、备份文件、关于、退出等下级菜单。工具下有添加好友、修改、删除等下级菜单。当点击文件中的新建文件时弹出一个另存为对话框,可以新建一个文件,点击指定文件时弹出打开对话框,可以在指定的文件里写数据。当点击工具中的添加好友时,弹出添加好友窗体,输入信息后,点击确定,就可以将好友的信息写入指定的文件中;点击修改或删除时,弹出查看好友的对话框,可以对写入的数据进行修改或删除。点击呼叫时,弹出呼叫窗体。4、调试与测试:测试数据:姓名地址邮编EmailQQ手

6、机号码张三长江大学42366502345615975325612345678954李四黄河大学45678978945615935745678945612300王五湖北大学78996336978915935745615935746265赵六武汉大学95135736979515935745613576945365登录窗体:代码如下:Private Sub Command1_Click()If Text3.Text = ThenMsgBox (请输入验证码)ElseIf Text1.Text = 操茂 And Text2.Text = 201061164 And Text3.Text = Label

7、4.Caption Then MsgBox (恭喜登陆成功) Form2.Show Unload Form1Else MsgBox (用户名与密码不匹配)End IfEnd SubPrivate Sub Command2_Click()EndEnd SubPrivate Sub Form_Load()RandomizeLabel4.Caption = Int(Rnd * 9000) + 1000End Sub控件属性设置:控件名属性属性值Label1Caption用户名Label2Caption密码Label3Caption验证码Label4CaptionCommand1Caption确定Co

8、mmand2Caption取消Text1TextText2TextText3Text运行操作:输入用户名、密码和验证后,点击登录,则弹出登陆成功消息框,点击确定后,系统窗体弹出。系统窗体:界面如下: 菜单栏设计:(1) 创建功能创建文件代码:Private Sub CJ_Click() Dim r As contract CommonDialog1.FilterIndex = 2 CommonDialog1.Filter = 文本文件|*.txt CommonDialog1.ShowSave fileno = FreeFile Open CommonDialog1.fileName For R

9、andom As #fileno Len = Len(r) Close #fileno MsgBox (创建成功) Form2.StatusBar1.Panels(1).Text = 文件路径是: & CommonDialog1.fileNameForm2.StatusBar1.Panels(2).Text = 记录的条数: & recTotal创建文件运行操作:点击系统窗体的创建文件后,就会弹出另存为的消息框,在另存为消息框中的文件名中输入“YG0501CM_。txt”后,点击确定,弹出“创建成功”的提示消息框,点击确定,程序返回系统。运行结果:(2) 指定功能指定文件代码:Private

10、Sub dk_Click() Dim r As Module1.contract CommonDialog1.Action = 1 Module1.s = CommonDialog1.fileName fileno = FreeFile Open Module1.s For Random As #fileno Len = Len(r) recTotal = LOF(1) / Len(r) Close #fileno MsgBox (指定成功)End Sub运行操作:点击指定文件后,就会弹出打开的消息框,选中自己创建的新文件,然后点击确定,这时就会弹出提示消息框“指定成功”,程序返回系统。运行界

11、面:(3) 退出功能退出代码:运行操作:点击”退出”后,程序结束。Private Sub tc_Click() EndEnd Sub(4) 添加好友功能添加好友代码:Private Sub tjhy_Click()If Module1.s = Then MsgBox (未指定文件) Exit Sub End If Form3.ShowEnd Sub控件名属性属性值Label1Caption姓名Label2Caption地址Label3Caption邮编Label4CaptionEamilLabel5CaptionQQLabel6Caption手机号码Text1TextText2TextText

12、3TextText4TextText5TextText6Text运行操作:点击菜单栏中的工具菜单下的添加好友,弹出添加好友窗体,在相应的文本框中输入好友的信息,然后点击确定,弹出消息框,提示添加成功,界面返回系统窗体。运行结果:(5) 查看好友功能查看好友代码:Private Sub ckhy_Click() If Module1.s = Then MsgBox (未指定文件) Exit Sub End If Form3.Show Form4.ShowEnd Sub控件属性设置:控件名属性属性值Label1Caption姓名Label2Caption地址Label3Caption邮编Label

13、4CaptionEamilLabel5CaptionQQLabel6Caption手机号码Text1TextText2TextText3TextText4TextText5TextText6TextCommand1Caption修改Command2Caption删除Command3Caption确定Command4Caption结束Command5Caption呼叫运行操作:点击菜单栏中的查看好友菜单,弹出查看好友窗体,列表框中显示所有好友的姓名,点击好友姓名时候,右边好友的信息会变为该好友的信息。运行结果:(6) 修改功能修改代码:Private Sub xg_Click() If Modu

14、le1.s = Then MsgBox (未指定文件) Exit Sub End If Form3.Show Form4.ShowEnd Sub运行操作:点击菜单栏中的工具菜单下的修改菜单,会弹出查看好友窗体,在列表框中选中需要修改的人的姓名,单击修改按钮,确定按钮变为可用,右边的文本框变为可编辑,这时就可以在文本框中修改需要修改的信息,然后点击确定按钮,确定按钮变为不可用,右右边的文本框变为不可编辑,同时提示修改成功。运行结果:(7) 删除功能删除代码:Private Sub sc_Click() Form4.ShowEnd Sub运行操作:点击菜单栏中的工具菜单下的删除菜单,会弹出查看好友

15、窗体,在列表框中选中需要删除的好友,然后点击删除按钮,会弹出提示消息框确定删除通讯录吗?,点击确定确定,会弹出删除成功的提示消息框,点击确定按钮,则返回查看好友窗体,被选中的好友的信息被删除,列表框中不存在该好友的姓名。设计思想:先新建一个临时文件,再打开原先储存数据的文件,读数据文件,从第一条开始向后读将,将在列表框中选中的项的数据序号与度的数据需好像比较,如果不相等,就江都的这条数据写在临时文件中,如果相等,就不写进去,然后将原来的文件删除,降临时文件的名称改为原来的文件名称,这样就将需要删除的好友的信息删除了。运行界面:(8) 呼叫功能呼叫代码:Private Sub HJ_Click(

16、)Form4.ShowEnd Sub控件属性设置:控件名属性值属性Label1Caption正在呼叫Label2Caption赵六Label3Caption运行操作:点击系统窗体菜单栏中的呼叫菜单,会弹出查看好友窗体,在列表框中选中要呼叫的好友的姓名,再点击呼叫按钮,会弹出呼叫窗体,上面会显示呼叫好友的名称和电话号码。运行界面:第三部分 课程设计总结1、学学习心得:通过两周的学习,使我增加了对课程的了解。首先了解到的特点,是指可视的图形用户界面开发方法。不需编写大量代码去描述界面元素的外观和位置,只要把预先建立的对象添加到屏幕上的某点即可。之后,了解到一些基本的概念,含义。如类,就是创建对象实

17、例的模板包含了创建的属性描述和行为特征的定义。此中的对象又是类的一个实例,继承了类的属性,方法,而VB中长用的对象有窗体,控件等。但我们在建立之前必须清楚对象的三要素:属性,方法和事件。而建立程序的步骤大致可分为:(1)启动程序,装载和显示窗体。(2)窗体等待事件的发生。(3)事件发生时,执行对应的事件发生过程。(4)再重复(2)(3)的过程(5)最后直接遇到end句结束程序的运行或按结束强行停止程序的运行 VB创建一个应用程序,第一步骤是创建窗体,它是用户与应用程序进行交互操作的可视部分,窗体是创建界面的基本构造模块,也是创建应用程序所使用的对象。而后必要设置窗体的属性,从而构出窗体的外观,

18、设置好的窗体,窗体就作为对象,能够对其定义的事件作出响应,这也是所谓的窗体事件,而窗体事件又包括窗体本身事件,键盘事件和鼠标事件。在了解窗体基本知识就还应了解VB的语言基础,其中包括了代码模块(窗体模块,标准模块,类模块),注释,分行和续行,数据类节(字节型,逻辑型,数值型,日期型),变量与常数,运算符与表达式,数组,控制结构,子过程和函数。同时,为了编程,我们还应培养良好的编程习惯,首先是对象,变量及过程的命名约定,然结构化编码约定。 在VB中创建应用程序之际也就是和对象打交道之时,对象是代码和数据的组合,可以作为一个单位来处理,对象可以是应用程序的一部分,比如可以是控件,窗体,或数据访问对

19、象。控件也是对象中的一种,主要用来获取用户的输入信息和显示输出信息。应用程序中可用的控件包括文本框,命令按扭和列表框。而通过另外一些控件可以访问其他应用程序并处理数据。 VB程序设计同时可设计出一个更好的菜单系统,这样就可以使用户了解到更大量有关应用程序设计和结构的信息,精心规划菜单与工具栏有助于提高应用程序的可用性。同时在基于WINDOWS的应用程序中,对话框被用来提示应用程序继续运行所需的数据或者用户显示信息。对话框是一种特殊类型的窗体对象,在VB中按对话框的创建有三种类型的对话框,他们是预定义对话框,自定义对话框和标准对话框。对于自定义对话框和标准对话框,使可以完成与用户之间的交互。 学

20、习VB程序设计后,增加对此的认识,深入学习VB程序就可掌握新的软件,新的编程环境,学习此课程,也可学会使用开发环境,开发工具的方法。在此发现自己还有很多的不足之处。在Visual Basic的程序设计上不太纯熟,对Visual Basic中的语句的掌握不熟悉,在运行的时候出现错误不能及时的想到错误的原因,要看书或者通过同学的提示才能找到原因,而且还有好多的命令自己不是很明白。短暂的实习转眼而过,回顾实习生活,无论在技术方面还是思维方面,我在实习过程中学到的东西都是终生受用的。感谢学校和老师给我们提供实习的机会。附录:程序清单:登录窗体代码:Private Sub Command1_Click(

21、)If Text3.Text = ThenMsgBox (请输入验证码)ElseIf Text1.Text = 操茂 And Text2.Text = 201061164 And Text3.Text = Label4.Caption Then MsgBox (恭喜登陆成功) Form2.Show Unload Form1Else MsgBox (用户名与密码不匹配)End IfEnd SubPrivate Sub Command2_Click()EndEnd SubPrivate Sub Form_Load()RandomizeLabel4.Caption = Int(Rnd * 9000)

22、 + 1000End Sub系统窗体代码:Private Sub CJ_Click() Dim r As contract CommonDialog1.FilterIndex = 2 CommonDialog1.Filter = 文本文件|*.txt CommonDialog1.ShowSave fileno = FreeFile Open CommonDialog1.fileName For Random As #fileno Len = Len(r) Close #fileno MsgBox (创建成功)Form2.StatusBar1.Panels(1).Text = 文件路径是: &

23、CommonDialog1.fileNameForm2.StatusBar1.Panels(2).Text = 记录的条数: & recTotalEnd SubPrivate Sub ckhy_Click() If Module1.s = Then MsgBox (未指定文件) Exit Sub End If Form3.Show Form4.ShowEnd SubPrivate Sub dk_Click() Dim r As Module1.contract CommonDialog1.Action = 1 Module1.s = CommonDialog1.fileName fileno

24、= FreeFile Open Module1.s For Random As #fileno Len = Len(r) recTotal = LOF(1) / Len(r) Close #fileno MsgBox (指定成功)End SubPrivate Sub HJ_Click()Form4.ShowEnd SubPrivate Sub sc_Click() Form4.ShowEnd SubPrivate Sub tc_Click() EndEnd SubPrivate Sub tjhy_Click()If Module1.s = Then MsgBox (未指定文件) Exit Su

25、b End If Form3.ShowEnd SubPrivate Sub Toolbar1_ButtonClick(ByVal Button As MSComctlLib.Button) Select Case Button.Index Case 1 CJ_Click Case 2 dk_Click Case 3 tjhy_Click Case 4 ckhy_Click Case 5 xg_Click Case 6 sc_Click End SelectEnd SubPrivate Sub xg_Click() If Module1.s = Then MsgBox (未指定文件) Exit

26、Sub End If Form3.Show Form4.ShowEnd Sub添加好友窗体代码:Private Sub Command1_Click()Dim r As contract, i As Integer, q As Integer fileno = FreeFileOpen Module1.s For Random As #fileno Len = Len(r)For i = 1 To recTotal Get #1, i, r If Trim(r.name) = Trim(Text1.Text) Then MsgBox 改姓名已存在,请重新输入 Exit Sub End IfNe

27、xt ir.name = Text1.Textr.addess = Text2.Textr.yb = Text3.Textr.Email = Text4.Textr.QQ = Text5.Textr.tel = Text6.TextrecTotal = recTotal + 1Put #fileno, recTotal, rClose #filenoMsgBox (恭喜添加成功!)contact = contact + 1Text1.Text = Text2.Text = Text3.Text = Text4.Text = Text5.Text = Text6.Text = Unload Fo

28、rm3End SubPrivate Sub Text3_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 48 To 57, 8 Case Else KeyAscii = 0 End SelectEnd SubPrivate Sub Text5_KeyPress(KeyAscii As Integer) Select Case KeyAscii Case 48 To 57, 8 Case Else KeyAscii = 0 End SelectEnd SubPrivate Sub Text6_KeyPress(KeyAscii As

29、 Integer) Select Case KeyAscii Case 48 To 57, 8 Case Else KeyAscii = 0 End SelectEnd Sub查看好友窗体代码:Private Sub Command1_Click() Command2.Enabled = True Text1.Enabled = True Text2.Enabled = True Text3.Enabled = True Text4.Enabled = True Text5.Enabled = True Text6.Enabled = TrueEnd SubPrivate Sub Comman

30、d2_Click() Dim fileno As Integer fileno = FreeFile r.name = Text1.Text r.addess = Text2.Text r.yb = Text3.Text r.Email = Text4.Text r.QQ = Text5.Text r.tel = Text6.Text fileno = FreeFile Open Module1.s For Random As #fileno Len = Len(r) Put #fileno, List1.ListIndex + 1, r Close #fileno MsgBox (恭喜修改成

31、功!) Text1.Enabled = False Text2.Enabled = False Text3.Enabled = False Text4.Enabled = False Text5.Enabled = False Text6.Enabled = False List1.Clear Command2.Enabled = False fileno = FreeFile Open Module1.s For Random As #fileno Len = Len(r) For i = 1 To recTotal Get #fileno, i, r List1.AddItem r.nam

32、e Next Close #fileno Form4.ShowEnd SubPrivate Sub Command3_Click() Form4.Show Dim i As Integer, fileno As Integer, fileNotemp As Integer, tempno As Integer filentemp = FreeFile Open tempno For Random As #filentemp Len = Len(r) If MsgBox(确定要删除通讯录吗?, vbYesNo + vbQuestion, 询问) = vbYes Then fileno = Fre

33、eFile Open Module1.s For Random As #fileno Len = Len(r) For i = 1 To recTotal If i List1.ListIndex + 1 Then Get #fileno, i, r Put #filentemp, , r End If Next i recTotal = LOF(filentemp) / Len(r) End If MsgBox (删除成功) Close Kill Module1.s Name tempno As Module1.s List1.Clear Command2.Enabled = False f

34、ileno = FreeFile Open Module1.s For Random As #fileno Len = Len(r) For i = 1 To recTotal Get #fileno, i, r List1.AddItem r.name Next Close #fileno Form4.Show Command2.Enabled = False fileno = FreeFile Open Module1.s For Random As #fileno Len = Len(r) For i = 1 To recTotal Get #fileno, i, r Next Get

35、#fileno, 1, r Text1.Text = r.name Text2.Text = r.addess Text3.Text = r.yb Text4.Text = r.Email Text5.Text = r.QQ Text6.Text = r.tel Close #filenoEnd SubPrivate Sub Command4_Click() Unload Form4 Form2.ShowEnd SubPrivate Sub Command5_Click() Form5.Show Form5.Label2.Caption = List1.List(List1.ListIndex

36、) Form5.Label3.Caption = Form4.Text6.TextEnd SubPrivate Sub Form_Load() Dim r As contract Command2.Enabled = False fileno = FreeFile Open Module1.s For Random As #fileno Len = Len(r) For i = 1 To recTotal Get #fileno, i, r List1.AddItem r.name Next Get #fileno, 1, r Text1.Text = r.name Text2.Text =

37、r.addess Text3.Text = r.yb Text4.Text = r.Email Text5.Text = r.QQ Text6.Text = r.tel Close #filenoEnd SubPrivate Sub List1_Click() fileno = FreeFile Open Module1.s For Random As #fileno Len = Len(r) Get #fileno, List1.ListIndex + 1, r Text1.Text = r.name Text2.Text = r.addess Text3.Text = r.yb Text4

38、.Text = r.Email Text5.Text = r.QQ Text6.Text = r.tel Close #filenoEnd SubPrivate Sub Text3_KeyPress(KeyAscii As Integer)Select Case KeyAscii Case 48 To 57, 8 Case Else KeyAscii = 0 End SelectEnd SubPrivate Sub Text5_Change()Select Case KeyAscii Case 48 To 57, 8 Case Else KeyAscii = 0 End SelectEnd SubPrivate Sub Text6_Change()Select Case KeyAscii Case 48 To 57, 8 Case Else KeyAscii = 0 End SelectEnd Sub指导教师评语:报告成绩:指导教师签名: 年 月 日

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公文档 > 其他范文


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号