还剩30页未读,继续阅读
本资源只提供10页预览,全部文档请下载后查看!喜欢就下载吧,查找使用更方便
文本内容:
软件工程课程设计
一、前言学籍管理工作在正常的情况下需对大量的数据进行处理,它们包括,学生学籍信息录入、学生学籍修改、学生基本档案输入、学籍变动、学生成绩录入、学生成绩查询等如果由人工去处理这些数据需要花费大量的时间、人力、物力学籍管理系统,是在总结以上管理方法的基础上并结合用户的需求对学籍的各种数据进行了有针对性的__,充分利用VisualBasic具有强大的数据库管理功能及在应用程序__上高效、灵活的特点,创建了各个过程,目标设计、系统__背景、__和运行环境选择、系统功能分析、系统功能模块设计、数据库需求分析、数据库概念结构设计、数据库逻辑结构设计、数据库结构实现、各个功能模块的创建、系统的编译和发行等进行了详细描述学籍管理系统设计突出了信息管理系统完整实用的__方法,系统的最大特点是突出了实用性和实效性,紧密的结合了用户的使用要求,操作方便,有一人进行管理就可以完成大量的学籍管理工作
二、系统__工具和数据库简介 结合本人学习期间所学的有关程序设计的语言为VisualBasic
6.0,因此,本系统软件将采用该语言进行设计__下面先介绍一下该工具的好处与特点VisualBasic
6.0概述
1、VisualBasic
6.0简介无论用户是一个Windows编程新手,还是已经具有丰富的Windows程序设计经验的专业程序__人员,利用VisualBasic
6.0提供的良好__环境,均可以使你快速地完成所需设计任务所谓Visual,中文的意思是“可视化”,它提供了一种创建图形用户界面(GUI)的方法,利用这种方法,用户可不必书写复杂的描述界面元素外观和位置的程序代码,而只需将系统提供的对象放到屏幕上的适当位置,并通过属性窗口进行适当的设置或调整,就可以设计出一个优秀的应用程序界面此外,用户除了可以使用单独的VisualBasic
6.0程序设计环境进行程序设计外VisualBasic
6.0程序设计系统还被包括在Ex__lAc__ss等众多Windows功能应用软件中,以供用户进行二次__目前在编制网页上使用较多的VBScript脚本语言实际上是VisualBasic语言的子集因此,无论从哪方面讲,用VisualBasic
6.0系统__软件都是一件非常合算的投资
2、VisualBasic
6.0语言的特点不管你是编制一个小的应用程序,还是__一套大型的专业系统软件,甚至是__一个跨越Internet的分布式应用系统软件,VisualBasic
6.0都为用户提供了合适的工具利用VisualBasic
6.0的数据访问特性,用户可创建数据库、前端应用程序、适用于大多数流行数据库格式的服务器组件等利用ActiveX技术允许用户使用其他应用程序提供的功能,如MicrosoftWord、MicrosoftEx__l,甚至可直接使用由VisualBasic
6.0专业版和企业版创建的应用程序和对象VisualBasic的Internet功能允许用户使用程序方便地通过Internet访问文档和应用程序,甚至创建Internet应用程序用VisualBasic
6.0用户创建的是一个真正的EXE文件,该文件可直接运行于操作系统(Windows98/2000/XP或WindowsNT系统),完全脱离VisualBasic系统环境并且,该文件可___发布,__到单机或网络服务器上此外,VisualBasic
6.0还增加了一些新的功能具体如下
①增加了ADO数据对象,该数据访问技术是一个简单的数据模型,可更好地与其它Microsoft和非Microsoft技术集成它还是一个通用接口,可用于访问本地或远程数据、连续和离散记录集、用户可访问的数据绑定接口和分层记录集
②提供了数据环境设计器,其中提供了一种创建ADO对象的交互设计环境,数据环境可作为窗体或报表中所有要求数据对象的数据源,或者通过数据环境的方法和属性由等程序访问,数据环境设计器具有用户连接设计器的全部功能和附加特性,如拖放、分层、分组和合计等
③数据报表,允许用户使用拖放方法利用任何记录__快速创建报表
④数据源,创建可绑定任何控件的数据源用户定义控件和类
⑤SQL编辑器,允许用户增加新的存储过程至SQL服务器程序和Oracle数据库中,用户还可以使用编辑器编写触发器
⑥增强的数据窗体向导,现在用户不仅可以构造不绑定至数据控件的代码窗体,而且可以使用ADO代码,该向导已经集成到应用程序向导、Chart向导和FlexGrid向导中
⑦文件系统对象,VisualBasic
6.0提供了改进的在文件系统中__的程序集,并可创建文本文件和目录
⑧DataGrid控件,该控件可帮助用户快速构造观察和编辑记录的程序,它也支持新的ADO数据控件
⑨可视化数据库工具集成(企业版)在VisualBasic
6.0中用户可以可视地创建数据库和查询、SQL服务器程序、Oracle数据库表、使用拖放方法创建视图,以及自动改变列数据类型
3、VisualBasic
6.0的版本目前VisualBasic
6.0有三种版本,各自满足不同的__需要其中
①VisualBasic
6.0学习版使编程人员可轻松学习和设计一些基本的应用程序该版本包括所有的内部控件,连同Grid、Tab和Data_Bound控件
②VisualBasic
6.0专业版为专业编程人员提供了一套进行__的功能完备的工具该版本包括学习版的全部功能连同ActiveX控件,还包括InternetApplicationDesigner(Internet报务器应用程序设计器)、IntegratedVisualDatabaseTools(集成可视化数据库工具)、DataEnviro__ent数据环境、ActiveX污染DataO__ects(数据对象,简称ADO)和DynamicHTMLPageDesigner(动态HTML页面设计器)
③VisualBasic
6.0企业版使得专业编程人员能够__功能强大的组内分布式应用程序该版本包括专业版的全部功能连同BackOffi__工具,如SQLServerMicrosoftTransactionServer、InternetInfor__tion、VisualSour__Safe、SNAServer
三、需求分析
3.1设计思想由于本系统是一个基于C/S的数据库的信息管理系统,所以第一步就是需要利用SQLServer2000建立所需要的数据库,第二步就使用VisualBasic
6.0完成该系统客户端应用程序的__
3.2可行性分析可行性分析是系统分析阶段的第二项活动,它的主要目是进一步明确系统的目标、规模与功能,对系统__背景、必要性和意义进行了调查分析并根据需要和可能提出__系统的初步方案与计划可行性分析是对系统进行全面、概要的分析通过调查分析,本系统设计主要有以下三个可行性
3.
2.1操作可行性本系统操作简单,易于理解,只需通过简单指导,上手较快,系统___、教师以及学生均能进行操作,运行环境要求低
3.
2.2技术可行性本系统在WindowsXPServer__环境下,利用VisualBasic
6.0__工具,并使用SQLServer2000作为数据库管理系统,来实现学生学籍管理系统的各种功能SQLServer2000属于主从时式的数据库服务器这也是主从式数据库服务器的特点,服务器本身重在数据的管理,为客户端应用程序提供一致的接口当然也可以使用SQLServer2005为数据库管理系统,__工具也可以是它的更高版,这样可以提高系统的性能,降低它的局限性
3.
2.3经济可行性采用新的学生学籍管理系统可取代原系统的手工管理工作,减少人工开支,节省资金,并且可大大提高数据信息的取得,缩短数据信息处理时间,提高学生信息的利用率,使教学质量更进了一个台阶
3.3功能需求按照系统__业务分析要求和原则,在与系统管理人员的充分沟通,整理出学生学籍管理系统所需求的基本功能和用户界面的一些需求,这些需求将作为系统分析和逻辑设计的依据
3.
3.1基本功能需求能对学生的学籍及成绩进行基本管理,包括学生基本信息和学科成绩的存储、输入、删除、修改、查询,以及升留级管理学生基本信息应包括学号、姓名、出生年份、籍贯、性别、专业、班级、家庭住址、本校住址、个人____、家庭____;成绩信息应包括学号、课号、课名、成绩、上课时间、教师号查询能够按照学号、课号、班级、时间等进行查询
3.4性能需求根据VisualBasic
6.0的运行需求以及系统的调试需求,至少需要满足以下的软硬件要求__工具VisualBasic
6.0;操作系统Windows2000/XP;数据库SQLServer2000;CPU
2.4GHz以上;内存512以上;硬盘80GB以上;VGA显示器或更高;
四、系统设计
4.1系统设计思想
1、采用现有的资源,先进的管理系统__方案,充分利用学校现有的资源,减少__中的时间和财力、物力、提高系统__的水平和应用效果
2、系统就满足学校的需求,例如学生信息的录入、查询、更新等学生录入与排名
3、系统就具备数据库维护功能,及时根据用户需求进行数据添加、删除、修改等操作
4.2 系统设计分析 本系统适用于中小学校,其功能主要分为 成绩管理用于对成绩的输入、修改、查询 学籍管理用于对学生学籍的录入与修改、查询 帮助信息用于对本系统的具体操作进行详解本系统性能力求易于使用,具体有较高的扩展性和可维护性
4.3系统功能分析录入功能为一般用户提供相应的录入功能,为超级用户提供对所有信息的录入功能查询功能为所有用户提供查询的功能,可查询允许范围内的所有信息维护功能为一般用户提供查询及相应的修改,删除功能,为超级用户提供对所有信息的修改删除功能 帮助功能能帮助初次使用者对本系统的应用及处理常见的问题 退出功能结束并关闭系统
4.4学生学籍系统的目标 节约资源,提高学籍信息的精确度 本系统能减少很多不必要的资源,不用象以前那样用冗余的纸张式的管理大节省了学校能源并且计算机的存储与快速查询功能大大提高了学籍管理的效率,并且还提高了学籍信息管理的精确度方便快速操作,精减人员,节约开支方便快速的操作,可减少学籍信息管理的漏洞,又减少因工作的冗余出现的错误,并且操作非常简单,可减少许多不很必要的人员,这无论从物质上还是工作人员的工资上都为学校节约了开支为学校增加了财富
4.5功能模块分解接口设计外部接口用户一般通过终端进行操作,用户进入界面后进行相应的操作硬件接口赛扬
133、内存32兆以上PC机满足输入端条件软件接口Windows2000/NT或更高的操作系统内部接口内部接口模块之间的接口验证模块启动系统时,便激活登陆口令界面;初始化模块对系统进行初始化;系统功能模块接收系统功能的相应消息,启动信息录入、信息查询、信息维护等模块
4.6各模块的具体分析学生信息管理主要用于学生的基本信息管理(如学号、姓名、性别、出生年月、__地址等)成绩管理主要用于学生考试的成绩进行管理
4.7数据库设计
4.
7.1数据流图(略)
4.
7.2数据库分析用户需求具体有学籍管理系统提供保存、更新、查询、维护,这就需求数据库结构能充分满足各种信息的输入与输出,实现有__地、动态地存储大量关联数据,方便用户访问系统中的数据,它与文件系统的重要区别是数据的充分共享,交叉访问,与应用程序的高度__性数据流图描述本系统从总体上分为学生信息管理、学生信息浏览、成绩浏览和成绩管理等部分每个模块有自己的作用
4.8数据库表设计学生基本信息表 xsxj.Mdb 成绩信息表 xscj.Mdb
4.9界面设计
4.
9.1主要窗体实现学生学籍查询,成绩查询,学籍管理,成绩管理以及其他的窗口信息
4.
9.2学生的成绩窗口设计有主窗体直接进入成绩的查询模块主要实现成绩的查询等功能
4.
9.3学生学籍窗口设计有主窗体直接进入学生状况窗口模块主要实现学生状况查询等功能
4.
9.4学生学籍管理窗口设计有主窗体直接进入学生学籍管理窗口模块主要实现学生学籍信息的查询、修改等功能
4.
9.5学生成绩管理窗口设计有主窗体直接进入学生成绩修改窗口模块主要实现学生成绩资料查询结果
五、详细设计及源程序
1、模块module
1.BasOptionExplicitDeclareFunctionSetWindowLongLibuser32AliasSetWindowLongAByValhwndAsLongByValnIndexAsLongByValdwNewLongAsLongAsLongDeclareFunctionGetWindowLongLibuser32AliasGetWindowLongAByValhwndAsLongByValnIndexAsLongAsLongDeclareFunctionCallWindowProcLibuser32AliasCallWindowProcAByVallpPrevWndFuncAsLongByValhwndAsLongByValMsgAsLongByValwParamAsLongByVallParamAsLongAsLongPublicConstGWL_WNDPROC=-4PublicConstWM_ENDSESSION=H16PublicConstWM_QUERYENDSESSION=H11PublicpreWinProcAsLongPublicFunctionWndprocByValhwndAsLongByValMsgAsLongByValwParamAsLongByVallParamAsLongAsLongWndproc=CallWindowProcpreWinProchwndMsgwParamlParamIfMsg=132ThenSelectCaseWndprocCase1011121314151617:Wndproc=0ExitFunctionEndSelectEndIfEndFunction
2、主窗口form
1.frmOptionExplicitPrivateSubCom__nd4_ClickForm
6.ShowEndSubPrivateSubCom__nd5_ClickForm
4.ShowUnloadMeEndSubPrivateSubCom__nd6_ClickForm
5.ShowUnloadMeEndSubPrivateSubForm_LoadDimretAsLong记录原来的WindowPro__dure的位址preWinProc=GetWindowLongMe.hwndGWL_WNDPROC设定form的windowPro__dure到wndprocret=SetWindowLongMe.hwndGWL_WNDPROCAddressOfWndprocEndSubPrivateSubForm_Unload2Can__lAsIntegerDimretAsLong取消Message的截取,而使之又只送往原来的WindowPro__dureret=SetWindowLongMe.hwndGWL_WNDPROCpreWinProcEndSubPrivateSubCom__nd1_ClickForm
2.ShowUnloadMeEndSubPrivateSubCom__nd2_ClickForm
3.ShowUnloadMeEndSubPrivateSubCom__nd3_ClickDimyesAsStringyes=MsgBox你要确定退出?32+1提示信息Ifyes=1ThenUnloadMeEndIfEndSub
3、、学籍浏览窗口form
2.frmOptionExplicitPrivateSubForm_LoadData
1.DatabaseName=App.Path\xsxj.mdbDimretAsLong记录原来的WindowPro__dure的位址preWinProc=GetWindowLongMe.hwndGWL_WNDPROC设定form的windowPro__dure到wndprocret=SetWindowLongMe.hwndGWL_WNDPROCAddressOfWndprocEndSubPrivateSubForm_Unload2Can__lAsIntegerDimretAsLong取消Message的截取,而使之又只送往原来的WindowPro__dureret=SetWindowLongMe.hwndGWL_WNDPROCpreWinProcEndSubPrivateSubCom__nd1_ClickForm
1.ShowUnloadMeEndSubPrivateSubCom__nd2_ClickData
1.Recordset.MoveLastCom__nd
4.Enabled=TrueCom__nd
3.Enabled=FalseEndSubPrivateSubCom__nd3_ClickCom__nd
4.Enabled=TrueData
1.Recordset.MoveNextIfData
1.Recordset.EOFThenData
1.Recordset.MovePreviousCom__nd
3.Enabled=FalseEndIfEndSubPrivateSubCom__nd4_ClickCom__nd
3.Enabled=TrueData
1.Recordset.MovePreviousIfData
1.Recordset.BOFThenData
1.Recordset.MoveFirstCom__nd
4.Enabled=FalseEndIfEndSubPrivateSubCom__nd5_ClickData
1.Recordset.MoveFirstCom__nd
4.Enabled=FalseCom__nd
3.Enabled=TrueEndSub
4、成绩浏览窗口form
3.frmOptionExplicitPrivateSubCom__nd2_ClickData
1.Recordset.MoveLastCom__nd
4.Enabled=TrueCom__nd
3.Enabled=FalseEndSubPrivateSubCom__nd3_ClickCom__nd
4.Enabled=TrueData
1.Recordset.MoveNextIfData
1.Recordset.EOFThenData
1.Recordset.MovePreviousCom__nd
3.Enabled=FalseEndIfEndSubPrivateSubCom__nd4_ClickCom__nd
3.Enabled=TrueData
1.Recordset.MovePreviousIfData
1.Recordset.BOFThenData
1.Recordset.MoveFirstCom__nd
4.Enabled=FalseEndIfEndSubPrivateSubCom__nd5_ClickData
1.Recordset.MoveFirstCom__nd
4.Enabled=FalseCom__nd
3.Enabled=TrueEndSubPrivateSubForm_LoadData
1.DatabaseName=App.Path\xscj.mdbDimretAsLong记录原来的WindowPro__dure的位址preWinProc=GetWindowLongMe.hwndGWL_WNDPROC设定form的windowPro__dure到wndprocret=SetWindowLongMe.hwndGWL_WNDPROCAddressOfWndprocEndSubPrivateSubForm_Unload2Can__lAsIntegerDimretAsLong取消Message的截取,而使之又只送往原来的WindowPro__dureret=SetWindowLongMe.hwndGWL_WNDPROCpreWinProcEndSubPrivateSubCom__nd1_ClickForm
1.ShowUnloadMeEndSub
5、学籍管理窗口form
4.frmOptionExplicitPrivateSubCom__nd1_ClickForm
1.ShowUnloadMeEndSubPrivateSubCom__nd2_ClickDimnumAsStringDimnAsStringDimsAsIntegerData
1.Recordset.MoveFirstnum=InputBox请输入要删除的学生学号(三位数)DoWhileNotData
1.Recordset.EOFn=Data
1.Recordset.Fields学号Ifnum=nThens=MsgBox确定要删除吗?vbQuestion+vbOKCan__l确定删除Ifs=1ThenData
1.Recordset.DeleteData
1.Recordset.MoveNextIfData
1.Recordset.RecordCount0ThenIfData
1.Recordset.EOFThenData
1.Recordset.MoveLastEndIfEndIfEndIfExitDoElseData
1.Recordset.MoveNextEndIfLoopIfData
1.Recordset.EOFThenData
1.Recordset.MoveFirstMsgBox查无此人EndIfEndSubPrivateSubCom__nd3_ClickDimnAsStringData
1.RefreshDoWhileNotData
1.Recordset.EOFn=Data
1.Recordset.Fields学号Iftext
1.Text=nThenMsgBox已有学号text
1.Enabled=Falsetext
2.Enabled=Falsetext
3.Enabled=Falsetext
4.Enabled=Falsetext
5.Enabled=Falsetext
6.Enabled=Falsetext
7.Enabled=Falsetext
8.Enabled=Falsetext
9.Enabled=FalseExitDoElseData
1.UpdateRecordData
1.RefreshData
1.Recordset.MoveLasttext
1.Enabled=Falsetext
2.Enabled=Falsetext
3.Enabled=Falsetext
4.Enabled=Falsetext
5.Enabled=Falsetext
6.Enabled=Falsetext
7.Enabled=Falsetext
8.Enabled=Falsetext
9.Enabled=FalseEndIfLoopEndSubPrivateSubCom__nd4_ClickData
1.RefreshData
1.Recordset.AddNewtext
1.Text=text
2.Text=text
3.Text=text
4.Text=text
5.Text=text
6.Text=text
7.Text=text
8.Text=text
9.Text=text
1.Enabled=Truetext
2.Enabled=Truetext
3.Enabled=Truetext
4.Enabled=Truetext
5.Enabled=Truetext
6.Enabled=Truetext
7.Enabled=Truetext
8.Enabled=Truetext
9.Enabled=TrueEndSubPrivateSubCom__nd5_ClickDimnumAsStringDimnAsStringnum=InputBox请输入三位数学号学号查询Data
1.RefreshDoWhileNotData
1.Recordset.EOFn=Data
1.Recordset.Fields学号Ifn=numThenExitDoElseData
1.Recordset.MoveNextEndIfLoopIfData
1.Recordset.EOFThenData
1.Recordset.MoveFirstMsgBox查无此人EndIfEndSubPrivateSubCom__nd6_ClickDimnameAsStringDimmAsStringname=InputBox请输入学生姓名姓名查询Data
1.RefreshDoWhileNotData
1.Recordset.EOFm=Data
1.Recordset.Fields姓名Ifm=nameThenExitDoElseData
1.Recordset.MoveNextEndIfLoopIfData
1.Recordset.EOFThenData
1.Recordset.MoveFirstMsgBox查无此人EndIfEndSubPrivateSubForm_LoadData
1.DatabaseName=App.Path\xsxj.mdbDimretAsLong记录原来的WindowPro__dure的位址preWinProc=GetWindowLongMe.hwndGWL_WNDPROC设定form的windowPro__dure到wndprocret=SetWindowLongMe.hwndGWL_WNDPROCAddressOfWndprocEndSubPrivateSubForm_Unload2Can__lAsIntegerDimretAsLong取消Message的截取,而使之又只送往原来的WindowPro__dureret=SetWindowLongMe.hwndGWL_WNDPROCpreWinProcEndSub
6、成绩管理窗口form
5.frmOptionExplicitPrivateSubCom__nd1_ClickForm
1.ShowUnloadMeEndSubPrivateSubCom__nd3_ClickAdodc
1.ConnectionString=Provider=Microsoft.Jet.OLEDB.
4.0;DataSour__=App.Path\xscj.mdb;PersistSecurityInfo=FalseDimcnAsNewADODB.ConnectionDimrsAsNewADODB.RecordsetDimsqlAsStringDimcnstrAsStringcn.CursorLocation=adUseClientcnstr=Provider=Microsoft.Jet.OLEDB.
4.0;DataSour__=App.Path\xscj.mdb;PersistSecurityInfo=Falsecn.ConnectionString=cnstrcn.Opencnstrsql=select*fromxscjrs.OpensqlcnadOpenStaticadLockOptimisticadOpenStatic或许用adOpenDynamicSetDataGrid
1.DataSour__=rsEndSubPrivateSubCom__nd5_ClickDimcnAsNewADODB.ConnectionDimrsAsNewADODB.Recordsetrs.CursorLocation=adUseClientcn.ConnectionString=Provider=Microsoft.Jet.OLEDB.
4.0;DataSour__=App.Path\xscj.mdb;PersistSecurityInfo=Falsecn.OpenIfText
1.Text=ThenMsgBox请填写学号!vbExcla__tion提示信息ExitSubEndIfrs.Openselect*fromxscjwhere学号=Text
1.TextcnadOpenKeysetadLockOptimisticIfrs.RecordCount=0ThenMsgBox没有此学号!vbExcla__tion提示信息EndIfSetDataGrid
1.DataSour__=rsText
1.Text=EndSubPrivateSubCom__nd6_ClickDimcnAsNewADODB.ConnectionDimrsAsNewADODB.Recordsetrs.CursorLocation=adUseClientcn.ConnectionString=Provider=Microsoft.Jet.OLEDB.
4.0;DataSour__=App.Path\xscj.mdb;PersistSecurityInfo=Falsecn.OpenIfText
2.Text=ThenMsgBox请填写课号!vbExcla__tion提示信息ExitSubEndIfrs.Openselect*fromxscjwhere课号=Text
2.TextcnadOpenKeysetadLockOptimisticIfrs.RecordCount=0ThenMsgBox没有此课号!vbExcla__tion提示信息EndIfSetDataGrid
1.DataSour__=rsText
2.Text=EndSubPrivateSubForm_LoadAdodc
1.ConnectionString=Provider=Microsoft.Jet.OLEDB.
4.0;DataSour__=App.Path\xscj.mdb;PersistSecurityInfo=FalseDimcnAsNewADODB.ConnectionDimrsAsNewADODB.RecordsetDimsqlAsStringDimcnstrAsStringcn.CursorLocation=adUseClientcnstr=Provider=Microsoft.Jet.OLEDB.
4.0;DataSour__=App.Path\xscj.mdb;PersistSecurityInfo=Falsecn.ConnectionString=cnstrcn.Opencnstrsql=select*fromxscjrs.OpensqlcnadOpenStaticadLockOptimisticadOpenStatic或许用adOpenDynamicSetDataGrid
1.DataSour__=rsDimretAsLong记录原来的WindowPro__dure的位址preWinProc=GetWindowLongMe.hwndGWL_WNDPROC设定form的windowPro__dure到wndprocret=SetWindowLongMe.hwndGWL_WNDPROCAddressOfWndprocEndSubPrivateSubForm_Unload2Can__lAsIntegerDimretAsLong取消Message的截取,而使之又只送往原来的WindowPro__dureret=SetWindowLongMe.hwndGWL_WNDPROCpreWinProcEndSubPrivateSubCom__nd4_ClickDataGrid
1.AllowUpdate=TrueDataGrid
1.AllowAddNew=TrueEndSubPrivateSubCom__nd2_ClickDataGrid
1.AllowUpdate=FalseDataGrid
1.AllowAddNew=FalseDataGrid
1.AllowDelete=FalseEndSub
7、帮助窗口form
6.frmOptionExplicitPrivateSubForm_LoadDimretAsLong记录原来的WindowPro__dure的位址preWinProc=GetWindowLongMe.hwndGWL_WNDPROC设定form的windowPro__dure到wndprocret=SetWindowLongMe.hwndGWL_WNDPROCAddressOfWndprocEndSubPrivateSubForm_Unload2Can__lAsIntegerDimretAsLong取消Message的截取,而使之又只送往原来的WindowPro__dureret=SetWindowLongMe.hwndGWL_WNDPROCpreWinProcEndSubPrivateSubCom__nd1_ClickUnloadMeEndSub
六、设计小结经过设计和__,学生学籍管理系统基本__完毕其功能基本符合用户需求,能够完成学生学籍的存储和成绩的查询以及修改等工作对于数据的一致性的问题也通过程序进行了有效的解决 但是由于时间较短,所以该系统还有许多不尽如人意的地方,比如用户界面不够美观,部分功能设计比较简单,出错处理不够等多方面问题这些都有待进一步改善。