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

加入VIP,免费下载
 

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

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

下载须知

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

版权提示 | 免责声明

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

VB课程设计.docx

1、VB课程设计 VB课程设计报告课程题目:打字练习应用程序班 级: 学 号: 姓 名: 专 业:计算机科学与技术指导老师: 时间:2013年5月12日目 录一、概述 11、课程设计的目的 12、课程设计的内容 13、课程设计的基本要求 1二、总体设计方案 21、软件的选择和功能 22、设计的总框图 2(1)程序总框图 2(2)设计思想: 3三、详细设计 31、界面的属性设计 32、流程图 43、实现各事件过程代码 5四、课程设计总结(心得) 15一、概述1、课程设计的目的培养学生综合利用VB语言进行程序设计的能力,主要是培养学生利用系统提供的标准函数和标准控件进行创新设计。学生应通过接触客观实际

2、,了解和认识所学的专业知识,掌握所学知识在客观实际中的应用,并能亲自动手完成设计,把所学的理论知识与实际能力紧密的结合在一起。2、课程设计的内容应用所学的VB程序设计知识,编写一个中英文打字应用程序。SSTab打字应用程序是用选项卡控件的每个选项卡做一个应用程序界面。为了实现选项卡打字应用程序的要求需添加4个控件:Tabbed Dialog Control (SSTab)、RichTextBox、Adodc、DataGrid。3、课程设计的基本要求(1)打字程序运行后,首先在窗体上显示设计者的基本信息,用户按任意键或等待30秒后进入练习者登录窗口。(2)用户登录(输入学号和姓名)将用户的信息记

3、录在Access数据库的表中(学号、姓名),数据控件用Microsoft ADO Data Control控件。(3)登录后点击“开始”,随机打开以文件的形式保存的样本文本,显示在样本框中。(用Microsoft RichTextBox控件作为样本框。)(4)练习者可在文本框中输入样本内容,并以倒计时显示剩余时间。(5)打字过程中即时提示正确与错误(用蓝色标识正确、用红色标识错误)。(6)打字过程中可随时暂停打字,停止倒计时。并将打字信息存入Access数据库表中练习者的记录中(总字符数、正确数、错误数、剩余时间和打字日期)。暂停后可继续打字练习。(7)打字过程中可随时查询所有打字者记录,查询

4、记录时停止计时。查询记录用Microsoft DataGrid Control控件。(8)打字练习过程中,能随时修改输入错误,并能随时继续未完成的打字练习。(9)倒计时结束,禁止练习者输入,并将结果存入Access数据库的表中该练习者相应的记录中。(10)SSTab打字应用程序界面用Microsoft Tabbed Dialog Control实现。二、总体设计方案1、软件的选择和功能打字练习软件是基于Windows操作平台,以Visual Studio 2005为开发环境,利用MFC编写的,可在Windows XP操作系统中安全运行。本软件界面的设计主要通过Visual C+提供的多种控件来

5、构建的,例如,RicheEdit2.0控件用来实现显示和输入字符串;List Control控件读取并显示数据库内容等。本软件采用Access 2007作为数据库,用来记录软件使用者的部分信息,如姓名、学号、剩余时间、正确数、错误数、字符数和练习日期等数据。2、设计的总框图(1)程序总框图 (2)设计思想:当使用者开始使用此打字练习程序时,弹出窗体提醒用户按任意键进入或等待30秒进入登入界面。只有用户同时输入学号和姓名后才可以进入打字练习选项卡,否者进不去。输入完学号和姓名后,单击“登录”按钮,进入打字练习,单击“开始”按钮Rtext1自动从指定文件夹中随机读取文件,并同时进行10分钟倒计时,

6、当单击“暂停”或“停止”按钮时停止计时并且Text3文本框被锁定不能再输入,同时统计正确数、错误数和字符数。用户练习完后,单击“查看记录”选项卡,就可查看打字记录,也可单击此选项卡里的“返回打字”按钮即可返回打字,也可单击“结束”按钮结束打字练习。单击“退出”选项卡退出程序。三、详细设计1、界面的属性设计对 象属 性属 性 值Tab(0)Caption登录Tab(1)Caption打字练习Tab(2)Caption查看记录Tab(3)Caption退出Command1Caption登录Font华文行楷,一号,粗体Command2Caption取消Font华文行楷,一号,粗体Command3Ca

7、ption退出Font华文行楷,一号,粗体Command4Caption开始Font华文中宋,小一,粗体Command5Caption暂停Font华文中宋,小一,粗体Command6Caption停止Font华文中宋,小一,粗体Command7Caption返回打字Font华文新魏,二号,粗体 Command8Caption结束Font华文新魏,二号,粗体 Label4Caption剩余时间Font宋体,三号,粗体ForecolorLabel1.Forecolor=vbBlue Label6Caption正确数Font宋体,三号,粗体ForecolorLabel1.Forecolor=RGB(

8、10, 100, 200) Label8Caption错误数Font宋体,三号,粗体ForecolorLabel1.Forecolor=RGB(0, 100, 200) Label11Caption字符数Font宋体,三号,粗体ForecolorLabel1.Forecolor=RGB(102,10, 200) Label2Caption姓名Font宋体,三号,粗体ForecolorLabel2.ForeColor = RGB(100, 190, 200) Label1Caption学号Font宋体,三号,粗体ForecolorLabel2.ForeColor = vbBlueText3Bac

