VB课程设计背单词

  • 格式:doc
  • 大小:161.50 KB
  • 文档页数:17

VB课程设计(论文)任务书土木建筑学院建筑环境与能源应用工程专业 2 班一、课程设计(论文)题目:背单词二、课程设计(论文)工作自年月日起至年月日止三、课程设计(论文) 地点: 计算中心四、课程设计(论文)内容要求:1. 本课程设计的目的(1)进一步巩固和加深对“VB程序设计”课程基本知识的理解和掌握,了解VB 语言在项目开发中的应用。

(2)学习程序设计开发的一般方法,了解和掌握项目开发过程与方式,培养正确的设计思想和分析问题、解决问题的能力,特别是项目设计能力。

(3)通过对标准化、规范化文档的掌握并查阅有关技术资料等,培养项目设计开发能力。

2. 课程设计的任务与要求2.1基本要求:(1) 对系统功能进行需求分析;(2) 使用Visual basic开发环境进行程序开发;(3) 提出系统的设计方案;(4) 提出系统的设计方案;(5) 编写源程序代码并进行调试。

2.2创新要求在基本要求达到后,可进行创新设计。

2.3课程设计报告撰写与装订要求课程设计报告的撰写要求表述简明,图表准确。

报告按如下内容和顺序用A4纸进行打印并装订成册。

(1)封面采用统一的课程设计封面,并按要求填写好封面要求的个人信息和选题。

(2)设计任务书(3)评阅书(4)目录(5)正文(6)主要参考文献2.4 课程设计评分标准:(1)达到课程设计的目的与要求,程序的可读性较好,并调试正确,60分;(2)能正确回答设计的中老师所提问题,可增加10分;(3)课程设计报告书写规范整齐,可增加10分;(4)心得体会认真总结,可增加10分;(5)程序有创新性,可增加10分;成绩评定实行优秀、良好、中等、与格和不与格五个等级。

不与格者需重做。

2.5 课程设计进度安排(1)准备阶段(6学时):选择设计题目、了解设计目的要求、查阅相关资料。

(2)程序模块设计分析阶段(8学时):程序总体设计、详细设计。

(3) 代码编写调试阶段(10学时):程序模块代码编写、调试、测试。

(4) 撰写论文阶段(6学时):总结课程设计任务和设计内容,撰写课程设计论文。

学生签名:20 年月日课程设计(论文)评阅意见评阅人职称20 年月日目录第1章系统概要 (1)1.1窗体概要 (1)1.2窗体运行顺序 (1)第2章总体设计 (2)2.1设计思路 (2)2.2窗体功能与控键 (2)第3章码 (4)第4章运行程序代结果与分析 (9)第5章心得体会 (11)参考文献 (12)第1章系统概要1.1 窗体概要图1-1本窗体包含了多个控件。

整个窗体最上方是用来显示单词的text控件;左下方用了一个Frame,其中是两个Label和三个Combo控件,用来选择单词词库以与单词显示范围;这个框架下方是两个Check和三个Command控件,用来选择单词显示方式以与控制单词的显示;右边也用了一个Frame,其中有对于显示单词的一些其他设置,使用了六个Label、两个Option和四个Hscroll 控件,分别控制显示单词的字体大小、显示速度以与显示单词背景的颜色设置。

1.2 窗体运行顺序控件是应用程序非常重要的组成部分,通过各种控件,应用程序可以实现不同的功能,通过本系统的设计,可以实现如下功能:1.选择词库可以切换四级词汇和六级词汇。

2.选择范围可以从A到Z自由切换范围。

3.选择随机可随机播放单词,并且循环变得不可选,选择循环可以循环播放单词,并且随机变得不可选。

4.播放的单词可以选择字体大小、显示速度、颜色设置。

5.点击开始可开始播放单词,点击暂停可暂停播放。

6.运行结束可在程序主窗体中点击“退出”按钮即可结束运行程序。

第2章总体设计2.1 设计思路背单词软件是英语学习类软件的分支,是专门针对用户背诵英语单词,掌握词汇量而制作的辅助学习软件。

由于媒介为个人电脑,所以背单词软件有着其它背单词工具无法达到的智能化与互动性,但相对应的,过于依赖电脑和较差的便携性成为其缺陷。

