简易日历课程设计报告(VB) 编号:13
简易日历设计报告
学院 机械学院 班级 学号姓名 成绩
一、设计思路
1.要达到的目的
①窗体加载自动提取并显示当前日期 ②能选择1960-2060之间的任一年份
③选择某一日期后凹陷显示并在窗体下方显示所选择的日期及其星期 ④单击确定后显示所选日期 ⑤可以添加节日和记事 ⑥单击退出关闭窗体
⑦根据所选年份和月份,确定显示天数的个数 ⑧年月日及下方的显示只可读不可输入 2.关键问题的解决
①根据所选年份和月份,确定显示天数的个数 ②可以添加节日和记事
③选择某一日期后凹陷显示并在窗体下方显示所选择的日期及其星期——修改Label的BorderStyle属性 ④年月日及下方的显示只可读不可输入——修改ComboBox的BorderStyle属性和TextBox的Locked属性
二、模块之间的调用关系,或程序流程图
Form_Load 调用 调用 填充年月,设置日期 调用 lblnunber_click 调用 Function setdate等 checkdate 三、部分程序关键源代码及注释
Private Sub setdate()
Dim r As Integer, i As Integer
r = CInt(Format$(Now, \位数字显示年份 i = r - 1960
cboyear.ListIndex = i
简易日历课程设计报告(VB) 编号:13
r = CInt(Format$(Now, \显示月份,01-12月 cbomonth.ListIndex = (r - 1) r = CInt(Format(Now, \lblnumber(r - 1).BorderStyle = 1 selectdate% = r End Sub
Private Sub setday()
Dim month1 As Integer, year1 As Integer minth1 = determinemonth() year1 = determineyear() Call checkdate(month1, year1) End Sub
Private Function determinemonth() Dim i As Integer i = cbomonth.ListIndex determinemonth = i + 1 End Function
Private Function determineyear() Dim i As Integer i = cboyear.ListIndex If i = -1 Then Exit Function
determineyear = CInt(Trim(cboyear.ListIndex)) End Function
Private Sub checkdate(month1%, year1%) ‘检测并设置当月天数 Dim i As Integer, value As Integer, date1 As String For i = 28 To 32
date1 = (Str$(month1) + \ If IsDate(date1) Then value = i
简易日历课程设计报告(VB) 编号:13
Call displaynumbers(value) Else Exit Sub End If Next i End Sub
Private Sub displaynumbers(number%) Dim i As Integer For i = 28 To 30
lblnumber(i).Visible = False Next i
For i = 28 To number% - 1 lblnumber(i).Visible = True Next i End Sub
四、设计方案的完善及目前存在的问题
1.设计方案要完善的地方
①未能做到创新中的日期和星期对齐的要求,惭愧 ②可以加进农历
③可以有些随季节变换的图片 2. 目前存在的问题
①无日期星期的对齐
②虽然有添加节日的菜单,但是不知怎样保存这些信息
五、本次设计的收获及心得体会
以后要多学习,有时候有好的想法,设计时因为对vb知识了解的不够而无从下手,通过这次设计,了解了很多课堂上没学到的知识,加深了对VB的认识,了解了VB程序设计的总体方式,有了更宏观的认识,很想用他来编些好玩的有用的程序,让自己的思维用VB实现
六、对该题目和VB设计的意见和建议
1. 对该题目的意见和建议
对我这样的VB新手来说,是个很好的锻炼,题目有简单的地方也有比较难的,让自己有更多的学习机会,有吸引力的题目激起了自己对VB的兴趣,挺好的。
简易日历课程设计报告(VB) 编号:13
2.对本次设计的意见和建议
充分利用时间,做到最后了又冒出的想法因为时间问题做不成,这不好。
相关推荐: