vb课程设计(计算器)_第1页
vb课程设计(计算器)_第2页
vb课程设计(计算器)_第3页
vb课程设计(计算器)_第4页
vb课程设计(计算器)_第5页
已阅读5页,还剩16页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、沈阳航空航天大学设计用纸沈 阳 航 空 航 天 大 学 课程设计学 号 班 级 姓 名 指导教师 2012年 7 月 1日0课程设计任务书学院: 航空宇航工程学部 专业:飞行器制造工程 班级:学号: 题目:我爱背单词一、课程设计时间201112第2学期 第17周,共计1周,20学时。二、课程设计内容 设计一个背单词系统。词库为“大学英语四级词库”或“大学英语六级词库”,可选择记忆单词的范围可选择单词的显示方式为“循环”或“随机”,可调整单词显示时的字体、大小和颜色等,可选择单词切换的速度。模拟英语词库由学生自行编写,参考界面如下。三、课程设计要求程序质量:² 贯彻事件驱动的程序设计思

2、想。² 用户界面友好,功能明确,操作方便;可以增加其它功能或修饰。² 代码应适当缩进,并给出必要的注释,以增强程序的可读性。课程设计说明书:² 课设结束后,上交课程设计说明书和源程序。课程设计说明书的内容参见提供的模板。四、指导教师和学生签字指导教师:_ 学生签名:_五、成绩六、教师评语目 录一、 需求分析3二、 设计分析4三、 技术要点5四、 主界面截图8五、 总结.11六、 完整的源程序.12七、 参考文献20 一、需求分析设计一个背单词系统。词库为“大学英语四级词库”或“大学英语六级词库”,可选择记忆单词的范围可选择单词的显示方式为“循环”或“随机”,可调整

3、单词显示时的字体、大小和颜色等,可选择单词切换的速度。模拟英语词库由学生自行编写。1) 运行界面上安放Label,TextBox,CheckBox,OptionButton,ComboBox,HScrollBox,Timer,CommandButton控件。2) 可打开“大学英语四级词库”或“大学英语六级词库”,读取有效内容。3) 能够实现改变背景色,字体大小,显示速度。4) 可选择显示单词的字首字母范围。5) 程序可“暂停”“继续”,并可“退出”。6) 点击“使用说明”,可提示相应说明。二、设计分析(1)基本原理:创建程序和各按钮,建立相应控件与数据文件的连接。(2):总体设计:读取词库文件

4、显示(3)详细设计:点击开始读取词库文件选择词库及播放方式文本框按相应字体大小,背景颜色,播放速度显示。 三、技术要点A、时钟与滚动 将时钟的Interval设定为显示速度滚动条的值的线性函数(Timer1.Interval = HScroll1.Value * 20),时钟的速度便由滚动条的值控制,成为为可调的。为了循环的执行,这里定义一个随机变量k。随着时钟计时,当text1中显示内容从左起的第一个字符的ASCII码大于零,则其字幕显示为前一个词从第四位开始取长度为这个词长度减三的部分和后一个词前三位部分,k=k+3。而当text1中显示内容从左起的第一个字符的ASCII码小于零,则其字幕

5、显示为前一个词从第二位开始取长度为这个词长度减一的部分和后一个词第一位部分,k=k+1。如此便形成了字幕可以以不同速度滚动的效果。B、词库选择与调用文档 当词库选择的组合框1选择大学英语四级词汇时,便open大学英语四级词汇的文本文档命名为#1以input形式使用;当词库选择的组合框1选择大学英语六级词汇时,便open大学英语六级词汇的文本文档命名为#1以input形式使用。注意:文档中的单词按顺序排列,一行一个,首字前有四个空格,每一次首字母变化前加入书写“/”的一行,以便后面设定范围之用。通过while循环,文档内容以字符串nextline按行输入遇到“/”则显示空白。C、范围设定 范围设

6、定有两个方面。1)若下限比上限小,下限设定为空白。如此便满足了下限不比上限小的要求。2)组合框2和3 是用来设定范围的,他们的每个选项都有一个编号ListIndex。设定上限时,我们再一次用到ASCII码。当用来存放nextline的数组s( )的元素s(m)的第五位(即单词首字母)的ASCII码比组合框2 的ListIndex+96的值大的时候,用来存放有效字符串的数组t(r)的下标r开始计数。令s(m)=t(r),则上限设定成功。设定下限时,我们用变量j 来对“ /”计数。当j比组合框3的ListIndex大时,跳出while循环。如此,下限便得到了控制。 D、对随机显示的控制 未选择复选

