搜档网
当前位置:搜档网 › VB背单词程序设计

VB背单词程序设计

课程设计(论文)任务书

土木学院土木专业2012-5 班

一、课程设计(论文)题目背单词

二、课程设计(论文)工作自2013 年 6 月 17 日起至 2013 年 6 月 21 日止。

三、课程设计(论文) 地点: 计算中心 501

四、课程设计(论文)内容要求:

1.本课程设计的目的

(1)使学生掌握Visual Basic编程的基本工作原理;

(2)培养学生基本掌握Visual Basic应用编程的基本思路和方法;

(3)使学生掌握Visual Basic应用调试的基本技能;

(4)培养学生分析、解决问题的能力;

(5)提高学生的科技论文写作能力。

2.课程设计的任务及要求

1)基本要求:

(1)分析系统的功能构成;

(2)分析所用控件对象、数据对象及其关联;

(3)实现系统的设计;

(4)对所设计应用进行调试。

2)创新要求:

在基本要求达到后,可进行创新设计,增加功能、改进界面和性能。

3)课程设计论文编写要求

(1)课程设计报告书一律使用由学校统一印制的封面,用A4纸张打印或采用黑色墨水工整书写,并装订成册。

(2)课程设计装订顺序为:封面、设计任务书(含评语)、设计内容、设计小结

4)答辩与评分标准:

(1)系统功能分析:25分;

(2)完成设计过程:25分;

(3)完成调试:25分;

(4)回答问题:25分。

5)参考文献:

(1)吴昊.Visual Basic程序设计教程,中国铁道出版社,2006.12

(2) 杨仓杰出.Visual Basic经典范例,清华大学出版社,2001.10

(3) https://www.sodocs.net/doc/011618462.html,/

6)课程设计进度安排

内容天数地点

构思及收集资料2图书馆

设计与调试3计算机中心501

撰写论文2计算机中心501

学生签名:

2013 年6 月20日

课程设计(论文)评审意见

(1)完成原理分析(25分):优()、良()、中()、一般()、差();

(2)设计分析(25分):优()、良()、中()、一般()、差();

(3)完成调试(25分):优()、良()、中()、一般()、差();

(4)回答问题(25分):优()、良()、中()、一般()、差();

(5)格式规范性及考勤是否降等级:是()、否()

评阅人:职称:

2013 年6 月日

目录

《程序设计语言(VB)》课程设计 (1)

一.功能描述 (1)

二.概要设计 (2)

三.关键控件 (3)

四.控件属性 (4)

五.详细设计 (5)

六.效果及存在问题(解决方法) (9)

七.心得体会 (11)

《程序设计语言(VB)》课程设计

摘要

随着软件技术的不断更新发展,利用计算机查找自己需要的信息,在生活生产中扮演着极为重要的角色, Windows 环境下的Visual Basic 提供了丰富的查询功能.本文主要通过对选题的功能描述, 概要设计, 详细设计, 效果及存在问题,代码,编写及调试以及软件使用说明等的介绍, 介绍了利用Visual Basic 对"列车时刻查询"应用软件的开发设计过程,并分析了所开发软件系统的优点和不足。

一.功能描述

1.如图所示,设计这样的界面。最上面的Picture1中有个label1

2.picture1是用来显

示单词的,而且单词在图片框中随时间定时向左移动。

2.左边有个框架1,用来选中单词题库和所要查找单词的首字母范围。从左边首字

母开始,右边首字母单词结束

3.框架1下面有两个复选框,用来产生单词的形式是随机或者循环。

4.右边有一个框架2,可以改变图片框中字体的大小,小字体是十六号字,大字体

是24号字;有单词流动速度的功能,通过滚动条实现,点击滚动条右边,加快

单词流动,点击左边减慢,移动滚动条也是;有改变图片框背景色的功能,是一

个红绿蓝调色板

5.最下面有三个命令按钮,第一个是开始显示单词,第二个是暂停和继续,如果显

