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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

VB课程设计报告模板.docx

1、VB课程设计报告模板Visual Basic课程设计报告题目1: 难度:十题目2: 难度: 指导教师: 姓名:学号:专业:班级:学院: 日 期:1、题目简介 22、设计思路与总体方案 42.1 窗体 frm1 42.2 窗体 form1 62.3 窗体 frmcssz 72.4 窗体 frmlsz 102.5 窗体 frmcxtj 122.6 标准模块 173、设计过程遇到的主要问题及解决方法 184、设计中尚存的不足分析 185、心得体会 186、参考文献 191、题目简介(简要说明课程设计所设计的程序的主要功能。)本题目旨在设计与一个可对个人日常手入和消费帐目进行管理和查询统计 的程序,通

2、过此程序的设计,可以加深我们对上学期的 vb基础知识的印象,使理论升华为实际操作,同时也有助于我们培养理财意识,用电子记录的形式取代 从前的手写记录,使得信息更加精准,不易丢失。题目的难度系数相对不高,但牵涉到众多的知识点作为典型的多模块设计类 型的题目,本程序由五个窗体模块 frm1,form1,frmcssz,frmcxtj ,frmlsz和一 个标准模块共同构成。此外根据课本121页要求,另有三个文本文件 inputtype.txtQutputtype.txt 和balance.txt 分别用于保存收入类型,支出类型和收入支出帐目。本程序的密码按照题目要求保存在了 Balance.pas

3、中,并自行设计加密处理。我的笔记本打不开这个文件,即便打开看到的也不再是密码本 身。这点尽管在这个程序中用处不是太大,但为我们保存重要文件提供了一种思 路。程序要求实现如下功能(主要根据窗口由易到难的顺序来)。如图1所示,frml是启动窗体。有密码的设定和破译,开始时必须先输入 密码。每次错误后会弹出对话框给予提示, 连续累计三次则程序自动退出初始密 码为空,直接单击即可进入。图1.程序主界面2. 输入密码后则进入主界面,它是连接所有窗口的平台。3. 单击“参数设置”按钮进入“参数设置”窗口。窗口的三个选项卡是通过SSTab或Tabstrip控件来制作。这些陌生的外部空间对于我通过安装了 vb

4、企 业版方才得到(详见课本6-7页两者对比),因为ssTab控件相对来说简单,所以 在这个程序的中我完全采用了 SSTab控件。4收入类别和支出类别的选项卡分别需要实现对两者的添加, 删除,修改, 返回操作,更为重要的是要保存在文件中,以备在流水帐和查询统计的combobox 中使用。开始时,“添加”和“返回”按钮可用,而其余两个被置灰,而且文本框不 可输入。因为此时列表框的条目未被选中,所以修改和删除已失去意义,不可用。“添加”按钮比较繁琐,其本身可以被“确定”按钮替代功能。本程序中,按下 添加按钮,则此时文本框被清空可编辑,而对比来说,按下修改按钮文本框不清 空且可编辑。图2.输入错误的密

5、码时的提示5通过“密码修改”选项卡修改密码,如果两次输入不一致或者输入有误(图 2和3)则会提醒用户。此外,我把其设为了在保存时也 会提醒,有助于我们记 忆。右上角的返回按钮可以随时返回主界面上。6.单击主界面上的“日常流水帐”进入日常收支原始资料的主要输入窗口。 该窗口主要由“收入记账”和“支出记账”两大部分组成。我设置了进入窗体时 列表框为空,以便于对刚输入的情况一目了然。这里面就涉及到了另一种新的控件, DTPicker控件的问题,这个控件使用起来极为方便,单击即可弹出日期选择框,且默认当天时间,简明易懂。其中的 列表框中的项目为参数设置所得,只需从中选择即可。需要我们添加新的收支信息时

6、,我设定了备注为可有可无的输入项但其他三 个空如果有一个未填则会在单击保存后弹出 msgbox提示,否则则会在底部的列 表框中每行显示一个完整项,并且把信息存储到 balance.txt中用于接下来的步骤。单击取消按钮则可以清空各个文本框中的内容以便于重新输入。 添加完毕后单击右上角的返回按钮则回到主界面。7本程序的重点和难点原先粗步估计集中在查询统计这一窗体模块中, 所以采用了由易到难的策略。该窗体由三个选项卡组成,既可以选择按类型查询从而 了解单独的情况, 也可以采用时间段的模式, 从而宏观大体的知道某个时间内的 情况。设定这两种模式时需要通过单选框的改变来结合 visible 属性。实际

