ImageVerifierCode 换一换
格式:DOCX , 页数:34 ,大小:32.23KB ,
资源ID:6398393      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/6398393.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(vb课程设计报告.docx)为本站会员(b****5)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

vb课程设计报告.docx

1、vb课程设计报告(此文档为word格式,下载后您可任意编辑修改!)单 位 分院(系)专 业 学 号 学生姓名 指导教师 完成日期 二零一零年 七 月 五 日我们日常生活中会用到许多软件,有聊天、娱乐等等。也会浏览许多网站,但我们经常使用的却不多,此外,我们每天要做的事也需要有备忘,以及我们的联系簿等。此软件就是依旧人们的这些需求而编写的。内容包括对常用的网站操作,联系簿和备忘录的操作。本软件采用Visual Basic语言来编写,实现的需求功能。Visual Basic语言简便易学,有许多优点,例如:可编写标准模块,在多个窗体中调用相同的程序,也可自定义函数,在同一工程中自由调用,可以添加多个

2、专用部件,为编程带来了方便,为编写使用方便、功能强大的生活小助手软件提供了良好的平台。软件功能编写中使用了access数据库,通过对数据库的调用实现了数据的管理。大量调用事件、过程、函数及窗体,实现了需求的功能。论文首先介绍了生活小助手开发涉及的相关技术,主要围绕Visual Basic语言的相关对象和事件。其次,介绍了生活小助手的总体分析与设计,包括需求分析、功能模块分析和程序设计。最后,通过Visual Basic语言的开发界面检验了该程序的可用性,并以具体描述与展示代码相结合的方式详细地叙述了系统功能的实现。关键词:Visual Basic语言、生活小助手软件、数据库。第一章 选题的意义

3、生活小助手是对日常生活使用的软件的管理的应用软件。选择自己编写软件程序是因为能更深刻地了解Visual Basic软件的应用,并且能够学习到简易软件的编写、开发过程。通过本次实习的程序制作,使学生进一步掌握了Visual Basic的基础知识、规范和高级语言程序设计的基本方法,理解事件驱动的特性,能够阅读由Visual Basic编写的程序。了解并学会了对数据库的增删改查等基本的功能运用,通过数据库对一般数据的管理。并掌握一般的程序设计方法,具有一定的程序调试能力,为后续的计算机课程打下坚实的基础。 本次实习我们学到的知识有:熟悉Visual Basic集成开发环境,了解Visual Basi

4、c中对象的概念和事件驱动程序的基本特性,掌握基本的数据结构和常用算法,学会了数据库的方法使用,数据的管理,能够编写和调试Visual Basic程序。我们设计该软件的主要目的是: 1. 通过该题目的设计,掌握软件开发过程的问题分析、系统设计、程序编码、测试等基本方法和技能;2. 掌握菜单的使用方法;3. 掌握多窗体的调用方法;4. 掌握数据库的应用;5数据库的调用,及对数据的管理。第二章 系统功能需求分析2.1系统概述我设计的软件,模仿了万能收藏窗体布局、其中部分功能与它相似。窗体大致分为:标题栏、菜单栏、工具栏、工作区、状态栏几个部分。系统拥有网址的保存、修改、删除,和浏览网页;联系簿的保存

5、、修改、删除;及备忘等功能。2.2系统的构成我们设计的软件,窗体布局简洁,方便实用。软件主要有气个窗体构成,登陆、主窗口、添加网址、添加联系人,备忘录、数据查找窗体、标准模块。登录窗口主要包括combo、text录入。验证码的使用、数据库的链接等主窗口主要包括viewtree、dgbrid显示数据,快捷键的使用、菜单栏、数据库的链接等添加窗体主要包括combo输入及下拉菜单的使用、数据的显示、数据库的链接等备忘录窗体主要包括栏、文本编辑、文字计数、数据库的链接等。数据查找窗体主要包括combo输入及下拉菜单的使用、dbgrid数据显示数据库的链接等。标准模块主要包括各种函数、全局变量的声明,文