所以作为背单词的软件的设计思路应该简单为原则。

用户操作必须简单、方便为原则。

1.本题目提供了“大学英语四级词汇”和“大学英语六级词汇”两个词库文件,通过“词库设置”中的“词库”组合框可以选择想要的词库。

默认的词库是“大学生英语四级词汇”。

2.为了便于用户使用,程序允许选择想要记忆的单词范围,默认的单词范围是“A”至“Z”,即全部单词。

如果选择的范围是“A至C”,那么程序只显示以A,B和C字母开头的单词。

程序应保证“起始字母”在“终止字母”之前,即不会出现类似于“C至A”的情况。

3.据需要选择“随机”或“循环”复选框。

如果不选择“随机”,则显示单词是以单词在词库中的顺序显示的,否则以随机顺序显示,如果不选择“循环”复选框,单词显示一遍之后会自动从头开始显示。

在随机方式之下,循环是没有意义的,所以当“随机”复选框选定时,“循环”复选框应变为无效且呈现为选定状态。

4.毕后,单机“开始”按钮,窗口最上方显示区域从右向左以字幕方式动态显示所选的单词,包括词性和词义。

在相爱你是过程中可以改变字体大小,滚动速度和背景显示颜色。

单击“暂停”按钮可以暂停滚动,这是“暂停”按钮变为“继续”,单击会继续滚动。

单机“退出”按钮退出主界面。

本程序在主窗体设置有“开始”、“暂停”、“结束”、三个子窗体控件。

2.2 窗体功能与控键主窗体提供开始、暂停和结束三个快捷按钮。

当程序运行时,显示主窗体,当用户点击相应的控制按钮时,程序进入相应的运行窗体。

在不同的运行窗体根据控件属性值的相关提示进行下一步操作各窗体控件与其属性值与属性名见下列表(表2-1)。

第3章程序代码Private s() As String, t() As String, r%Private Sub Check1_Click()Check2.Value = 0If Check1.Value = 1 ThenCheck2.Enabled = FalseElseCheck2.Enabled = TrueEnd IfEnd SubPrivate Sub Check2_Click()Check1.Value = 0If Check2.Value = 1 ThenCheck1.Enabled = FalseElseCheck1.Enabled = TrueEnd IfEnd Sub实现随机与循环复选框的选择,选择了随机框则循环框呈不可选择状态,选择了循环框则随机框呈不可选择状态。

Private Sub Combo3_Click()If Combo3.ListIndex < Combo2.ListIndex ThenCombo3.Text = "Z"MsgBox "起始字母必须在终止字母之前", 64, "系统提示"Exit SubEnd IfEnd Sub范围选择防止出现下标大于上标,否则会出现系统提示“起始字母必须在终止字母之前”。

Private Sub Command1_Click()Command2.Enabled = TrueDim nextline As Stringm = 0r = 0If Combo1.Text = "大学英语四级词汇" ThenOpen App.Path + "\大学英语四级词汇.txt" For Input As #1ElseIf Combo1.Text = "大学英语六级词汇" ThenOpen App.Path + "\大学英语六级词汇.txt" For Input As #1End If词库选择Do While Not EOF(1)On Error Resume NextLine Input #1, nextlinem = m + 1ReDim Preserve s(m)s(m) = nextlineIf Asc(Left(s(m), 1)) > Combo2.ListIndex + 96 Thenr = r + 1ReDim Preserve t(r)t(r) = s(m)End IfIf Asc(Left(s(m), 1)) > Combo3.ListIndex + 97 ThenExit DoEnd IfLoop将词库每行数据存入s(m)中,下标对应行号,实现范围选择,并将范围内的每行数据存入t(r)中,下标对应行号。