7、并非 没有想象中的困难, 但是,因为框架控件的问题, 我在这里还是绕了歧路最终放 弃了控件数组,原本代码可能会更简明些。收入支出对比一项用于显示某段时间内总收入和总支出的量化对比, 在输入 时间段后按确定按钮即可显示。返回按钮同上述情况。8. 程序中我设置了一个标准模块,主要用于自定义数据类型中的使用。借 用其配合,可使程序显得更简洁些。2、设计思路与总体方案( 说明用到哪些控件并进行难点分析,说明所使用到的模块、过程、变量、 数组、自定义数据类型及其相互关系,必要时给出系统结构图等图表。对如下事项逐步进行必要的分析、说明: 程序设计的主要思想,程序功能是如何实现的? 设计了几个程序模块 (

8、有几个窗体模块、 几个标准模块 ) ,各个功能模块 的作者及想到之间的关系 ( 模块间是如何传递信息和数据的,采用什么 方式,为什么? ) ? 程序中定义了哪些主要的变量 ( 分别定义了哪些过程级变量?模块级变 量和全局变量 ) ,这些变量起什么作用?是否全局变量? 这里不需要给出大段的源程序,只需要给出关键的实现代码即可。 )2.1 窗体 frm1这是启动窗体 , 仅使用了两个标签和一个文本框及两个按钮,但是要考虑的 地方却有很多。 下面我配合图和文字讲述下加密的过程, 及对于输入字符时的对 话框,还有累计三次时将自动退出的设置。此处只有三个通用过程,分别为 CmdCancel_Click

9、,Cmdok_Click,txtpassword_KeyPress ,难点集中在后两者上, 其中 txtpassword_KeyPress 在后面也会用到;Private Sub CmdCancel_Click()Unload MeEnd SubPrivate Sub Cmdok_Click() 自行设计的简易解密过程Dim int1 As StringDim a As Long: Static b As Integer: Dim i As IntegerIf txtpassword.Text = ThenForm1.Show 使用静态变量三次来累计frm1.HideExit SubEnd I

10、fint1 = txtpassword.TextOpen App.Path & balance.pas For Input As 1Input #1, aClose 1Do While i = 1a = a - Asc(Mid(CStr(np), i, 1) LoopIf a = int1 ThenForm1.ShowUnload MeElse txtpassword.Text = txtpassword.SetFocus b = b + 1 If b = 3 Then48,MsgBox 三次密码输入不正确,请查实后再登录,谢谢 !, 错误!Unload MeElseMsgBox 密码错误,请

11、查实后再登录。 , 48, 错误 ! End IfEnd IfEnd SubPrivate Sub txtpassword_KeyPress(KeyAscii As Integer)If KeyAscii 57 ThenKeyAscii = 0 密码含非数字字符,则显示错误MsgBox 密码应当为数字,请重新输入 , , 提示 End IfEnd Sub2.2 窗体 form1这是主界面, 最没有难度的环节。 但是我在此退出键上也设了一个对话框, 这就提供了返回的余地 . 此处我设置了四个按钮控件,一个标签,和一个图像控 件。几段代码相似,仅有 click 过程Private Sub Cmdl

12、sz_Click()Frmlsz.ShowUnload MeEnd SubPrivate Sub CmdCxtj_Click()Frmcxtj.ShowUnload MeEnd SubPrivate Sub CmdEsc_Click()Dim i As Integeri = MsgBox(Are you sure to exist?, 49, Warn)If i = 1 ThenUnload MeElseForm1.ShowEnd IfEnd SubPrivate Sub Cmdcssz_Click()Load frmcsszfrmcssz.ShowUnload MeEnd SubPrivat

13、e Sub Cmdtjcx_Click()Load FrmcxtjFrmcxtj.ShowUnload MeEnd Sub2.3 窗体 frmcssz该窗体是以三个选项卡所构成的, 了解到前两者具有对称性, 这就提供给了 我们思路, 控件数组的使用可以简化两者的代码, 从而提高程序的可读性。 窗口 共出现了十五个按钮控件,我多将其设置成为了数组的模式,利用 index 属性的 转换,简化工作量。 此外九个标签, 四个文本框及两个列表框均是围绕着实现两 个框架承载的内部结构所展开。下述一段是利用数组写文件的过程 ,仅使用两 个变量循环着输出便得以实现Private Sub Form_QueryU

14、nload(Cancel As Integer, UnloadMode As Integer) Dim i As Integer, j As IntegerOpen App.Path & InputType.txt For Output As 1Open App.Path & OutputType.txt For Output As 2用 unload 的一个过程写文件For i = 0 To 1For j = 1 To List1(i).ListCountWrite #i + 1, List1(i).List(j - 1)Next jNext iCloseEnd Sub下述一段代码为读入列表