6、件初始化等功能。2.3各模块的功能登录窗体与数据库链接实现单对单(一个账户对应一个密码)登陆模式,实用随机数产生验证码限制登录。主窗体使用viewtree与dbgrid显示数据库内容,同时是viewtree中节点与dbgrid相连,实现随时变化。菜单栏中添加、修改按钮能实现对其他窗体的调用,同时改变显示窗体的标题栏属性;菜单栏中的删除按钮可以删除对应项在数据库的数据内容,并同时改变dbgrid格内容;菜单栏中的查看网址按钮可打开浏览器浏览相应网页;查找按钮可查找数据库中相应内容。下方的状态栏可以显示操作人的信息,与系统详细时间等内容。添加窗体与数据库相连,单击保存改变数据库中数据,取消关闭相应

7、窗口。修改窗体可读取显存数据库中的内容,并进行修改,取消关闭相应窗口。当改变关系与类型与数据库中无相符内容时,则改变数据树内容。编辑菜单项具有编辑文本文件的最基本、最常见的功能,复制菜单项可以复制已选定的文本,剪切菜单项可以剪切已选定的文本,粘贴菜单项可以可以再光标插入点处插入一已复制或已剪切的文本。全选菜单项可以把当前文本全部选中。同时字体菜单可改变字体属性。在文本框中内容改变时,统计其中字数显示在下方,当字数超出一定限制是给出提示。2.4系统的运行环境系统的运行环境是win7、Vista 、XP等常用系统软件。2.5各模块的功能软件具有储存修改网址、联系簿、备忘录的功能。登录窗口有数据库连

8、接,实现单对单(一个账号对应一个密码)登陆系统。使用随机数产生验证码限制登录情况。主窗口使用viewtree显示数据库中类型表的显示,使用dbgrid显示数据中的详细数据,菜单栏是文件功能的具体体现者,具有对其他窗体的显示的调用功能。新建菜单调用添加网址、添加联系人或添加备忘窗体;修改菜单调用修改网址、修改联系人或修改备忘窗体;点击删除会在数据库中删除相应项;查找联系人会调用查找窗体,查看网址会启动浏览器查看相应网页。当点击添加时,窗体的caption属性为添加,当点击确定时改变数据库内容;取消退出窗体。当点击修改时,窗体的caption属性会变为修改,同时读取数据库文件显示相应数据,当内容数

9、据发生改变时对数据库内容进行修改;点击取消突出窗体。当窗体中的类型或关系框中内容与数据库中内容不符,则同时在类型数据表中进行修改。备忘录菜单中菜单栏编辑菜单项具有编辑文本文件的最基本、最重要、也是最常见的功能,复制菜单项可以复制已选定的文本,剪切菜单项可以剪切已选定的文本,粘贴菜单项可以可以再光标插入点处插入一已复制或已剪切的文本。全选菜单项可以把当前文本全部选中。第三章 系统代码3.1主窗体代码Option ExplicitConst treewide = 2000 TREEVIEW的最小宽度Const biaowide = 2000 DBGRID的最小宽度Private Sub Form_

10、Load()imgPointer.Left = ReadIni(chuangti, imgpointerleft, 1200) 从ini文件中确定窗体大小Me.Move ReadIni(chuangti, formleft, 100), ReadIni(chuangti, formtop, 100), ReadIni(chuangti, formwidth, 2400), ReadIni(chuangti, formheight, 2400)Me关键字像是隐含声明的变量。这个关键字适用于类模块中的每个过程。当类有多个实例时,Me在代码正在执行的地方提供引用具体实例的方法。要把当前执行类实例的有

11、关信息传递到另一个模块的过程,Me非常有用Data1.DatabaseName = dizhi & shuju.mdbSet Datashuju = Workspaces(0).OpenDatabase(dizhi & shuju.mdb, False, False)ListTreelianxibiaoEnd SubPrivate Sub Form_Resize() 当一个对象第一次显示或当一个对象的窗口状态改变时该事件发生On Error Resume Next resume在错误处理程序结束后,恢复原先的运行。如果错误和错误处理程序出现在同一个程序中,则从紧随产生错误的语句的下个语句恢复运

12、行。如果错误发生在被调用的过程中,则对最后一次调用包含错误处理程序的过程的语句(或OnErrorResumeNext语句),从紧随该语句之后的语句处恢复运行If Me.Width treewide + biaowide Then Me.Width = treewide + biaowideIf Me.WindowState 1 Then chicun imgPointer.Left windowstate返回或设置一个值,该值用来指定在运行时窗体窗口的可视状态。0为正常,1最小化,2最大化End SubPrivate Sub chicun(X As Long)X = treewideTreeV

