VB报告简易日历小工具天气预报.docx
《VB报告简易日历小工具天气预报.docx》由会员分享,可在线阅读,更多相关《VB报告简易日历小工具天气预报.docx(15页珍藏版)》请在冰豆网上搜索。
VB报告简易日历小工具天气预报
VisualBasic2005程序设计
题目:
简易日历小工具
专业:
姓名:
学号:
指导老师:
二〇一一年五月二十五日
和C#比较它的优缺点
功能上的考虑
VB有而C#没有的功能有即时编译;静态事件绑定;条件异常捕获;COM兼容类;宽松的类型检查和变量声明;VisualBasicRuntime库;可选参数、带参数属性、模块等语言特征;动态数组。
功能更强大的是VB而不是C#。
性能上的考虑
VB和C#都生成一样的IL,因此理论上说不会有性能的差异。
但是因为支持即时编译,即一边书写代码一边编译。
这样可立刻发现语法错误,使调试变得更加容易。
但是这样一来VB就需要随时浏览整个代码文件,并把临时数据储存。
这造成生成的代码中常常具有冗余部分。
但也不能就此下结论说VB比C#慢,当用户选择打开优化并且以Release方式编译工程,就能得到与C#一样简短快速的代码。
代码风格和杂项问题
C#书写的代码比VB平均短小20%,VB中的关键字过长。
VB语言换行比C#麻烦,如果需要书写大量繁杂而长的代码,最好选择C#。
但VB的代码接近完整的英语,比C#更加易读。
文档和资源方面的考虑
在MSDN文档中,C#和VB是同等看待的。
所有文档和例子都是有VB和C#两份的。
因此,在寻求资源方面都不用担心。
互联网上的资源,C#要多于VB,特别是国内,有倾向于C#的潮流。
但是的资源VB较多。
国内缺乏资源是影响推广的重要原因。
设计题目
通过桌面小工具受到启发,决定做一个桌面小工具程序,设计题目为:
简易日历小工具
程序编译、部署与运行环境
程序的编译与部署环境:
本程序使用VB编程,编程环境在VisualBasic2005软件下进行,在创建并测试应用程序之后,在VisualBasic2005下创建自己的安装程序,将其发布。
程序的运行环境:
本程序在打包安装后,在WindowsXP及其以上操作系统下运行成功,但需注意的是,由于屏幕分辨率的问题,在不同硬件运行环境下,运行结果会有偏差。
设计目的与软件功能
设计目的
培养自己综合利用VB语言进行程序设计的能力,主要是培养自己利用VB的标准控件进行应用程序设计的技能。
软件要实现的功能
(1)、能够窗体加载自动提取并显示当前日期。
(2)、选择某一日期后,有特殊显示,比如添加方框。
添加一些特殊日期,比如国庆节等。
而且能够显示当天的信息提示。
其中“今日提示”四个字字体颜色闪烁显示。
(3)、在窗体下方显示所选择的日期。
(4)、根据所选年份和月份以及日期,确定当天为星期几,以及当日的提示。
比如2011年5月25日,确定后显示“星期三,天天快乐”。
(5)、能够实现北京时间的动态显示,能够判断并显示当前时间是凌晨、早上、上午、中午、下午、晚上等信息。
其中的“北京时间”四个字字体颜色闪烁显示。
(6)、能够自动获取本机IP显示本地的天气预报,并能提供查询窗口查询全国各地天气预报(需要本机联网)。
(7)、欢迎界面的设计,本程序中通过在程序界面的上方和下方各提供一个动态显示(左右移动)的“~欢迎您~”来美化欢迎界面。
软件流程图
4.3.1日期,时间以及时间查询功能模块:
调用
输入调用
判断
判断输出调用
判断
否
是,则输出特殊日
期信息
是,则输出当天日期提醒
否,则输出普通
日期信息
4.3.2天气预报功能模块:
调用
调用本机所在城市
调用
输出
4.3.3欢迎界面功能模块:
调用判断
调用是
否
软件功能的实施阶段
新建一个项目,项目的名称为“日历小工具”。
选中系统自动添加的窗体Form1,设置其Name属性的属性值为calendar(日历),设置Text属性的属性值为“日历时间天气查询”,Size属性的属性值为“667,485”,将MaxisizeBox属性值设置为“False”最后在“解决方案资源管理器”窗口的项目名称“日历小工具”上单击鼠标右键,选中弹出菜单中的“属性”命令,在“日历小工具属性页”对话框中将项目的启动对象改成“calendar”.
日历功能显示的实施阶段
在窗体calendar上添加一个Lable控件,Name属性值为lblTitle,Text属性值为“今日提示”;添加一个TextBox控件,BorderStyle属性值设置为“Fixed3D”,Font属性值设置为“楷体”,ForeColor属性值设置为“Blue”;添加一个MonthCalender控件,将Name的属性值设置为“mclOnly”,CalendarDimensions属性值设置为“1,2”FirstDayNumbers属性的属性值为“Sunday”,ForeColor属性的值设置为“0,0,192”,ShowWeekNumbers属性的值设置为“Ture”,TitleBackColor属性的值设置为“Teal”,TrailingForeColor属性的值设置为“Red”。
用鼠标双击calendar窗体,在代码编辑窗口上部的“类名”选择“mclOnly”控件对象,再“方法名称”中选择“DateSelected”事件。
在mclOnly_DateSelected过程中,输入以下代码:
=""
If=Then
=vbCrLf&"新的一周又开始了,天天快乐!
"
EndIf
If=Then
=vbCrLf&"今天是周末,玩的开心!
"
EndIf
If=4And=5Then
=vbCrLf&"清明节到了,看看已故的亲人吧!
"
EndIf
If=5And=1Then
=vbCrLf&"劳动节到了,带上家人出去散散心吧!
"
EndIf
If=7And=7Then
=vbCrLf&"七夕节到了,带上爱人出去浪漫一下吧!
"
EndIf
If=8And=15Then
=vbCrLf&"中秋节到了,快回去和家人吃个团圆饭吧!
"
EndIf
If=10And=1Then
=vbCrLf&"国庆节到了,带上家人出去散散心吧!
"
EndIf
If=""Then
=vbCrLf&vbCrLf&"天天快乐"
EndIf‘在不是特殊日期的日子统一输出天天快乐
北京时间显示的实施阶段
在窗体calendar上添加一个Lable控件,Name属性值为lblTitle1,Text属性值为北京时间;添加一个TextBox控件,BackColor属性值为“192,255,255”,ForeColor属性值为“Red”,Font属性值为“宋体,10.5pt,style=Blod”,Multiline属性值为“Ture”;添加一个Timer控件,Name属性值为“Timer1”,Enabled属性值为“True”,Interval属性值为“10”;添加一个Timer控件,Name属性值为“Timer3”,Enabled属性值为“True”,Interval属性值为“50”。
双击Timer1控件,输入以下代码:
(Timer1控件的功能是判断当前的时间段,以及调用系统时间,并把结果显示在TextBox2中)
vHour=Format(Now(),"HH")‘为vHour赋初值,其中HH的值是系统时间的小时
IfvHour>=0AndvHour<6ThenvState="凌晨"
IfvHour>=6AndvHour<7ThenvState="早上"
IfvHour>=7AndvHour<12ThenvState="上午"
IfvHour>=12AndvHour<14ThenvState="中午"
IfvHour>=14AndvHour<18ThenvState="下午"
IfvHour>=18AndvHour<24ThenvState="晚上"‘对当前时段的判断
=vbCrLf&vState&"好"&"现在时间是:
"&Format(Now,"hh:
mm:
ss")
‘将当前时段与系统时间显示在TextBox2中
双击Timer3控件,输入以下代码:
(Timer3控件的功能是使两个标签控件中的字符颜色闪烁显示)
If=Then
=
Else
=
EndIf‘使lblTitle中的字符颜色用红和蓝两种颜色交替闪烁显示
If=Then
=
Else
=
EndIf‘使lblTitle1中的字符颜色用红和蓝两种颜色交替闪烁显示
天气预报显示的实施阶段
添加WebBrowser控件,设置Name属性值为WebBrowser1,Location属性值设置为“401,243”,Size属性值设置为“248,166”。
用鼠标双击calendar窗体,在PrivateSubcalendar_Load(ByValsenderAs,ByValeAsHandles下面输入以下代码:
此处代码是为了使程序运行时“今日提示”的信息自动显示在TextBox1控件中。
=""
If=Then
=vbCrLf&"新的一周又开始了,天天快乐!
"
EndIf
If=Then
=vbCrLf&"今天是周末,玩的开心!
"
EndIf
If=4And=5Then
=vbCrLf&"清明节到了,看看已故的亲人吧!
"
EndIf
If=5And=1Then
=vbCrLf&"劳动节到了,带上家人出去散散心吧!
"
EndIf
If=7And=7Then
=vbCrLf&"七夕节到了,带上爱人出去浪漫一下吧!
"
EndIf
If=8And=15Then
=vbCrLf&"中秋节到了,快回去和家人吃个团圆饭吧!
"
EndIf
If=10And=1Then
=vbCrLf&"国庆节到了,带上家人出去散散心吧!
"
EndIf
If=""Then
=vbCrLf&vbCrLf&"天天快乐"
EndIf‘在不是特殊日期的日子统一输出天天快乐
此处代码是使用IE控件来调用网络的天气预报插件,达到天气预报的目的。
"&c=CHXX0008&l=zh-CHS&p=CMA&a=1&u=C&s=1&m=1&x=1&d=0&fc=FFFF00&bgc=00B0F0&bc=FFFF00&ti=1&in=1&li=2&ct=iframe")‘其中的网址是天气预报插件,由IE控件直接调用
欢迎界面显示的实施阶段
添加一个Timer控件,Name属性值设置为“Timer2”,Enable属性值设置为“True”,Interval属性值设置为“50”,添加两个Lable控件,Name属性值分别设置为“Lable1”与“Lable2”,ForeColor属性值都设置为“Red”,Text属性值都设置为“~欢迎您~”,Lable1的Location属性值设置为“3,10”,Lable2的Location属性值设置为“537,421”。
双击Timer2控件,输入以下代码:
(Timer2控件的功能是实现两个Lable中的“~欢迎您~”左右移动并且闪烁显示)
DimXAsInteger,YAsInteger‘定义两个变量X和Y
PrivateSubTimer2_Tick(ByValsenderAs,ByValeAsHandles
X=0
IfX=0Then
=+1
IfMod2=0Then=‘为偶数,显示红色
IfMod2<>0Then=‘为奇数,显示蓝色
If>528ThenX=1
WhileX=1
=10‘如果X=1,跳回到10
X=0
EndWhile
EndIf
Y=0
IfY=0Then
=-1
IfMod2=0Then=
IfMod2<>0Then=
If<10ThenY=1
WhileY=1
=528
Y=0
EndWhile
EndIf
EndSub
指定日期显示的实施阶段
添加一个Button控件,Location属性值设置为“401,192”,Name属性值设置为“Button1”,Text属性值设置为“点击此处查询日期信息”。
双击Button控件,输入以下代码(此处实现的是日期信息的查询,查询结果显示当日是星期几以及当日提示的信息)
DimyearAsInteger,mouthAsInteger,day1AsInteger,sAsDate,bAsInteger,rAsString‘定义变量
PrivateSubButton1_Click(ByValsenderAs,ByValeAsHandles
While1
year=InputBox("请输入年份",,Format(Now,"yyyy"))‘在新窗口输入年份
mouth=InputBox("请输入月份",,Format(Now,"mm"))‘在新窗口输入月份
day1=InputBox("请输入日期",,Format(Now,"dd"))‘在新窗口输入日期
s=DateSerial(year,mouth,day1)‘将日期赋值给s
b=Weekday(s)
SelectCaseb‘对b进行查找,按星期几输出对应结果
Case1
r="星期日"
Case2
r="星期一"
=vbCrLf&"新的一周又开始了,天天快乐!
"
Case3
r="星期二"
=vbCrLf&"天天快乐!
"
Case4
r="星期三"
=vbCrLf&"天天快乐!
"
Case5
r="星期四"
=vbCrLf&"天天快乐!
"
Case6
r="星期五"
=vbCrLf&"天天快乐!
"
Case7
r="星期六"
=vbCrLf&"今天是周末,玩的开心!
"
EndSelect
MsgBox(r&‘输出r和TextBox1的值
ExitSub‘跳出sub
EndWhile‘跳出循环
EndSub
软件运行测试与说明
生成安装程序步骤
6.1.1创建部署项目
1.在“文件”菜单上指向“添加项目”,然后选择“新建项目”。
2.在“添加新项目”对话框中,选择“项目类型”窗格中的“安装和部署项目”,然后选择“模板”窗格中的“安装项目”。
在“名称”框中键入“日历小工具安装程序”。
3.单击“确定”关闭对话框。
4.项目被添加到解决方案资源管理器中,并且文件系统编辑器打开。
5.在“属性”窗口中,选择ProductName属性,并键入日历小工具。
6.1.2添加Windows应用程序
1.双击“应用程序文件夹”。
在“操作”菜单上,指向“添加”,然后选择“文件”命令。
将“日历小工具”应用程序的可执行文件和相应的类库和组件添加进去。
2.在“日历小工具.exe”可执行文件上单击鼠标右键,在弹出的快捷菜单中选择“创建日历小工具快捷方式”命令,将快捷方式改名为“日历小工具”
3.把快捷方式剪切并粘贴到左边的“用户桌面”文件夹中。
4.在“用户的‘程序’菜单”文件夹上点右键,在弹出的快捷菜单中选“创建用户‘程序’菜单的快捷菜单”命令,然后将快捷菜单重命名为“日历小工具”。
5、右击左边的“应用程序文件夹”,选择“属性”,将属性中的DefaultLocation的路径中的Manufacturer去掉。
6、打开解决方案管理器,右击“日历小工具安装程序”文件,选择“属性”命令,单击“系统必备”按钮,选择“.NETFramework2.0”选项。
7、选择“生成”|“生成解决方案”命令,生成成功
6.1.3添加“卸载”功能
1.在添加应用程序项目的时候,多添加一个文件。
2.把文件名改为“卸载日历小工具.exe”
3.在“卸载日历小工具.exe”上右击,选择“创建卸载日历小工具的快捷方式”命令,重命名为“卸载日历小工具”。
4.在创建的“卸载日历小工具”的快捷方式上右击,选择“剪切”命令
5.选择“用户的‘程序’菜单”文件夹,右击,选择“粘贴”命令。
6.单击项目名称,在属性窗口找到ProductCode属性。
复制ProductCode的属性值。
7.单击“卸载日历小工具”快捷方式,在属性窗口中找到Arguments属性。
将ProductCode属性值粘贴到Arguments属性值里面。
8.选择“生成”命令,生成安装程序。
软件运行测试结果
6.2.3机房运行结果
如图6-1所示。
图6-1
6.2.2本机运行结果
如图6-2所示
图6-2
运行结果问题说明与功能描述
运行结果问题说明:
在不同计算机下运行结果不同,主要原因是电脑分辨率的问题,机房的计算机由于分辨率较低,造成两种运行结果的不同。
运行结果功能简介:
在运行结果中,“今日提示”与“北京时间”是红色和蓝色两种颜色交替显示,做出字体闪烁的效果。
上面的“~欢迎您~”像右移动,也是红色和蓝色两种颜色交替显示,做出字体闪烁的效果。
下面的“~欢迎您~”像左移动,其他效果同上。
其中的天气预报来自网络插件,能够进行全国天气预报的查询,而日历中的特殊日期能进行提示,能初步查询日期的信息。
设计心得
此次程序设计运行结果基本上达到了预期目标,通过此次设计,培养了自己的实际操作能力,在进行编程时,发现了不少问题,很多次都想放弃做日历小工具的想法,但是通过坚持查资料,多次的调试,使问题都得到了有效的解决,提高了自己处理问题的能力。
总的来说,此次程序设计使自己更好的了解了VisualBasic2005程序设计的操作和方法,为以后自己进行相关的操作打下一定基础。