7、框1时,用for循环按Text1.Text = Text1.Text & t(n)使字幕顺序显示;选择时,用Randomize产生1到r-1之间的随机数,将r的值依次存入到数组a(n)中,用for循环按 Text1.Text = Text1.Text & t(a(n)使字幕随机显示。 E、循环控制 由于时钟不会停,系统默认的是循环,所以我们只需对不选复选框2的情况进行控制。我们在A中提到的k值,在这里开始显示作用。当k的值大于text1显示内容的总长度后,输出空白,即不循环。F、字幕的左右移动 当点击按钮5时,我们用Text1.Text = Mid(Text1.Text, 11

8、, Len(Text1.Text) - 10) & Left(Text1.Text, 10)来使字幕左移;当点击按钮6时,我们用 Text1.Text = Mid(Text1.Text, Len(Text1.Text) - 9, 10) & Left(Text1.Text, Len(Text1.Text) - 10)来使字幕右移。四、主要界面截图 五、总结通过这次课程设计,VB编程水平有了很大的提高。从最开始编写这个程序到程序运行,经过对程序的反复调试与修改,深刻感受到编写一个程序是一个漫长而辛苦的过程,需要编程人员具备足够的耐心与细心。与此同时也培养我们查阅知识并通过自学掌握

9、知识的能力。程序的入手阶段是困难的,首先要做一些准备工作。要了解这个程序是干什么的,它应具备怎样的功能。当明确了这些问题以后,就要针对不同的功能逐一的思考实现该功能的方法。对于每一个功能的实现需要用到那些知识,通过查阅相关知识,做到心中有数,再进行编程。编程时要先制定一个大的框架,用几个模块,什么模块,那些事件过程,那些通用过程,当大致的轮廓出来后再进行深一步的编写,考虑语句的语法、逻辑,各个通用过程的调用,事件过程的实现。这里会遇到真正难以解决的问题,要再次通过查阅多方资料并结合认真思考来寻找解题思路。当然在编程的过程中最重要的一点就是善于总结,这样可以避免重蹈覆辙。在程序编写结束后,更要进

10、行总结,认真思考怎样编写一个过程是简便快捷的,在下次遇到同样问题时可以节省时间,提高效率。    这次做课程设计,了解了程序的编制过程和基本的思维方法,同时也对编程产生了浓厚的兴趣,希望能在课余时间多编制一些这样的小程序,可以学到更多的知识,同时提高编程的速度,锻炼思考方式,为我们今后的学习打下一个良好的基础。六、完整的源程序(1)主界面(Form1):Dim i%, k%, m%, r%Private Sub Check1_Click()Check2.Value = 0If Check1.Value = 1 ThenCheck2.Enabled = FalseE

11、lseCheck2.Enabled = TrueEnd IfEnd Sub实现随机与循环复选框的选择Private Sub Combo2_click()Combo3_ClickEnd SubPrivate Sub Combo3_Click()If Combo3.ListIndex < Combo2.ListIndex ThenCombo3.Text = ""End IfEnd Sub防止出现上标大于下标出现Private Sub Command1_Click()Command2.Enabled = TrueDim j%, n%Dim s() As StringDim

12、t() As Stringj = 0k = 0m = 0r = 0Timer1.Interval = HScroll1.Value * 20If Combo1.Text = "大学英语四级词汇" ThenOpen "E:背单词程序完整大学英语四级.txt" For Input As #1ElseIf Combo1.Text = "大学英语六级词汇" ThenOpen "E:背单词程序完整大学英语六级词汇.txt" For Input As #1End If词库选择Do While Not EOF(1)On Erro

13、r Resume NextLine Input #1, nextlinem = m + 1ReDim Preserve s(m)s(m) = nextlineIf nextline = " /" Thenj = j + 1s(m) = ""End IfIf Asc(Mid(s(m), 5, 1) > Combo2.ListIndex + 96 Thenr = r + 1ReDim Preserve t(r)t(r) = s(m)End IfIf j > Combo3.ListIndex ThenExit DoEnd IfLoop将词库每行数据

14、存入s(n)中,下标对应行号。实现范围选择,并将范围内的每行数据存入t(r)中,下标对应行号。Select Case Check1.ValueCase 0Text1.Text = ""For n = 1 To rText1.Text = Text1.Text & t(n)Next nText1.Text=" " & Text1.Text 未选择随机时的文本输出 Case 1Dim a() As StringDim Y%, X%, z%Text1.Text = ""z = r - 1For n = 1 To r - 1R

15、andomizeY = Int(z - 1) * Rnd) + 1ReDim Preserve a(n)a(n) = t(Y)For X = Y To z - 1t(X) = t(X + 1)将t()中已经选择存入a(n)中的元素剔除Next Xz = z - 1Next n将t(r)中的全部元素以随机的顺序存入a(n)For n = 1 To r - 1Text1.Text = Text1.Text & a(n)Next nText1.Text=" " & Text1.Text 随机方式输出End SelectCloseTimer1.Enabled = T