13、iew1.Width = XimgPointer.Left = X + 40DBGrid1.Left = X + 40DBGrid1.Width = Me.Width - (TreeView1.Width + 100)TreeView1.Top = Toolbar1.HeightDBGrid1.Top = TreeView1.Top + 2imgPointer.Top = TreeView1.ToppicMove.Top = TreeView1.TopTreeView1.Height = Me.ScaleHeight - TreeView1.Top - 300 设置 heightDBGrid1

14、.Height = TreeView1.HeightimgPointer.Height = TreeView1.HeightpicMove.Height = TreeView1.HeightStatusBar1.Top = Me.ScaleHeight - TreeView1.Height - TreeView1.Top - 300StatusBar1.Height = 300End SubPublic Sub ListTree() 显示树形列表Dim a As NodeDim b As Long添加地址薄类型TreeView1.Nodes.ClearSet a = TreeView1.Nod

15、es.Add(, , l, 联系人) object.Add (relative, relationship, key, text, image, selectedimage)With Datashuju.OpenRecordset(select * from list where book=lianxiren) While Not .EOF b = b + 1 Set a = TreeView1.Nodes.Add(l, tvwChild, l & b, !Type) TvwChild4(缺省)子节点。该Node节点是relative命名节点的子节点 .MoveNext WendEnd Wit

16、ha.EnsureVisible添加网址薄类型Set a = TreeView1.Nodes.Add(, , W, 网址薄)With Datashuju.OpenRecordset(select * from list where book=wangzhi) While Not .EOF b = b + 1 Set a = TreeView1.Nodes.Add(W, tvwChild, W & b, !Type) .MoveNext WendEnd Witha.EnsureVisible添加备忘列表Set a = TreeView1.Nodes.Add(, , b, 备忘录)With Dat

17、ashuju.OpenRecordset(select * from list where book=beiwang)While Not .EOF b = b + 1 Set a = TreeView1.Nodes.Add(b, tvwChild, b & b, !Type) .MoveNextWendEnd Witha.EnsureVisibleEnd SubPublic Sub lianxibiao(Optional strRelation As String)Dim a As Stringa = select 姓名,关系,电话,地址,qq,Email,备注 from lianxirenI

18、f strRelation Then a = a & where 关系= & strRelation & Data1.RecordSource = a ecordSource 设置一个数据控件的底层表、sql语句或querydef Data1.Refresh shujudbg 7, lianxirenIf strRelation Then DBGrid1.Columns(1).Visible = TrueEnd SubPublic Sub wangzhibiao(Optional strType As String)Dim a As Stringa = select 名称,网址,类型,备注 f

19、rom wangzhiIf strType Then a = a & where 类型= & strType & Data1.RecordSource = a ecordSource 设置一个数据控件的底层表、sql语句或querydefData1.Refreshshujudbg 4, wangzhiEnd SubPublic Sub beiwangbiao(Optional strType As String)Dim a As Stringa = select 文件名,内容 from beiwangIf strType Then a = a & where 类型= & strType & D

20、ata1.RecordSource = a ecordSource 设置一个数据控件的底层表、sql语句或querydefData1.Refreshshujudbg 2, beiwangEnd SubPrivate Sub shujudbg(lieshu As Long, shujukuming As String)Dim yuanlieshu As Long, i As Integer, b As Integeryuanlieshu = DBGrid1.Columns.Countb = lieshu - yuanlieshuFor i = 1 To b DBGrid1.Columns.Add

21、 (1)NextFor lieshu = 0 To lieshu - 1 设置字段、宽度 DBGrid1.Columns(lieshu).Width = ReadIni(shujukuming, colwid & lieshu, 2000)NextEnd SubPrivate Sub treeview1_NodeClick(ByVal Node As ComctlLib.Node)Select Case Node.Key Case l lianxibiao Case l1 To l9, l10 To l99 lianxibiao Node.Text Case W wangzhibiao Cas