15、框时所使用。仅有一字符串变量来实现Private Sub Form_Load()Dim str1 As StringOpen App.Path & OutputType.txt For Input As #2Do While Not EOF(2)Input #2, str1List1(1).AddItem str1 读文件进入列表框LoopOpen App.Path & InputType.txt For Input As #1 Do While Not EOF(1)Input #1, str1List1(0).AddItem str1LoopCloseEnd SubPrivate Sub C

16、ancel_Click()np.Text = : np2.Text = 取消密码输入End SubPrivate Sub cmdfh_Click(Index As Integer) 返回按钮 Unload frmcsszForm1.ShowEnd SubPrivate Sub Cmdqx_Click(Index As Integer) 取消按钮 Dim m As Integerm = IndexText1(m).Text = End SubPrivate Sub Cmdsc_Click(Index As Integer) 删 除按钮 Dim j As Integer: j = IndexLis

17、t1(j).RemoveItem List1(j).ListIndexText1(j).Text = End SubPrivate Sub Cmdtj_Click(Index As Integer) 添加按钮 Dim m As Integerm = IndexText1(m).SetFocusText1(m).Locked = FalseText1(m).Text = End SubPrivate Sub List1_Click(Index As Integer)Dim j As Integer j = IndexCmdxg(j).Enabled = TrueCmdsc(j).Enabled

18、= TrueText1(j).Text = List1(j).TextEnd SubPrivate Sub Cmdxg_Click(Index As Integer) 修改按钮。修改键解除文本框锁定Dim j As Integerj = IndexText1(j).Locked = FalseText1(j).SetFocusEnd SubPrivate Sub Cmdqd_Click(Index As Integer)Dim int1 As Integer, k As Integer 确定按钮。对栏目的添加 , 修改k = IndexIf List1(k).SelCount = 0 Then

19、List1(k).AddItem Text1(k).TextElseint1 = List1(k).ListIndexList1(k).List(int1) = Text1(k).TextEnd IfText1(k).Text = : Text1(k).Locked = TrueCmdxg(k).Enabled = False: Cmdsc(k).Enabled = FalseCmdtj(k).SetFocusEnd Sub后面一段当时看来显得很费精力,因为需要自行设定加密方法Private Sub sure_click()Dim i As Integer, password As Longi

20、 = 1If np.Text np2.Text ThenMsgBox 两次密码不一样 (。)/,请重新输入, 48,提示ElseIf Len(Trim(np) 8 ThenMsgBox 请保证密码不超过 8位, 48Else 两次输入一样就加密并保存到文件MsgBox 密码已修改,a请记住您的密码哦! , 64,温馨提示End IfDo While i = 1np = np + Asc(Mid(np.Text, i, 1)LoopOpen App.Path & Balance.pas For Output As #1 设置密码Write #1, npClose #1End SubPrivate

21、 Sub np_KeyPress(KeyAscii As Integer)If KeyAscii 57 ThenKeyAscii = 0 密码含非数字字符,则显示错误MsgBox 密码应当为数字,请重新输入 , , 提示End If2.4 窗体 frmlsz窗体 frmlsz 供用户输入每日的收支帐目,即收支类型、收支时间、金额和 备注。 每次加 载窗 体 frmlsz 时从 Inputtype.txt 读出收 入类型 , 从 Outputtype.txt 读出支出类型给combo控件初始化,便于用户选择相应的类型 输入日常流水账。为实现数据逐条读写采用 do loop循环EOF()文件函数和

22、 input 语句。利用 If 语句判断 data 的 int1 取值,确定数据是收入还是支出, 这是一种较为简便的方式,在后面的数据查询中有很大的发挥空间Frmlsz 在主界面中的 default 属性被我改成了 true 。其结构简单,但设计 上还是需要注意些问题, 比方说就看下面一段代码, 我们有时候确实有必要在细 节上较真Private Sub Cmdbc_Click(Index As Integer)Dim j As Integer: j = IndexDim str1 As StringIf Coblb(j).Text = Or txtje(j).Text = Then 输入信息MsgBox 请输入完整 o= (DTPicker5.Value) And (newdata.time1 = (DTPicker5.Value) And (newdata.time1 = (DTPicker9.Value) And (newdata.time1= (DTPicker10.Value) And newdata.moneytype = Combo1.Text ThenList1.AddItem newdata.time1 & Space(5) & newdata.moneytype & Space(5

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2