示是暂停,点击一次后就是继续,反之。第三个是退出系统。

6.整体效果如果所示

二.概要设计

1.首先用input打开四级或者六级单词:通过combo1的list属性下标值来实现,如果是0,打开四级单词库,如果是1,打开六级单词词库

2.用line input逐行读文件1 ,并且用EOF函数提取文件1的行数,将读出的,并且用do…loop 循环确定行数n。

3.确定picture1的label12中出现的单词是符合搜索范围:字符串变量words中有单词,用ASC将单词变成ASCII码数字,即有相同开头字母单词有一个数代表,再用chr函数转换成字母。用Lcase函数将combo2和comno3中字母变成小写字母。如果两个会相等,就可以把符合要求范围的单词找出来

4.显示在picture1的label12中:单词是显示在label12的caption属性中,所以直接用label12.caption=words()就可以显示出单词在picture1

5.随机产生单词或循环产生:首先根据复选框的value属性值来选择是随机还是循环。如果复选框chkrand的属性值是1,则表示选中,用RND函数随机返回值,计算出的值代表一个单词,就可以执行随机的命令。因此复选框chkloop的属性值为0,表示未选中。

反之效果也成立。

6设计字体大小:通过设计option的value逻辑性的属性值来实现选中哪种字体,true表示选中,则再用fontsize赋值就可以,赋给label12.fontsize=16就是小字体,label12.fontsize=24就是大字体。

7.设置单词流动速度:用滚动条实现,滚动条1的value值,反映了滚动条的当前值,每个值都与timer计时器的interval值相对应,就能使计时器触发事件的时间间隔发生改变。

8. 改变picture1的背景色:也是通过滚动条来实现的。是RGB三原色改变。RGB(a,b;c),其中abc是0~255的整数,返回颜色。

9.以上大多数都是写在命令控件中的,所以点击command时,就能发生相应的事件。单击Command1,就能打开文件,并且找到符合范围的单词,command2可以使单词暂停流动,或继续流动。Command3使程序停止。

三.关键控件

1.按钮控件:

本程序中运用大量按钮控件,分别控制“开始”,“退出”,“暂停”

2.标签控件:

本程序使用大量标签控件,共12个,其中一个在图片框中

3.组合框控件:

共有三个组合框,分别控制词库范围,首选字母范围的选择

4.滚动条控件

有四个滚动条,控制滚动速度,图片框背景色的更改

5.复选框控件

通过对复选框按钮的选择,选择播放方式(随机或循环)

6.单选按钮控件

选择字体的大小

7.图片框控件

单词显示的地方,放有label12

8.文本框

构成滚动字体

9.计时器

周期性的触发计时器事件四.控件属性

五.详细设计

Option Explicit '强制声明变量

Option Base 1

Dim words$(), X$ '定义变量

Dim n%, j%, k%

Dim i%

Dim hb%, tb%, xn%

Private Sub chkRand_Click()

'通过设置chkrand和chkloop的value属性来实现产生单词的方式是随机还是循环If chkRand.Value = 1 Then

chkLoop.Value = 0

chkLoop.Enabled = False

Else

chkLoop.Enabled = True

End If

End Sub '结束本程序

Private Sub command1_Click() '单击command1 开始产生单词

Label12.Left = Picture1.Left + Picture1.Width

If Combo1.Text = Combo1.List(0) Then '通过设置list属性下标值来实现打开哪种文件

Open App.Path & "\grade4.txt" For Input As #1 '打开四级单词文件Else

Open App.Path & "\grade6.txt" For Input As #1 '打开六级单词文件End If

n = 0

Do Until EOF(1) '提取文件行数

n = n + 1

ReDim Preserve words(n) '保留单词

Line Input #1, words(n) '读文件1

Loop '这是一个do..loop循环结构

Close #1

tb = 1

Do Until Chr(Asc(words(tb))) = LCase(Combo2.Text) '将combo2.text中的大写字母转换成小写的

tb = tb + 1