16、rueIf Command2.Caption = "继续" ThenCommand2.Caption = "暂停"i = i + 1End SubPrivate Sub Command2_Click()If i Mod 2 = 0 ThenCommand2.Caption = "继续": Timer1.Enabled = FalseElseCommand2.Caption = "暂停": Timer1.Enabled = TrueEnd Ifi = i + 1End SubPrivate Sub Command3_

17、Click()大学英语四六级.Visible = TrueForm1.Visible = FalseEnd SubPrivate Sub Command4_Click()Form2.Visible = TrueEnd SubPrivate Sub Command5_Click()Text1.Text = Mid(Text1.Text, 11, Len(Text1.Text) - 10) & Left(Text1.Text, 10)使滚动字幕左移10位End SubPrivate Sub Command6_Click()Text1.Text = Mid(Text1.Text, Len(T

18、ext1.Text) - 9, 10) & Left(Text1.Text, Len(Text1.Text) - 10)使滚动字幕右移10位End 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)Com

19、bo2.List(0) = "A"Combo2.List(1) = "B"Combo2.List(2) = "C"Combo2.List(3) = "D"Combo2.List(4) = "E"Combo2.List(5) = "F"Combo2.List(6) = "G"Combo2.List(7) = "H"Combo2.List(8) = "I"Combo2.List(9) = "J"Com

20、bo2.List(10) = "K"Combo2.List(11) = "L"Combo2.List(12) = "M"Combo2.List(13) = "N"Combo2.List(14) = "O"Combo2.List(15) = "P"Combo2.List(16) = "Q"Combo2.List(17) = "R"Combo2.List(18) = "S"Combo2.List(19) = "

21、T"Combo2.List(20) = "U"Combo2.List(21) = "V"Combo2.List(22) = "W"Combo2.List(23) = "X"Combo2.List(24) = "Y"Combo2.List(25) = "Z" Combo2.ListIndex = 0Combo2.Text = Combo2.List(0)Combo3.List(0) = "A"Combo3.List(1) = "B&quo

22、t;Combo3.List(2) = "C"Combo3.List(3) = "D"Combo3.List(4) = "E"Combo3.List(5) = "F"Combo3.List(6) = "G"Combo3.List(7) = "H"Combo3.List(8) = "I"Combo3.List(9) = "J"Combo3.List(10) = "K"Combo3.List(11) = "L&q

23、uot;Combo3.List(12) = "M"Combo3.List(13) = "N"Combo3.List(14) = "O"Combo3.List(15) = "P"Combo3.List(16) = "Q"Combo3.List(17) = "R"Combo3.List(18) = "S"Combo3.List(19) = "T"Combo3.List(20) = "U"Combo3.List(21) =

24、 "V"Combo3.List(22) = "W"Combo3.List(23) = "X"Combo3.List(24) = "Y"Combo3.List(25) = "Z" Combo3.ListIndex = 25Combo3.Text = Combo3.List(25)Option1.Value = TrueCheck1.Value = 0Check2.Value = 0HScroll2.Value = 255HScroll3.Value = 255HScroll4.Value = 255End SubPrivate Sub HScroll1_Change()Timer1.Interval = HScroll1.Value * 20End SubPrivate Sub HScroll2_Change()Text1.BackColor = RGB(HScroll2.Value, HScroll3.Value, HScroll4.Value)End SubPrivate Sub HScroll3_Change()Text1.BackColor = RGB(H

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论