课程设计报告2333刘奇峰.docx
《课程设计报告2333刘奇峰.docx》由会员分享,可在线阅读,更多相关《课程设计报告2333刘奇峰.docx(11页珍藏版)》请在冰豆网上搜索。
课程设计报告2333刘奇峰
石家庄铁道大学课程设计
课程设计题目
微型小助手
单位材料科学与工程学院
专业材料类
学号20102333
学生姓名刘奇峰
指导教师李中华
完成日期2011年7月5日
摘要
二十一世纪是科技腾飞的时代,计算机的发展是一个重大的科技成果。
通过一学期的visualbasic学习,让我深刻的了解到了编程的巨大用处与好处。
介于此我也是对这门学科进行了认真的学习。
通过这次课程设计的机会展示给老师。
再选题之后我与孙林共同合作制作了微型小助手,其中包括:
数字时钟、电话本、记事本、简易计算器、日历、相册。
其中我负责简易计算器、日历、相册的程序设计。
通过学习了visualbasic语言应用vb开发工具,利用响应鼠标事件即可制作简易计算器,响应鼠标事件即:
当用户运算时们可以用鼠标直接点击界面数字键、运算符以及更功能按钮进行运算(其中包括多种函数运算)。
通过应用控件数组建立的日历实现了查找某年某日以及翻看星期等一些功能,由于知识的匮乏没能对程序添加阴历深表遗憾。
但对其基本的功能和要求则是很好的完成了。
相册这方面则很好的实现了浏览、放大、添加、删除等功能。
界面上也是进行了精心的设计。
在基本要求的基础上又进行了创新。
总的来说这次课程设计让我学习了很多,让我拥有一个平台来对我所学习知识进行应用,并且在解决问题的时候更加丰富了自己的知识熟练了对visualbasic的应用,可谓收获颇多。
关键词:
微型小助手数字时钟电话本记事本简易计算器日历相册
目录
1.选题的意义……………………………………………………………1
2.系统功能需求分析…………………………………………………1
2.1系统概述…………………………………………………………………………1
2.2系统的组成及各模块的功能……………………………………………………1
2.3系统的运行环境…………………………………………………………………1
3.系统设计……………………………………………………………1
3.1总体结构设计……………………………………………………………………1
3.2控件数组设计……………………………………………………………………1
4.系统实现………………………………………………………………2
4.1总体界面设计…………………………………………………………………2
4.2日历……………………………………………………………………………3
4.3计算器……………………………………………………………4
4.4相册……………………………………………………………………6
5.总结……………………………………………………………………8
5.1总结………………………………………………………………………………8
5.2存在的主要问题…………………………………………………………………8
参考文献………………………………………………………………8
微型小助手
1.选题的意义:
(1)通过这次的课程设计我对visualbasic进行进一步的深入学习,并且能够自己完成一些程序的编制和应用。
之所以选择微型小助手就是因为其工作量大而且应用了更多的知识,让我可以在完成设计的过程中充实自己以利于进一步的学习。
(2)我所选择的题目中应用了控件、数组、多种函数、程序设计结构,过程、控件数组等。
2.系统功能需求分析
2.1系统概述
微型小助手主要是应用visualbasic设计了一些日常的常用程序,利用这些程序可以方便我们日常的生活。
给我们带来不少的方便。
这些设计也能够增强我们解决问题的能力,学好它会让我们受益匪浅。
2.2系统的组成及各模块的功能
微型小助手由记事本、数字时钟、电话本、日历、计算器、电子相册六个部分组成。
2.2.1记事本功能:
可以记录要事、重要节日,同时具有提醒功能。
2.2.2数字时钟功能:
可以用指针的形式显示当前时间,当前日期星期等。
2.2.3电话本功能:
可以浏览、查阅、删除、添加、修改通讯信息。
2.2.4日历功能:
可以显示任意一年的日期以及对应的星期。
2.2.5计算器功能:
可以四则运算,各种三角函数的运算。
2.2.6相册功能:
可以添加、删除、放大、缩小相片。
2.3系统的运行环境
操作系统:
Windowxp/2000/me/98
系统支持:
VisualBasic6.0以上版本
3.系统设计
3.1总体结构设计
微型小助手由记事本、数字时钟、电话本、日历、计算器、电子相册六个部分组成。
由一个主窗体的6个按钮分别进入各个功能模块,同时可以通过一个按钮返回到主界面,并且6个功能模块可以同时运行。
各有各的特点,对题设的要求做出了很好的设计,界面设计也是别有用心。
3.2控件数组设计
计算机的数字键,运算符号等运用控件数组,方便编程与运算。
同时日历也是运用了label的数组,得以将数字很好的进行对齐分布。
4.系统实现
4.1总体界面设计
核心代码:
PrivateSubCommand1_Click()
calculator.Show
EndSub
PrivateSubCommand2_Click()
calender.Show
EndSub
PrivateSubCommand3_Click()
clock.Show
EndSub
PrivateSubCommand4_Click()
phonenumber.Show
EndSub
PrivateSubCommand5_Click()
photo.Show
EndSub
PrivateSubCommand6_Click()
record.Show
EndSub
说明:
在主界面通过6个按钮分别进入6个功能模块。
4.2日历
月份的填充运用了comboboox,填充代码为
DimCurrMonthAsInteger
cboMonth.AddItem"一月"
cboMonth.AddItem"二月"
cboMonth.AddItem"三月"
cboMonth.AddItem"四月"
cboMonth.AddItem"五月"
cboMonth.AddItem"六月"
cboMonth.AddItem"七月"
cboMonth.AddItem"八月"
cboMonth.AddItem"九月"
cboMonth.AddItem"十月"
cboMonth.AddItem"十一月"
cboMonth.AddItem"十二月"
CurrMonth=CInt(Format(Date,"MM"))
cboMonth.ListIndex=CurrMonth-1
查询年份则是运用过程call入核心代码为
Dimmonth1AsInteger,year1AsInteger
IfSelecteDate=0ThenExitSub
month1=cboMonth.ListIndex+1
year1=Val(cboYear.Text)
Callcheckdate(month1,year1)
日期的填入则是重头戏,其核心代码为:
lblnumber(I).Caption=""
lblnumber(I).BorderStyle=0
NextI
StartDay=CStr(year1)+"-"+CStr(month1)+"-"+"01"
StartWeek=Weekday(CDate(StartDay))
SelectCaseVal(month1)
Case1,3,5,7,8,10,12:
MaxDate="31"
Case4,6,9,11:
MaxDate="30"
Case2:
Ifyear1Mod4=0ThenMaxDate="29"ElseMaxDate="28"
EndSelect
ForI=StartWeek-1ToMaxDate+StartWeek-2lblnumber(I).Caption=I-StartWeek+2
4.3计算器
数字键是运用了command1的控件数组
函数部分的运算的核心为
Case0
Text1.Text=Val(Text1.Text)*Val(Text1.Text)
Case11
IfText1.Text>0Then
Text1.Text=Sqr(Val(Text1.Text))
Else
MsgBox"负数不能开平方哦!
!
",,64+vbOK
EndIf
Case13
IfText1.Text<>0ThenText1.Text=1/Val(Text1.Text)
Case2
IfText1.Text>0Then
Callfact(Text1.Text,f)
Text1.Text=f
Else
ExitSub
EndIf
Case10
Text1.Text=Exp(Val(Text1.Text))
Case9
IfVal(Text1.Text)>0Then
Text1.Text=Log(Val(Text1.Text))
Else
MsgBox"条件错误",vbInformation+vbYes,"错误"
EndIf
Case12
Text1.Text=Sin(Val(Text1.Text))
Case1
Text1.Text=Cos(Val(Text1.Text))
阶乘运算则是用了过程实现核心代码为
PrivateSubfact(nAsInteger,fAsDouble)
DimmmAsInteger
f=1
Formm=1Ton
f=f*mm
Nextmm
EndSub
加减乘除的运算核心代码为
dianl=False
fuhao=False
SelectCasefuhaozhuangtai
Case0
Text1.Text=Val(firstnumber)+Val(numbumbuf)
Case1
Text1.Text=Val(firstnumber)-Val(numbumbuf)
Case2
Text1.Text=Val(firstnumber)*Val(numbumbuf)
Case3
Text1.Text=Val(firstnumber)/Val(numbumbuf)
EndSelect
firstnumber=Text1.Text
dian=False
重置键的核心代码为
PrivateSubCommand7_Click(IndexAsInteger)
SelectCaseIndex
Case0
Text1.Text="0"
dian=False
Case1
Text1.Text="0"
numbumbuf="0"
dianal=False
fuhao=False
firstnumber="0"
dian=False
EndSelect
4.4相册
图片的添加应用了CommonDialog代码入下
PrivateSubCommand8_Click()
CommonDialog2.ShowOpen
IfCommonDialog2.FileName<>""ThenList1.AddItem_CommonDialog2.FileName
删除为
PrivateSubCommand9_Click()
IfList1.ListIndex<>-1Then
List1.RemoveItemList1.ListIndex
Else
MsgBox"无该删除图片",vbCritical+vbApplicationModal,"错误
放大缩小则用了left,height,width,top函数
PrivateSubCommand3_Click()
image1.Left=image1.Left-100
image1.Top=image1.Top-100
image1.Height=image1.Height+200
image1.Width=image1.Width+200
EndSub
PrivateSubCommand4_Click()
image1.Left=image1.Left+100
image1.Top=image1.Top+100
image1.Height=image1.Height-200
image1.Width=image1.Width-200
EndSub
5.总结:
5.1总结
这次的课程设计我觉得收获颇多,掌握了多种visualbasic的设计方法,并且控件数组应用上面也是更上一层楼。
深深地感觉到了这个系统的强大以及这个系统给我们带来的好处。
而对于自己来说不仅丰富了知识而且增加了自己设计方面的技能。
对其使用也变得熟悉得心应手起来。
我所制作的,计算器、日历、以及相册通过自己的想法完成了老师所要求项目。
总之,学生受益匪浅。
5.2存在的问题:
在日历的制作方面没能够成功的添加农历节日深感遗憾,我想以后我要通过自己进一步的学习从而完善自己的设计。
参考文献:
1.《VisualBasic6.0编程案例精解》,张路平,电子工业出版社
2.《VisualBasic程序设计》王学军,中国铁道出版社
3.MSDN