22、e W1 To W9, W10 To W99 wangzhibiao Node.Text Case b beiwangbiao Case b1 To b9, b10 To b99 beiwangbiao Node.TextEnd SelectEnd SubPrivate Sub TreeView1_BeforeLabelEdit(Cancel As Integer)Cancel = True 取消标签编辑操作End SubPrivate Sub men_Click(Index As Integer) 点击菜单事件 Select Case Index Case 1 lianxiadd.lianc

23、aozuo = 1 lianxiadd.Show vbModal, Me Case 2 shanlian Case 3 lianxiadd.liancaozuo = 2 lianxiadd.Show vbModal, Me Case 4 chazhao.Show End SelectEnd SubPrivate Sub wang_Click(Index As Integer) 点击菜单事件Dim a As LongSelect Case Index Case 1 wangzhiadd.wangcaozuo = 1 wangzhiadd.Show vbModal, Me Case 2 shanw

24、ang Case 3 wangzhiadd.wangcaozuo = 2 wangzhiadd.Show vbModal, Me Case 4 If InStr(Data1.RecordSource, wangzhi) 0 Then With Data1.Recordset If Not .EOF And Not .BOF Then 指针处于中间位置 If Left(!网址, 7) = Open, !网址, , App.Path, 1) Else shellexecute(byval hwand as Long ,byval ipoperation as String ,byval ipfil

25、e as String ,byval ipparamelers as String ,byval ipdirectory as String ,byval nshowcmd as Long) shellexecute函数:查找与制定相关程序的文件名 hwnd 制定一个窗口的句柄,有时候windows程序有必要在创建自己的主窗口前显示一个消息框 ipoperation 制定字符串open来打开ipfile文档,或指定print来打印它 ipfile 想用关联程序打印或打开一个程序名或文件名 ippatameters 如果ipszfile是可执行文件,则这个字符串包括传递给执行程序的参数 ipki

26、rectory 使用的完整路径 nshowsmd 定义了如何显示启动程序的常数值 a = ShellExecute(Me.hwnd, Open, 1) End If End If End With End If End SelectEnd SubPrivate Sub bei_Click(Index As Integer) 点击菜单事件Select Case Index Case 1 beiwanglu.beicaozuo = 1 beiwanglu.Show vbModal, Me Case 2 shanbei Case 3 beiwanglu.beicaozuo = 2 beiwanglu

27、.Show vbModal, MeEnd SelectEnd SubPrivate Sub shanwang()Dim a As String, b As String With Data1.Recordset a = MsgBox(确定删除 & vbCrLf & !网址 & ?, vbQuestion + vbYesNo) If a = vbYes Then Data1.Recordset.Delete Data1.Recordset.MoveNext If Data1.Recordset.EOF Then Data1.Recordset.MoveLast End If End With L

28、istTreeEnd SubPrivate Sub shanlian()Dim a As String, b As String With Data1.Recordset a = MsgBox(确定删除 & vbCrLf & !姓名 & ?, vbQuestion + vbYesNo) If a = vbYes Then Data1.Recordset.Delete Data1.Recordset.MoveNext If Data1.Recordset.EOF Then Data1.Recordset.MoveLast End If End With ListTreeEnd SubPrivat

29、e Sub shanbei()Dim a As String, b As String With Data1.Recordset a = MsgBox(确定删除 & vbCrLf & !备忘 & ?, vbQuestion + vbYesNo) If a = vbYes Then Data1.Recordset.Delete Data1.Recordset.MoveNext If Data1.Recordset.EOF Then Data1.Recordset.MoveLast End If End With ListTreeEnd SubPrivate Sub Toolbar1_Button

30、Click(ByVal Button As ComctlLib.Button)If Button.Index 5 Then wang_Click (Button.Index - 5)End IfEnd SubPrivate Sub StatusBar1_PanelClick(ByVal Panel As ComctlLib.Panel)If denglu.Combo1.Text = dou Then StatusBar1.Panels.Item(1).Text = 操作者:窦军强If denglu.Combo1.Text = gao Then StatusBar1.Panels.Item(1).Text = 操作者:高树青StatusBar1.Panels.Item(2).Text = Format(Date, yyyy年mm月dd日)n = Weekday(Data)If n = 1 Then Statu

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1