Close #1Timer1.Enabled = TrueEnd SubPrivate Sub Command2_Click()If Timer1.Enabled = True ThenCommand2.Caption = "继续": Timer1.Enabled = FalseElseCommand2.Caption = "暂停": Timer1.Enabled = TrueEnd IfEnd SubPrivate Sub Command3_Click()If MsgBox("您确定要退出吗?", 4 + 32, "系统提示") = vbNo Then Exit Sub Unload Form1End SubPrivate Sub Form_Load()Move (Screen.Width - Width) / 2, (Screen.Height - Height) / 2窗口显示居中Combo1.List(0) = "大学英语四级词汇"Combo1.List(1) = "大学英语六级词汇"Command2.Enabled = FalseCombo1.Text = Combo1.List(0)For i = 1 To 26Combo2.List(i - 1) = Chr(64 + i)Next iCombo2.Text = Combo2.List(0)Combo2.ListIndex = 0For i = 1 To 26Combo3.List(i - 1) = Chr(64 + i)Next iCombo3.Text = Combo3.List(25)Combo3.ListIndex = 25Option1.Value = TrueCheck1.Value = 0Check2.Value = 0HScroll2.Value = 0HScroll3.Value = 0HScroll4.Value = 0Timer1.Enabled = FalseTimer1.Interval = HScroll1.Max - HScroll1.ValueEnd SubPrivate Sub HScroll1_Change()Timer1.Interval = HScroll1.Max - HScroll1.ValueEnd SubPrivate Sub HScroll1_Scroll()Timer1.Interval = HScroll1.ValueEnd SubPrivate Sub HScroll2_Change()Text1.ForeColor = RGB(HScroll2.Value, HScroll3.Value, HScroll4.Value) Text1.BackColor = Not CLng(Text1.ForeColor) And &HFFFFFFEnd SubPrivate Sub HScroll2_Scroll()Text1.ForeColor = RGB(HScroll2.Value, HScroll3.Value, HScroll4.Value) Text1.BackColor = Not CLng(Text1.ForeColor) And &HFFFFFFEnd SubPrivate Sub HScroll3_Change()Text1.ForeColor = RGB(HScroll2.Value, HScroll3.Value, HScroll4.Value) Text1.BackColor = Not CLng(Text1.ForeColor) And &HFFFFFFEnd SubPrivate Sub HScroll3_Scroll()Text1.ForeColor = RGB(HScroll2.Value, HScroll3.Value, HScroll4.Value) Text1.BackColor = Not CLng(Text1.ForeColor) And &HFFFFFFEnd SubPrivate Sub HScroll4_Change()Text1.ForeColor = RGB(HScroll2.Value, HScroll3.Value, HScroll4.Value) Text1.BackColor = Not CLng(Text1.ForeColor) And &HFFFFFFEnd SubPrivate Sub HScroll4_Scroll()Text1.ForeColor = RGB(HScroll2.Value, HScroll3.Value, HScroll4.Value) Text1.BackColor = Not CLng(Text1.ForeColor) And &HFFFFFFEnd SubPrivate Sub Option1_Click()If Option1.Value = True ThenText1.FontSize = 20End IfEnd SubPrivate Sub Option2_Click()If Option2.Value = True ThenText1.FontSize = 33End IfEnd SubPrivate Sub Timer1_Timer()Static n%, f As BooleanOn Error Resume NextSelect Case Check1.ValueCase 0If n = r And Check2.Value = 1 Thenn = 0ElseIf n = r And Check2.Value = 0 Thenf = FalseTimer1.Enabled = FalseExit SubEnd IfIf f = False Then Text1.Text = Space(46) & t(n + 1)If Len(Text1.Text) > 0 ThenText1.Text = Right(Text1.Text, Len(Text1.Text) - 1): f = TrueElsef = False: n = n + 1End IfCase 1Randomize TimerIf f = False Then Text1.Text = Space(46) & t(Int((r - 1) * Rnd + 1)) If Len(Text1.Text) > 0 ThenText1.Text = Right(Text1.Text, Len(Text1.Text) - 1): f = True Elsef = FalseEnd IfEnd Select终止默认循环End Sub第4章运行结果与分析4. 主窗体运行分析图4-1图4-2首先选择词库,可选大学英语四级词汇和大学英语六级词汇,然后选择范围,以首字母为范围,从A到Z,不可前边的首字母先于后边的首字母,否则系统会提示“起始字母必须在终止字母前”,下边可以选择单词的显示方法,可选随机和循环,选定了其中一个另一个复选框就会变成不可被选中模式。