资源描述:
《VB课程设-设计模板.doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、此文档收集于网络,如有侵权,请联系网站删除学生成绩的文件管理设计报告学院土木工程学院班级测绘C111学号117534姓名白玉成绩一、设计思路1.要达到的目的①能够按照要求画出界面。②要求实现顺序、随机和二进制三种访问文件的方式。③使用Option控件进行项目的选择。④使用TEXT文本框控件显示读入文件的内容2.关键问题的解决①利用OpenApp.Path&"score.txt"ForInputAs#fileno语句将"score.txt"文件打开。②利用For…next循环和Do…loop循环读取数据和处理数据。③利用If…ElseIf…EndIf循环读取数据。④利
2、用If…ElseIf…EndIf循环判断输入分数正确性(扩充部分)。⑤利用Do…loop循环查找成绩(扩充部分)。二、模块之间的调用关系,或程序流程图三、部分程序关键源代码及注释PrivateSubCommand1_Click()Dimenglish,math,comAsIntegerDimnameAsStringname=Text1.Textenglish=Val(Text2.Text)math=Val(Text3.Text)com=Val(Text4.Text)Ifenglish>100Orenglish<0Ormath>100Ormath<0Orcom>100Or
3、com<0Then'判断输入分数正确性Dimmsg,style,title,responsemsg="输入分数不正确。"style=vbOKOnlytitle="提示信息"response=MsgBox(msg,style,title)ElseIfOption1.ValueThenOpenApp.Path&"score1.txt"ForAppendAs#1'保存成绩操作Print#1,name,Write#1,english,math,comClose#1ElseIfOption2.ValueThenDimstu1AsID,stuAsIDDimiAsInteger此文
4、档仅供学习与交流此文档收集于网络,如有侵权,请联系网站删除OpenApp.Path&"score2.txt"ForRandomAs#30Len=Len(stu1)DoWhileNotEOF(30)i=i+1Get#30,i,stuLoopClose#30OpenApp.Path&"score2.txt"ForRandomAs#3Len=Len(stu1)stu1.name=namestu1.english=englishstu1.math=mathstu1.com=comPut#3,i+1,stu1Close#3ElseIfOption3.ValueThenOpen
5、App.Path&"score3.txt"ForBinaryAs#50DoWhileNotEOF(50)i=i+1Get#50,,stuLoopClose#50OpenApp.Path&"score3.txt"ForBinaryAs#5stu1.name=namestu1.english=englishstu1.math=mathstu1.com=comPut#5,1+12*i,stu1Close#5EndIfEndIfEndSubPrivateSubCommand2_Click()IfOption1.ValueThenDimstr1AsStringText5.Te
6、xt=""OpenApp.Path&"score1.txt"ForInputAs#2'顺序文件读取操作DoWhileNotEOF(2)LineInput#2,str1Text5=Text5&str1&vbNewLineLoopClose#2ElseIfOption2.ValueThenDimstuAsIDText5.Text=""OpenApp.Path&"score2.txt"ForRandomAs#4Len=Len(stu)'随机文件读取操作DoWhileNotEOF(4)i1=i1+1此文档仅供学习与交流此文档收集于网络,如有侵权,请联系网站删除Get#4,i
7、1,stuText5=Text5&stu.name&","&stu.english&","&stu.math&","&stu.com&vbNewLineLoopClose#4ElseIfOption3.ValueThenText5.Text=""OpenApp.Path&"score3.txt"ForBinaryAs#6'二进制读取文件读操作DoWhileNotEOF(6)Get#6,,stuText5=Text5&stu.name&","&stu.english&","&stu.math&","&stu.com&vbNewLineLo