考勤
登记表设计
报告学院班级学号姓名成绩一、设计思路1.要达到的目的①要求用VisualBasic对象的思想来完成程序的设计。②在设计程序的过程中,要求会使用按钮(commandbutton)、文本框(text)、标签(label)、框架(frame)、单选按钮option等基本控件。③要求要完成此设计题目,必须熟练使用和掌握combobox控件和option控件数组。④动态切换显示查询条件⑤要求在程序中能够运用结构化程序设计的选择和循环结构,并熟练使用相关的语句(如selectcase、for等)。⑥熟练运用文件的写操作完成提交保存功能,以及使用文件的读操作完成统计查询功能。2.关键问题的解决正文(宋体5号字,单倍行距)①设计程序界面因为用的全是基本控件,界面设计没有什么难度,照样子拼就可以了。五种出勤情况:正常、迟到、早退、旷工、请假可用单选按钮来选择(要用控件数组)。统计情况的输出用Picturebox控件来实现。②编写代码代码主要包括事件处理过程。事件处理包括下面的主要事件:①Form_Load()‘作一些初始化的工作。主要是完成控件可见与否及相关Combobox控件中内容的输入。②Command1_Click()‘将输入数据进行保存将输入数据存入某一数组中,然后将数组中的内容写入文件中。③Combo5_Click()‘根据统计条件动态更新条件界面。主要是统计条件确定后,应使哪些控件可见,哪些控件不可见。④Command3_Click()‘根据设定的统计条件进行统计。主要工作有对符合条件的记录的存储,需要一个数组来存储一条完整记录的内容,并进行格式化,另外为了读取下一条记录,此数组的内容要转入另外一个动态数组(因为不确定符合条件的记录有多少条)中作为其中的一个元素。三、部分程序关键源代码及注释PrivateSubCommand3_Click()DimsAsString,s1AsString,fDimb(1To10)AsString,c(1To10)AsString,d(1To10)AsString,e(1To10)AsString,f(1To10)AsStringDimss()AsStringForm2.ShowForm2.Picture1.Clsfileno=FreeFileSelectCaseCombo5.ListIndexCase1s=Combo6.Text&"月"&Combo7.Text&"日"Open"aa.txt"ForInputAs#filenoDoWhileNotEOF(fileno)i=i+1Input#fileno,b(i),c(i),d(i),e(i),f(i)‘将每一项内容都保存在一个数组中LoopClose#filenos1=""Forj=1ToiIfs=b(j)Thenk=k+1ReDimPreservess(k)AsString‘设置一个动态数组ss(k)=b(j)&c(j)&d(j)&e(j)&f(j)EndIfNextjCase2s="第"&Combo8.Text&"组"Open"aa.txt"ForInputAs#filenoDoWhileNotEOF(fileno)i=i+1Input#fileno,b(i),c(i),d(i),e(i),f(i)LoopClose#filenos1=""Forj=1ToiIfs=c(j)Thenk=k+1ReDimPreservess(k)AsStringss(k)=b(j)&c(j)&d(j)&e(j)&f(j)EndIfNextjCase3s=Text2.TextOpen"aa.txt"ForInputAs#filenoDoWhileNotEOF(fileno)i=i+1Input#fileno,b(i),c(i),d(i),e(i),f(i)LoopClose#filenos1=""Forj=1ToiIfs=d(j)Thenk=k+1ReDimPreservess(k)AsStringss(k)=b(j)&c(j)&d(j)&e(j)&f(j)EndIfNextjCase4s=Combo9.TextOpen"aa.txt"ForInputAs#filenoDoWhileNotEOF(fileno)i=i+1Input#fileno,b(i),c(i),d(i),e(i),f(i)LoopClose#filenos1=""Forj=1ToiIfs=e(j)Thenk=k+1ReDimPreservess(k)AsStringss(k)=b(j)&c(j)&d(j)&e(j)&f(j)EndIfNextjCase0Forn=0To4IfOption2(n).Value=TrueThens=Option2(n).CaptionOpen"aa.txt"ForInputAs#filenoDoWhileNotEOF(fileno)i=i+1Input#fileno,b(i),c(i),d(i),e(i),f(i)LoopClose#filenos1=""Forj=1ToiIfs=f(j)Thenk=k+1ReDimPreservess(k)AsStringss(k)=b(j)&c(j)&d(j)&e(j)&f(j)EndIfNextjEndIfNextnEndSelectFori=1TokForm2.Picture1.Printss(i)‘将经过条件选取的记录显现在picture1中NextiEndSub1.设计方案要完善的地方方案还行,最后一步需要简化一些,是程序看起来更简洁2.目前存在的问题①Option控件数组的选中出现了错误,如Option1.(0)选中以后处于一直选中的状态。五、本次设计的收获及心得体会这次设计思路都很明确,只是在
具体设计代码时总会粗心。因为几个字母的错误使得程序无法运行,而且对各种空间的属性掌握不够熟悉,使得编码工作花费了太多时间,不过,经过几天的学习与操作,我对VB的操作知识与设计的细节,有了更多的掌握,为以后更深入的学习打下了良好的基础。六、对该题目和VB设计的意见和建议1.对该题目的意见和建议题目很好。2.对本次设计的意见和建议对具体的项目如:日期,班组号,姓名,职称,可以设的少一些,只要基本要求做到了就可以了。