vb课程设计计算器Word文档下载推荐.docx
- 文档编号:19493501
- 上传时间:2023-01-06
- 格式:DOCX
- 页数:14
- 大小:218.42KB
vb课程设计计算器Word文档下载推荐.docx
《vb课程设计计算器Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《vb课程设计计算器Word文档下载推荐.docx(14页珍藏版)》请在冰豆网上搜索。
五、成绩
六、教师评语
目录
一、需求分析……………………………3
二、设计分析……………………………4
三、技术要点……………………………5
四、主界面截图…………………………8
五、总结………………………………….11
六、完整的源程序……………………..12
七、参考文献……………………………20
一、需求分析
设计一个背单词系统。
模拟英语词库由学生自行编写。
1)运行界面上安放Label,TextBox,CheckBox,OptionButton,ComboBox,HScrollBox,Timer,CommandButton控件。
2)可打开“大学英语四级词库”或“大学英语六级词库”,读取有效内容。
3)能够实现改变背景色,字体大小,显示速度。
4)可选择显示单词的字首字母范围。
5)程序可“暂停”“继续”,并可“退出”。
6)点击“使用说明”,可提示相应说明。
二、设计分析
(1)基本原理:
创建程序和各按钮,建立相应控件与数据文件的连接。
(2):
总体设计:
(3)详细设计:
三、技术要点
A、时钟与滚动
将时钟的Interval设定为显示速度滚动条的值的线性函数(Timer1.Interval=HScroll1.Value*20),时钟的速度便由滚动条的值控制,成为为可调的。
为了循环的执行,这里定义一个随机变量k。
随着时钟计时,当text1中显示内容从左起的第一个字符的ASCII码大于零,则其字幕显示为前一个词从第四位开始取长度为这个词长度减三的部分和后一个词前三位部分,k=k+3。
而当text1中显示内容从左起的第一个字符的ASCII码小于零,则其字幕显示为前一个词从第二位开始取长度为这个词长度减一的部分和后一个词第一位部分,k=k+1。
如此便形成了字幕可以以不同速度滚动的效果。
B、词库选择与调用文档
当词库选择的组合框1选择大学英语四级词汇时,便open大学英语四级词汇的文本文档命名为#1以input形式使用;
当词库选择的组合框1选择大学英语六级词汇时,便open大学英语六级词汇的文本文档命名为#1以input形式使用。
注意:
文档中的单词按顺序排列,一行一个,首字前有四个空格,每一次首字母变化前加入书写“/”的一行,以便后面设定范围之用。
通过while循环,文档内容以字符串nextline按行输入遇到“/”则显示空白。
C、范围设定
范围设定有两个方面。
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、对随机显示的控制
未选择复选框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,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编程水平有了很大的提高。
从最开始编写这个程序到程序运行,经过对程序的反复调试与修改,深刻感受到编写一个程序是一个漫长而辛苦的过程,需要编程人员具备足够的耐心与细心。
与此同时也培养我们查阅知识并通过自学掌握知识的能力。
程序的入手阶段是困难的,首先要做一些准备工作。
要了解这个程序是干什么的,它应具备怎样的功能。
当明确了这些问题以后,就要针对不同的功能逐一的思考实现该功能的方法。
对于每一个功能的实现需要用到那些知识,通过查阅相关知识,做到心中有数,再进行编程。
编程时要先制定一个大的框架,用几个模块,什么模块,那些事件过程,那些通用过程,当大致的轮廓出来后再进行深一步的编写,考虑语句的语法、逻辑,各个通用过程的调用,事件过程的实现。
这里会遇到真正难以解决的问题,要再次通过查阅多方资料并结合认真思考来寻找解题思路。
当然在编程的过程中最重要的一点就是善于总结,这样可以避免重蹈覆辙。
在程序编写结束后,更要进行总结,认真思考怎样编写一个过程是简便快捷的,在下次遇到同样问题时可以节省时间,提高效率。
这次做课程设计,了解了程序的编制过程和基本的思维方法,同时也对编程产生了浓厚的兴趣,希望能在课余时间多编制一些这样的小程序,可以学到更多的知识,同时提高编程的速度,锻炼思考方式,为我们今后的学习打下一个良好的基础。
六、完整的源程序
(1)主界面(Form1):
Dimi%,k%,m%,r%
PrivateSubCheck1_Click()
Check2.Value=0
IfCheck1.Value=1Then
Check2.Enabled=False
Else
Check2.Enabled=True
EndIf
EndSub
‘实现随机与循环复选框的选择
PrivateSubCombo2_click()
Combo3_Click
PrivateSubCombo3_Click()
IfCombo3.ListIndex<
Combo2.ListIndexThen
Combo3.Text="
"
‘防止出现上标大于下标出现
PrivateSubCommand1_Click()
Command2.Enabled=True
Dimj%,n%
Dims()AsString
Dimt()AsString
j=0
k=0
m=0
r=0
Timer1.Interval=HScroll1.Value*20
IfCombo1.Text="
大学英语四级词汇"
Then
Open"
E:
\背单词程序完整\大学英语四级.txt"
ForInputAs#1
ElseIfCombo1.Text="
大学英语六级词汇"
\背单词程序完整\大学英语六级词汇.txt"
‘词库选择
DoWhileNotEOF
(1)
OnErrorResumeNext
LineInput#1,nextline
m=m+1
ReDimPreserves(m)
s(m)=nextline
Ifnextline="
/"
j=j+1
s(m)="
IfAsc(Mid(s(m),5,1))>
Combo2.ListIndex+96Then
r=r+1
ReDimPreservet(r)
t(r)=s(m)
Ifj>
Combo3.ListIndexThen
ExitDo
Loop
‘将词库每行数据存入s(n)中,下标对应行号。
实现范围选择,并将范围内的每行数据存入t(r)中,下标对应行号。
SelectCaseCheck1.Value
Case0
Text1.Text="
Forn=1Tor
Text1.Text=Text1.Text&
t(n)
Nextn
Text1.Text="
"
&
Text1.Text
‘未选择随机时的文本输出
Case1
Dima()AsString
DimY%,X%,z%
z=r-1
Forn=1Tor-1
Randomize
Y=Int((z-1)*Rnd)+1
ReDimPreservea(n)
a(n)=t(Y)
ForX=YToz-1
t(X)=t(X+1)’将t()中已经选择存入a(n)中的元素剔除
NextX
z=z-1
Nextn’将t(r)中的全部元素以随机的顺序存入a(n)
a(n)
‘随机方式输出
EndSelect
Close
Timer1.Enabled=True
IfCommand2.Caption="
继续"
Command2.Caption="
暂停"
i=i+1
PrivateSubCommand2_Click()
IfiMod2=0Then
:
Timer1.Enabled=False
Timer1.Enabled=True
PrivateSubCommand3_Click()
大学英语四六级.Visible=True
Form1.Visible=False
PrivateSubCommand4_Click()
Form2.Visible=True
PrivateSubCommand5_Click()
Text1.Text=Mid(Text1.Text,11,Len(Text1.Text)-10)&
Left(Text1.Text,10)’使滚动字幕左移10位
PrivateSubCommand6_Click()
Text1.Text=Mid(Text1.Text,Len(Text1.Text)-9,10)&
Left(Text1.Text,Len(Text1.Text)-10)’使滚动字幕右移10位
PrivateSubForm_Load()
Move(Screen.Width-Width)/2,(Screen.Height-Height)/2’窗口显示居中
Combo1.List(0)="
Combo1.List
(1)="
Command2.Enabled=False
Combo1.Text=Combo1.List(0)
Combo2.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"
Combo2.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)="
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=0
Combo2.Text=Combo2.List(0)
Combo3.List(0)="
Combo3.List
(1)="
Combo3.List
(2)="
Combo3.List(3)="
Combo3.List(4)="
Combo3.List(5)="
Combo3.List(6)="
Combo3.List(7)="
Combo3.List(8)="
Combo3.List(9)="
Combo3.List(10)="
Combo3.List(11)="
Combo3.List(12)="
Combo3.List(13)="
Combo3.List(14)="
Combo3.List(15)="
Combo3.List(16)="
Combo3.List(17)="
Combo3.List(18)="
Combo3.List(19)="
Combo3.List(20)="
Combo3.List(21)="
Combo3.List(22)="
Combo3.List(23)="
Combo3.List(24)="
Combo3.List(25)="
Combo3.ListIndex=25
Combo3.Text=Combo3.List(25)
Option1.Value=True
Check1.Value=0
HScroll2.Value=255
HScroll3.Value=255
HScroll4.Value=255
PrivateSubHScroll1_Change()
PrivateSubHScroll2_Change()
Text1.BackColor=RGB(HScroll2.Value,HScroll3.Value,HScroll4.Value)
PrivateSubHScroll3_Change()
PrivateSubHScroll4_Change()
PrivateSubOption1_Click()
IfOption1.Value=TrueThen
Text1.FontSize=14
PrivateSubOption2_Click()
IfOption2.Value=TrueThen
Text1.FontSize=20
PrivateSubTimer1_Timer()
IfAsc(Left(Text1.Text,1))>
0Then
Text1.Text=Mid(Text1.Text,4,Len(Text1.Text)-3)&
Left(Text1.Text,3)
k=k+3
Text1.Text=Mid(Text1.Text,2,Len(Text1.Text)-1)&
Left(Text1.Text,1)
k=k+1
SelectCaseCheck2.Value
Ifk>
Len(Text1.Text)Then
EndSelect’终止默认循环
使用说明
Form2.Hide
Form1.Show
七、参考文献
[1]龚沛曾杨志强陆慰民《VisualBasic程序设计教程》,高等教育出版社2009
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- vb 课程设计 计算器