9、kColorText3.BackColor= vbBlue2、流程图3、实现各事件过程代码在通用声明处声明Option ExplicitPrivate constr As StringDim XH As String, t0%, m0, s0Dim XM As String, t, a, n%, P%, v% “登录”按钮代码Private Sub Command1_Click()SSTab1.Tab = 1SSTab1.TabEnabled(0) = TrueSSTab1.TabEnabled(1) = TrueSSTab1.TabEnabled(2) = TrueSSTab1.TabEna

10、bled(3) = TrueXH = Trim(Text1)XM = Trim(Text2)Adodc1.CommandType = adCmdTextAdodc1.RecordSource = select * from DengLu where 学号= & XH & and 姓名= & XM & 若数据表中已存在用户信息(即数据表的记录指针指向该记录,否则指向表的最后一条记录之后)。Adodc1.Refresh 刷新Adodc1If Adodc1.Recordset.EOF Then 如果表中已存在该用户, 学号,姓名不变,其余全部初始化Adodc1.Recordset.AddNewAdo

11、dc1.Recordset.Fields(学号) = XHAdodc1.Recordset.Fields(姓名) = XMAdodc1.Recordset.Fields(剩余时间) = 0Adodc1.Recordset.Fields(练习日期) = DateAdodc1.Recordset.Fields(字符数) = 0Adodc1.Recordset.Fields(正确数) = 0Adodc1.Recordset.Fields(错误数) = 0Adodc1.Recordset.Update 将改动的数据写入数据库中ElseAdodc1.Recordset.Fields(剩余时间) = 0A

12、dodc1.Recordset.Fields(练习日期) = DateAdodc1.Recordset.Fields(字符数) = 0Adodc1.Recordset.Fields(正确数) = 0Adodc1.Recordset.Fields(错误数) = 0Adodc1.Recordset.UpdateEnd IfEnd Sub当进入登录页面后,运行界面如下只有当输入学号和姓名后登录按钮才可操作,运行界面如下 “取消”按钮代码Private Sub Command2_Click()Text1 = Text2 = Text1.SetFocusEnd Sub“退出”按钮代码Private Su

13、b Command3_Click()EndEnd Sub“开始”按钮代码Private Sub Command4_Click()Dim pf$, n, P$, s, t0, s0If Command4.Caption = 开始 ThenCommand4.Caption = 继续s = Randomizen = Int(Rnd * 15 + 1)pf = z:SSTab打字 & n & .txt 随机选定其中之一文档Open pf For Input As #1Do While Not EOF(1)Line Input #1, as = s & aLoopRText1 = sClose #1En

14、d IfCommand4.Enabled = FalseTimer2.Enabled = TrueTimer2.Interval = 1000Text3.Enabled = TrueEnd Sub单击开始“按钮”后运行界面如下Private Sub Command5_Click()Timer2.Interval = 0Command4.Enabled = TrueText3.Enabled = FalseEnd SubPrivate Sub Command6_Click()Dim x%, y%, t2%, i%, c1, c2Command4.Caption = 继续Timer2.Enable

15、d = FalseCommand5.Enabled = FalseText3.Locked = TrueLabel7 = PLabel9 = nLabel12 = P + nIf Len(Text3) 0 ThenTimer2.Interval = 0End IfAdodc1.Recordset.Fields(学号) = XHAdodc1.Recordset.Fields(姓名) = XMAdodc1.Recordset.Fields(剩余时间) = Val(Int(t0 Mod 3600) 60) & . & Int(t0 Mod 3600) 60)Adodc1.Recordset.Fiel

16、ds(练习日期) = DateAdodc1.Recordset.Fields(字符数) = Val(RText1)Adodc1.Recordset.Fields(正确数) = Label7Adodc1.Recordset.Fields(错误数) = Label9Adodc1.Recordset.UpdateEnd SubPrivate Sub Command7_Click()SSTab1.Tab = 1End SubPrivate Sub Command8_Click()EndEnd SubPrivate Sub Form_KeyPress(KeyAscii As Integer)SSTab1

17、.Visible = TrueSSTab1.Tab = 0SSTab1.TabEnabled(0) = TrueSSTab1.TabEnabled(1) = FalseSSTab1.TabEnabled(2) = TrueSSTab1.TabEnabled(3) = Truet0 = 600End Sub装载窗体事件Private Sub Form_Load()SSTab1.Visible = FalseAdodc1.Visible = FalseCommand1.Enabled = FalseTimer2.Enabled = FalseShowForm1.FontSize = 45Form1