Loop

xn = n

Do Until Chr(Asc(words(xn))) = LCase(Combo3.Text) '将combo3.text中的大写字母转换成小写的

xn = xn - 1

Loop

hb = tb

Timer1.Enabled = True '使得计时器有效

Timer2.Enabled = True

command2.Enabled = True '使得command2有效,可以使用暂停功能

command2.Caption = "暂停"

End Sub '结束command1命令过程

Private Sub command2_Click()

If command2.Caption = "暂停" Then '如果command2的caption属性是暂停command2.Caption = "继续" 'caption属性变成继续

Timer1.Enabled = False '计时器1无效

Timer2.Enabled = False '计时器2无效

Else

command2.Caption = "暂停"

Timer1.Enabled = True '否则计时器1.2都有效

Timer2.Enabled = True

End If

End Sub ' 结束command2命令过程

Private Sub command3_Click()

End 'command3的功能是结束运行程序

End Sub

Private Sub Combo2_click()

If Combo2 > Combo3 Then Combo3 = Combo2 '选择combo2字母的范围时,如果前者大于后者,则范围就是前者的那个字母

End Sub

Private Sub Combo3_Click()

If Combo2.ListIndex > Combo3.ListIndex Then Combo3.ListIndex = Combo2.ListIndex '选择combo3字母的范围时,如果前者大于后者,则范围就是前者的那个字母

End Sub

Private Sub Form_Load()

Dim i%

For i = 0 To 25 '用循环结构,共有26个字母

Combo2.AddItem Chr(65 + i) 'chr函数ASCII码转换成字符,在combo2中添加项

Combo3.AddItem Chr(65 + i) 'chr函数ASCII码转换成字符,在combo3中添加项Next

Combo1.ListIndex = 0

Combo2.ListIndex = 0

Combo3.ListIndex = 25

End Sub

Private Sub HScroll1_Change()

Timer2.Interval = HScroll1.Value '利用计时器2的interval属性值等于hscroll1的value 属性值实现单词的流动速度

End Sub

Private Sub HScroll2_Change() '触发HScroll2的change事件时,改变它的value 值,即红色的深度,来实现picture1的背景色的改变

Picture1.BackColor = RGB(HScroll2.Value, HScroll3.Value, HScroll4.Value)

Label12.ForeColor = Not CLng(Picture1.BackColor) And &HFFFFFF

End Sub

Private Sub HScroll2_scroll() '当在滚动条2内拖动滚动块时触发此事件,改变picture1的背景色

Picture1.BackColor = RGB(HScroll2.Value, HScroll3.Value, HScroll4.Value)

Label12.ForeColor = Not CLng(Picture1.BackColor) And &HFFFFFF

End Sub

Private Sub HScroll3_Change() '触发HScroll3的change事件时,改变它的value值,即绿色的深度,来实现picture1的背景色的改变

Picture1.BackColor = RGB(HScroll2.Value, HScroll3.Value, HScroll4.Value)

Label12.ForeColor = Not CLng(Picture1.BackColor) And &HFFFFFF

End Sub

Private Sub HScroll3_scroll() '当在滚动条3内拖动滚动块时触发此事件,改变picture1的背景色

Picture1.BackColor = RGB(HScroll2.Value, HScroll3.Value, HScroll4.Value)

Label12.ForeColor = Not CLng(Picture1.BackColor) And &HFFFFFF

End Sub

Private Sub HScroll4_Change() '触发HScroll4的change事件时,改变它的value值,即蓝色的深度,来实现picture1的背景色的改变

Picture1.BackColor = RGB(HScroll2.Value, HScroll3.Value, HScroll4.Value)

Label12.ForeColor = Not CLng(Picture1.BackColor) And &HFFFFFF

End Sub

Private Sub HScroll4_scroll() '当在滚动条4内拖动滚动块时触发此事件,改变picture1的背景色

Picture1.BackColor = RGB(HScroll2.Value, HScroll3.Value, HScroll4.Value)

Label12.ForeColor = Not CLng(Picture1.BackColor) And &HFFFFFF

End Sub

Private Sub Option1_Click() '单击单选按钮1时

If Option2.Value = True Then ' 如果单选按钮2的value属性为true时Label12.FontSize = 24 'label12中单词为24号字体,就是大字体Else

Label12.FontSize = 16 '否则为16号字,就是小字体

End If

End Sub

Private Sub Option2_Click() '单击单选按钮2时

If Option2.Value = True Then ' 如果单选按钮2的value属性为true时Label12.FontSize = 24 'label12中单词为24号字体,就是大字体Else

Label12.FontSize = 16 '否则为16号字,就是小字体End If

End Sub

Private Sub Timer2_Timer()

If command2.Caption = "继续" Then '如果command2的caption属性为继续就退出sub子过程

Exit Sub

End If

Label12.Left = Label12.Left - 100 '单击向左移动100

If hb <= xn Then

If Label12.Left + Label12.Width + 500 > Picture1.Left Then

Label12.Caption = words(hb) ‘在标签12中显示单词

Else

If chkRand.V alue = 1 Then

hb = Rnd * (xn - tb) + tb

Else

hb = hb + 1

End If

Label12.Left = Picture1.Left + Picture1.Width + 1000

End If

Else

If chkLoop.Value = 1 Then

hb = tb

Else

Timer1.Enabled = False '计时器1无效

Timer2.Enabled = False '计时器2无效

command2.Enabled = False

command2.Caption = "暂停"

End If

End If

End Sub

六效果及存在问题(解决方法)

1.开始界面

2.运行界面

选好要查找单词范围,随机或循环可以自由选择,拖动滚动条,选择字体大小,单击开始,就产生单词,单击暂停就停止,继续单击就继续产生单词,单击退出就退出界面

3.存在问题(解决方法)

A.无法打开文件,因为用了output,应该用input

B.计时器无法停止工作,开始设置它的enable属性为true,开始应该设置为false

因为后面有在代码中用到

七.心得体会

(1)保持良好的学习心态

1、要有自信,自强,积极主动学习.

2、克服畏难情绪,树立学好程序设计的信心

(2)要有良好的学习习惯

1、课前预习,认真听课并适当做些笔记,课后要认真复习消化所学内容,完成作业.

2、VB程序设计的入门学习并不难,但却是一个十分重要的过程,因为程序设计思想就在这时形成的,良好的程序设计习惯也在这个阶段养成.

(3)学习程序设计要注重理解一些重要的概念.

VB程序设计本身并不复杂,翻开一本程序设计学习的书籍,看到的无非就是变量,函数,条件语句,循环语句等概念.但要真正能进行程序设计,需要深入理解这些概念.因此,在程序入门阶段还是应该重视概念的学习.

(4)自己动手编写程序

程序设计入门阶段要经常自己动手抄写或编写一些小程序,亲自动手进行程序设计是创造性思维应用的体现,是培养逻辑思维的好方法.因此一定要多动手编写程序,而且要从小程序开发开始,逐渐提高写程序的能力.

(5)阅读,借签别人设计的好程序

多看别人设计好的程序代码,包括教材上的例题程序.在读懂别人程序后,要想他为什么这么设计能不能将程序修改完成更多的功能则可以学到别人优秀的东西,帮助自己提高自身水平.

(6) VB程序设计学习的重点

1、程序设计课是高强度的脑力劳动,不是听会的,也不是看会的,而是练会的.

2、只有自己动手,编写一些程序,才会有成就感,进而对课程产生兴趣,学起来才比较从容.等你在编写大量程序之后,我想过二级肯定没问题,不过能不能做到真知灼见,运用自如我就不敢说了.

3、动手能力的培养是这门课和以往课程最大的不同之处.重点放在思路,算法,编程构思和程序实现上.语句只是表达工具,要求堂上积极思考,尽量当堂学懂,并做到灵活应用.

相关主题