18、.Font = 华文中宋Form1.ForeColor = RGB(0, 0, 255)Form1.Print Spc(7); 中英文打字练习PrintForm1.Font = 华文新魏Form1.FontSize = 25Form1.Print Spc(10); 学 院:信息工程学院PrintForm1.Print Spc(10); 学 号:201230050117PrintForm1.Print Spc(10); 班 级:1230501PrintForm1.Print Spc(10); 制作人:张阳辉PrintForm1.Print Spc(10); 专 业:计算机科学与技术PrintLa

19、bel10.FontSize = 30Label10.ForeColor = RGB(255, 0, 255)a = 按任意键进入主界面.Label10 = at = 30Timer1.Interval = 1000Text1.ForeColor = RGB(0, 0, 255)Text2.ForeColor = RGB(82, 160, 210)Label4.ForeColor = RGB(10, 10, 200)Label6.ForeColor = RGB(10, 100, 200)Label8.ForeColor = RGB(0, 100, 20)Label11.ForeColor =

20、RGB(102, 10, 200)Label1.ForeColor = vbBlueLabel2.ForeColor = RGB(100, 190, 200)Text3.BackColor = vbBlueWMP1.settings.playCount = 30 添加背景音乐WMP1.settings.volume = 100WMP1.URL = z:by2、汪苏泷 - 有点甜.mp3WMP1.Visible = FalseEnd Sub运行界面如下Private Sub SSTab1_Click(PreviousTab As Integer)If SSTab1.Tab = 3 ThenEnd

21、End IfIf SSTab1.Tab = 2 Then Adodc1.CommandType = adCmdText Adodc1.RecordSource = select * from denglu Adodc1.RefreshEnd IfEnd SubPrivate Sub Text1_Change()If Text1 And Text2 Then Command1.Enabled = TrueEnd SubPrivate Sub Text1_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenText2.SetFocusEnd IfEn

22、d SubPrivate Sub Text2_Change()If Text1 And Text2 Then Command1.Enabled = TrueEnd SubPrivate Sub Text2_KeyPress(KeyAscii As Integer)If KeyAscii = 13 ThenCommand1.SetFocusEnd IfEnd Sub对样本的文字进行着色Private Sub Text3_Change()Dim i%, Yb, Srn = 0P = 0v = P + nIf Text3 Then For i = 1 To Len(Text3) Yb = Mid(R

23、Text1.Text, i, 1) Sr = Mid(Text3.Text, i, 1) RText1.SelStart = i - 1 RText1.SelLength = 1 If Yb Sr Then n = n + 1 RText1.SelColor = vbRed Else P = P + 1 RText1.SelColor = vbBlue End If Next i End If If Len(Text3) = Len(RText1) Then Text3.Locked = TrueRText1.SelStart = Len(Text3)RText1.SelLength = Le

24、n(RText1.Text) - Len(Text3.Text) RText1.SelColor = vbBlackEnd Sub 单击“开始”按钮进行打字练习后运行界面如下进入登录界面倒计时的代码Private Sub Timer1_Timer()Label10 = a & tIf t = 0 ThenTimer1.Enabled = FalseSSTab1.Tab = 0SSTab1.TabEnabled(0) = TrueSSTab1.TabEnabled(1) = FalseSSTab1.TabEnabled(2) = TrueSSTab1.TabEnabled(3) = TrueSS

25、Tab1.Visible = TrueElset = t - 1End IfEnd Sub开始打字练习的倒计时代码Private Sub Timer2_Timer()Dim m0, s0If t0 = 0 ThenTimer2.Enabled = FalseText3.Locked = TrueElsem0 = t0 60s0 = t0 Mod 60t0 = t0 - 1Label5 = 00: & Format(m0, 00:) & Format(s0, 00)End IfLabel5.ForeColor = vbBlueEnd Sub单击“查看记录”后,运行后界四、课程设计总结(心得) 通

26、过本次的VB实验程序设计,使我对VB课程有进一步的了解,使自己的上机能力有大幅度提升,在设计这个程序时,首先我开始构思程序的内容,再从书本、网上找了一些有关打字程序设计的资料,但是当把基本的弄好了之后,发现了一些棘手的问题,使我无从下手,经过与同学的商讨和老师的指导后,终于明白了其中的奥妙:其实在打字程序上花费最多事时间是在进行字母的比较正确与否并进行记录。最后经过自己的反复尝试以及与同学的讨论,打字练习应用程序最终设计成功。从这一个多星期的设计过程中,使我明白自己动手编程序原来是这么一件快乐的事情。俗话说得好“熟能生巧”,所以不仅是要学会它更加需要会运用它,这次设计程序让我受益良多,我会好好珍惜像这种难得的机会,同时感谢赵老师的耐心指导。

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

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