VB计算机高级语言多媒体教学演示系统(源代码+系统+开题报告)
收藏
资源目录
压缩包内文档预览:(预览前20页/共28页)
编号:149910683
类型:共享资源
大小:2.07MB
格式:RAR
上传时间:2021-10-10
上传人:好资料QQ****51605
认证信息
个人认证
孙**(实名认证)
江苏
IP属地:江苏
20
积分
- 关 键 词:
-
VB
计算机
高级
语言
多媒体
教学
演示
系统
源代码
开题
报告
- 资源描述:
-
VB计算机高级语言多媒体教学演示系统(源代码+系统+开题报告),VB,计算机,高级,语言,多媒体,教学,演示,系统,源代码,开题,报告
- 内容简介:
-
目 录摘 要1关键词2第一章 前言 3第二章 计算机辅助教学概述 32.1 计算机辅助教学的发展 32.2 CAI在我国的发展 32.3计算机辅助教学软件的现状及局限性 32.4 本文研究的内容 4第三章 系统开发软件介绍 43.1 开发工具:Visual Basic 6.0 43.2 Visual Basic 6.0运行环境 43.3 Visual Basic6.0应用程序设计过程5第四章 系统数据库设计54.1 数据库基本概况54.2 数据库中表的建立5第五章 系统各模块的实现及有关流程图65.1 系统模块概述 65.2 系统启动界面的实现 75.3 课程设置界面的实现 75.4 课程选择模块 85.4.1课堂讲学单元和课后作业单元 8 5.4.2实例讲演单元和特殊示例单元105.4.3课堂小结单元13 5.4.4实验环境单元135.4.5帮助单元135.4.6退出单元14 5.4.7主显示区145.5 更新课程模块155.5.1权限确认 155.5.2更新课程界面 16第六章 系统的创新点及不足16第七章 展望17参考文献 18附录A 系统使用说明 19 杭州师范学院本科毕业论文计算机高级语言多媒体教学演示系统摘 要 随着电子技术和计算机技术的发展,人们不再单纯满足于依靠书本来获取知识、接受知识,利用计算机来改革教学、汲取信息已成为众之翘盼。于是,在学校教育中引入计算机辅助教学就成为必然。同样的,在进行大学计算机高级语言教学时,也需要借助计算机平台构筑计算机高级语言教学新模式,利用辅助教学的优势分层次教学以培养学生自主学习、创新的能力。本文首先介绍了计算机辅助教学的发展及其存在缺陷,针对大学计算机高级语言授课特点,结合面向对象程序设计语言Visual Basic6.0在数据库应用方面的技术特点,来开发计算机高级语言多媒体教学演示系统。文章对系统总体功能、库文件的设计和“课堂讲学”“课堂实例”“特殊示例”“课后作业”“课堂小结”“帮助”等各部分功能的实现、系统的操作方法进行了说明。同时对教学软件的发展趋势进行了展望。关键词: 计算机辅助教学 ,Visual Basic6.0(VB6.0),数据库,计算机高级语言,演示系统AbstractWith the development of electronic technology and computer technology, people are no longer satisfied with relying on the books to obtain knowledge , accept knowledge simply, all peoples eager longing is to make use of computer to reform teaching , draw message. Then importing the computer- assisted instruction into school education becomes inevitable. Similarly, it is needed to construct a new mode of high-level language teaching through the computer platform while teaching the computer high-level language in the university, using the advantage of auxiliary teaching in order to bring up the students ability to study and innovate independently.The text introduced the development of CAI and its limitation at first, aimed at the characteristic of teaching the computer high-level language, combined with the technology characteristic in databases of Object Oriented Programming language visual basic 6.0 to design this computer high-level language multimedia demo system. The article explained the holistic function of system, the design of library documents and the realization of each parts function such as teaching in class,examples in class,special examples,homework,summary and so on, also the operation. Simultaneity, looked forward to the development direction of the Teaching software .Keywords:Computer-aided instruction, Visual basic6.0 (vb6.0), database, computer high-level language,Demo System第一章 前言 21世纪是一个知识大爆炸时代,接受和利用知识成为人类生产活动不可或缺的组成部分。而随着电子技术和计算机技术的发展,人们单纯依靠学校教育来获取知识、接受知识的传统模式在遭受质疑。特别是当知识的流通总量和更新速度与人们有限的学习时间、接受能力、理解能力间的矛盾越来越激烈,终身教育被提上议事日程之时,利用计算机来改革教学已成为众矢之的。美国总统克林顿曾在1997年提出的美国教育十点行动纲领中的最后一点中作了这样的论述:“我们必须将信息时代的威力引入学校。”以计算机为主要媒体的辅助教学开启了学校教育新的扉页。而计算机高级语言多媒体课堂演示系统则是借助计算机平台构筑计算机高级语言教学新模式,利用辅助教学的优势分层次教学以培养学生自主学习、创新的能力。第二章 计算机辅助教学概述 计算机作为20世纪信息社会发展的标志,被广泛地应用于各个行业并显示出了不可比拟的优越性。与其相比,传统的教育给予人们的认知无外乎孔子游历春秋各国、韩愈谓“师者,所以传道授业解惑者也”一种信息获取、分析、理解、交流的过程。而从这个层面上说,计算机流通的知识的广袤性、辅助教育的互动性使得计算机辅助教学成为学校教育的必然趋势。2.1 计算机辅助教学的发展计算机辅助教学(Computer Assistant Instruction,简称CAI)经历了几个不同的发展阶段。60年代是CAI的启蒙期,主要在美国。70年代是CAI的试验期,主要在美国、西欧和日本。80年代由于微型计算机的普遍使用使CAI的应用领域有了更深的拓展。而90年代网络的应用让CAI以更崭新亮丽的多媒体化形象出现在了世人面前。当前CAI发展的主要趋势是:(1) 多媒体CAI,通过声音、图形、动画和视频等多种表现媒体的运用来处理信息。(2) 网络化CAI,信息社会的中流砥柱便是网络。通过网络平台的搭建,可以实现虚拟系统的创设,从而丰富信息资源库;而远程教育网站的投入使用,不仅使得人们能够不囿时空地进行学习,而且使人机优势得到突显。(3) 智能化CAI,它是由专家系统和人工智能技术支持的CAI深入发展的高级阶段,能根据学生的特点来选择合适的教程实现灵活的交互功能。2.2 CAI在我国的发展 在我国,计算机辅助教学也从60年代开始。但是直到70年代结束,辅助教学也没有走出研究室的桎梏真正应用到实践。第二阶段是80年代,有一些教育者对辅助教学产生了兴趣,并开始着手制作一些简单的教学软件,与此同时,1987年全国计算机辅助教育学会也正式成立,计算机辅助教育开始引起我国教育主管部门的重视。第三个阶段是90年代,在这一时期里,各行各业的人士对计算机辅助教学都萌生了窥其妙的心理。在1996年“计算机辅助教学软件研制开发与应用”这一“九五”国家重大科技攻关项目被纳上研究轨道,业内人士特别是教育者们对辅助教育都投以浓厚的兴趣,对CAI的制作、研究、发展给予了高度的支持3。 2.3计算机辅助教学软件的现状及局限性 计算机辅助教学软件是用来控制计算机实现教学功能的软件。通过这一媒介,教师能够将信息有效地传递给学生,而学生则依附于它完成对知识的获取及吸纳。以往的教学软件通常由计算机者来制作,但是在制作过程中知识与系统框架如何连接却无时不刻困扰着制作群体,同样的应用群体也为此而焦头烂额:使用的教学软件只是单纯地利用计算机来进行教学模拟,或简单地依附计算机将书本的文字、图片应用可视化的屏幕来实现,而常常忽略知识点的融合性和渗透性,学生的主体意识没有得到充分地正视,而应用群体本身对知识的发散性、理解性也没有得到充分地展现。尽管现下教育者们已经有意识地自己制作教学软件,但是在技术应用上却存在着很大的障碍。就算是制作好了软件,软件的应用与创作者本身却产生了尴尬只要能应用到课堂教学中的教学软件就是一种好软件。尽管现在开发出来的教学软件不胜枚举,但是其良莠不齐的程度着实让应用者却步不前。制作精良的所要的费用实在是高,而一般的又不能透过现象看本质无非是书本搬家,至于差一点的可能就要被冠以误导学生之嫌。同样的,尽管现在高校中CAI课件的应用已如火如荼,其使用的效果也不甚理想。首先对于CAI的开发大多是孤军作战,往往同一门课几个教师同时讲授,几个人都在开发CAI课件,各自为战,各显其能,造成了人力、物力和时间的极大浪费;其次,高校内的硬件设施不够完备,无法实现学生对教学软件的充分利用;而教师制作软件的风格与秉承的教学理念的差异也让教学软件与学生间无法形成契合。2.4 本文研究的内容针对高校中学生兴趣各异、创新能力、实践能力不尽相同的特点,以及工科专业中C、C+、C#、Visual Basic等计算机高级语言的互通性,开发了这个适应大学计算机高级语言教学的多媒体课堂教学演示系统。这个计算机高级语言多媒体课堂教学演示系统集中体现了因材施教的特点,帮助教师根据学生的基础和发展潜力制定科学合理的授课方案,在授课中又以实例带动教学引发学生求知欲。其开发主要包括后台数据库的建立和维护以及前端应用程序的开发两个方面。对于前者要求建立起数据一致性和完整性强、数据安全性好的库;而对于后者则要求应用程序功能完备,易使用等特点。在借鉴同类软件的基础上,结合实例应用情况,仔细推敲用户的操作感受和应用要求,力求做到软件的功能强大、界面简洁、操作简便、稳定性及安全性高。同时避免单纯依托于教材的思维定势,以认知主义、建构主义为理论基础,融合多种表现手段,将图文声音有效地与软件结合,为高级语言教学提供了一种新的途径。第三章 系统开发软件介绍“工欲善其事,必先利其器”,制作教学软件,选择一个好的编程工具往往能起到事半功倍的效果。目前用于多媒体开发的主要有VB、AUTHORWARE和FRONTPAGE等。在设计本计算机高级语言课堂教学演示系统时,主要采用的是visual basic6.0。3.1 开发工具:Visual Basic 6.0Visual Basic采用面对对象的程序设计思想,功能强大被很多课件的开发者所青睐,它和许多课件开发平台相比,具有更好的灵活性,可以充分的实现开发者的意图,是开发多媒体程序的利器。VB既是一种编程语言,同时又是一个强大的集成开发环境,更像一个庞大的工具箱。它语法简单,自然直观,操作便捷,易学易用,不用费时费力去编写大量的语言程序,而只要利用系统本身所带的各种现成的、形象化的程序控件、模块,就可以快速完成自己的应用程序。利用它几乎可以开发出人们所能想象到的任何应用程序。VB可以通过其ActiveX控件可方便的调用其他多媒体元素,灵活地将各种多媒体元素结合起来。它在Windows环境下使用具有很强的兼容性、结构化程序设计及对象的链接与嵌入的特性。在CAI课件制作中,VB是功能最为强大的软件之一。它适用于精确的实验演示、具有数据输入动态的课件的制作。3.2 Visual Basic 6.0运行环境由于Visual Basic6.0是Microsoft公司推出的专门针对32位Windows操作系统的程序设计语言,必须在WINDOWS9X2000、WindowsNT、WindowsXP上运行。如在WINDOWS95上运行,至少需要下列条件: 具有80486(或更高)微处理器且与IBM PC兼容的微机:VGA或更高分辨率的显示器;一个鼠标;至少128MB内存;至少48MB的硬盘空间用于VB的最小安装,如果需要完全安装则需要147MB的硬盘空间。3.3 Visual Basic6.0应用程序设计过程通常一个Visual Basic 应用程序的开发主要包括:设置应用程序系统环境的工程文件以及窗体文件, 安置控件,编写控件程序代码,以及保存工程、生成可执行文件等。 3.4VB对数据库的操作ADO方面的内容ActiveX Data Objects (ADO) 是微软最新的数据访问技术。它被设计用来同新的数据访问层OLE DB Provider一起协同工作,以提供通用数据访问(Universal Data Access)。OLE DB是一个低层的数据访问接口,用它可以访问各种数据源,包括传统的关系型数据库,以及电子邮件系统及自定义的商业对象。 ADO向我们提供了一个熟悉的,高层的对OLE DB的Automation封装接口。对那些熟悉RDO的程序员来说,你可以把OLE DB比作是ODBC驱动程序。如同RDO对象是ODBC驱动程序接口一样,ADO对象是OLE DB的接口;如同不同的数据库系统需要它们自己的ODBC驱动程序一样,不同的数据源要求它们自己的OLE DB提供者(OLE DB provider)。目前,虽然OLE DB提供者比较少,但微软正积极推广该技术,并打算用OLE DB取代ODBC。 ADO向VB程序员提供了很多好处。包括易于使用,熟悉的界面,高速度以及较低的内存占用(已实现ADO2.0的Msado15.dll需要占用342K内存,比RDO的Msrdo20.dll的368K略小,大约是DAO3.5的Dao350.dll所占内存的60)。同传统的数据对象层次(DAO和RDO)不同,ADO可以独立创建。因此你可以只创建一个“Connection”对象,但是可以有多个,独立的“Recordset”对象来使用它。ADO针对客户服务器以及WEB应用程序作了优化。以前的对象模型,如DAO和RDO是层次型的。也就是说一个较低的数据对象如Recordset是几个较高层次的对象,如Environment和QueryDef,的子对象。在创建一个QueryDef对象的实例之前,你不能创建DAO Recordset对象的实例。但ADO却不同,它定义了一组平面型顶级对象。 最重要的三个ADO对象是Connection, Recordset和Command。 本文将主要介绍Connection和Recordset这两个对象。每个Connection的属性定义了与数据源的连接。Recordset对象接收来自数据源的数据。Recordset可以与Connection一起使用,先建立一个连接,然后获取数据。尽管如此,Recordset也可以被单独创建,其Connection参数可以在Open属性定义。3.4.1 ADO使用方法一旦安装了ADO,在VB的工程-引用对话框中选择“ActiveX Data Objects 1.5 Library” (ADODB).在其下的 “ADO Recordset 1.5 Library”是一个客户端的版本(ADOR),它定义了有聚的数据访问对象。ADOR 对于客户端的数据访问来说是足够的了,因为你不需要Connection对象来建立与远程数据源的联系。 如果你想要访问更多的外部数据源,你需要安装这些外部数据源自己的OLE DB Provider,就像你需要为新的数据库系统安装新的ODBC驱动程序一样。如果该外部数据源没有自己的OLE DB Provider,你就得使用OLE DB SDK来自己为这个外部数据源创建一个OLE DB Provider了 。3.4.2 ADO的三大属性ADO 主要包括connection,recordset,command这3大对象集合。其中connection对象主要用来建立与数据库的连接。Recordset用来保存获取到的记录集,利用connection的cursorlocation属性可以利用非在线的方式更新数据。Command用来实施对数据库的管理,ADO具有Errors集合,可以方便地查出错误所在并处理。3.4.3 Connection对象一、Connection对象的属性Attributes: 可读写Long类型,通过两个常数之和指定是否使用保留事务(retainning transactions)。常数adXactCommitRetaining表示调用CommitTrans方法时启动一个新事务;常数adXactAbortRetaning表示调用RollbackTrans方法时启动一个新事务。默认值为0,表示不使用保留事务。CommandTimeout: 可读写Long类型,指定中止某个相关Command对象的Execute调用之前必须等待的时间。默认值为30秒。 ConnectionString: 可读写String类型,提供数据提供者或服务提供者打开到数据源的连接所需要的特定信息。ConnectionTimeout: 可读写Long类型,指定中止一个失败的Connection.Open方法调用之前必须等待的时间,默认值为15秒。 CursorLocation :可读写Long类型,确定是使用客户端(adUseClient)游标引擎,还是使用服务器端(adUseServer)游标引擎。默认值是adUseServer。 DefaultDatabase: 可读写String类型,如果ConnectString中未指定数据库名称,就使用这里所指定的名称,对SQL Server而言,其值通常是pubs。 IsolationLevel: 可读写Long类型,指定和其他并发事务交互时的行为或事务。见IsolationLevel常数。 Mode Long类型,指定对Connection的读写权限。见Mode常数。 Provider: 可读写String类型,如果ConnectionString中未指定OLE DB数据或服务提供者的名称,就使用这时指定的名称。默认值是MSDASQL(Microsoft OLE DB Provider for ODBC)。 State: 可读写Long类型,指定连接是处于打开状态,还是处于关闭状态或中间状态。见State常数。 Version: 只读String类型,返回ADO版本号。 注意:上面所列出的大多数可读写的属性,只有当连接处于关闭状态时才是可写的。只有当用户为Connection对象用BeginTrans.CommitTrans.RollbackTrans方法定义了不遗余力,事务隔离程度的指定才真正有效。如果有多个数据库用户同时执行事务,那么应用程序中必须指定如何响应运行中的其他事务。二、 Connection对象的方法BeginTrans: 初始化一个事务;其后必须有CommitTrans和或RollbackTrans相呼应 Close: 关闭连接 CommitTrans: 提交一个事务,以完成对数据源的永久改变(要求使用之前必须调用了BeginTrans方法) Execute: SELECT SQL语句返回一个forward-only Recordset对象,也用来执行那些不返回Recordset语句,如INSERT、UPDATE、DELETE查询或DDL语句 Open: 用连接字符串来打开一个连接 OpenSchema: 返回一个Recordset对象以提供数据源的结构信息(metadata) RollbackTrans: 取消一个事务,恢复对数据源做的临时性改变(要求使用之前必须调用了BeginTrans方法) 注:只有Execute、Open和OpenSchema三个方法才能接受变元参数。Execute的语法为:cnnName.Execute strCommand,lngRowsAffected,lngOptionsstrCommand的值可以是SQL语句、表名、存储过程名,也可以是数据提供者所能接受的任意字符串。为了提高性能,最好为lngOptions参数指定合适的值(详见lngOptions参数用到的常数),以使提供者解释语句时不用再去判定其类型。可选参数lngRowsAffected将返回INSERT、UPDATE或DELETE查询执行以后所影响的数目。这些查询会返回一个关闭的Recordset对象。一个SELECT查询将返回lngRowsAffected值为0并且返回带有一行或多行内容的打开的forward-only Recordset。3.4.4 Recordset对象一、 Recordset对象的属性AbsolutePosition: 可读写的Long类型(从1开始计数),设置或返回当前记录年处的位置。AbsolutePosition的最大取值是RecordCount属性的值。 ActiveCommand :可读写的String类型,Recordset所关联的先前打开的Command对象名称 ActiveConnection:指针类型,指向Recordset所关联的先前打开的Connection对象,或指向一条完整有效的ConnectionString串值。 BOF*: 只读Boolean类型,若为True,表明记录指针已位于Recordset第一条记录之前,并且没有了当前记录。Bookmark*: 可读写Variant类型,返回对特定记录的引用或使用一个Bookmark值使记录指针指向特定记录。CursorLocation: 可读写Long类型,指定可流动游标的位置,即CursorType是位于客户端还是位于服务器端,见CursorLocation用到的常数。默认值是使用OLE DB数据源提供的游标。 DataMember:指针类型,指向关联的DataEnvironment.Command对象 DataSource:指针类型,指向关联的DataEnvironment.Connection对象 EditMode*:只读Long类型,返回Recordset的编辑状态,见EditMode用到的常数 EOF*: 只读Boolean类型,若为True,表明记录指针已超出Recordset的最后一条记录,并且没有了当前记录。 Filter*: 可读写Variant类型,要么是一条件表达式(一条有效的SQL WHERE子句但又不出现保留字WHERE),要么是指向特定记录的Bookmark数组,要么是一个Filter常数,详见Filter用到的常数。 Sort*: 可读写String类型,包含一条不含保留字ORDER BY的SQL ORDERY BY子句,用以指定Recordset的排序方式 Source*: 可读写String类型,可以是SQL语句、表名、存储过程名或相关Command对象名。如果提供了Command对象名,则Source将返回。Command.CommandText的值。利用Open方法的参数lngOptions可以指定提供给Source值的类型。 二、 Recordset对象的方法AddNew*:向可更新的Recordset添加一条新记录。调用语法为rstName.AddNewvarField|avarFields,varValue|avarValuese,其中varField是单个字段名,avarFields是字段名数组。varValue是单个字段值,avarValue是由avarFields指定字段的值所组成的数组。调用Update方法则把新记录加到数据库的表中。如果向主关键字不是第一个字段的Recordset中添加记录,则必须在AddNew方法中指定主关键字的名称和值 Cancel: 取消异步查询的执行,中止存储过程或复合SQL语句创建多个Recordset,调用语法为rstName.Cancel Close: 关闭Recordset对象,以后可以重新设Recordset的属性并使用Open方法来再度访问Recordset 。调用语法为:rstName.Close Delete*: 如果Recordset的LockEdit属性值未设为adLockBatchOptimistic,立刻从Recordset和相应表中删除当前记录 Find: 寻找满足指定条件的记录。调用语法为:rstName.Find strCriteria ,lngSkipRecords, lngSearchDirection ,lngStart,其中strCriteria是不含WHERE关键字的SQL WHERE子句,可选参数lngSkipRecords是应用Find前所跳过的记录数目,lngDirection指定查找方向(adSearchForward,和adSearchBackward,其中adSearchForward是默认值),可选参数lngStart指定了从哪儿开始查找,其值要么是一个Bookmark值,要么是Bookmark常数,见varStart参数用到的Bookmark常数。 GetString: 默认情况下,返回指定数目记录的String串值,记录间由返回代码分隔。记录内由tab分隔。调用语法为: strClip=rstname.GetString(lngRows, strCloumnDelimiter,strRowDelimiter,strNullExpr)。其中lngRows为返回记录行数,strColumnDelimiter为可选的列分隔符(vbTab是默认值),strRowDelimiter是可选的行分隔符(vbCr是默认值),strNullExpr是可选参数,用于碰到Null值时的替代值(默认值是空字符串)。GetString的主要用途是通过把控件的Clip属性设为strClip来处理MSFlexGrid或MSHFlexGrid控件 Move*:从当前记录移动记录指针。调用语法为:rstName.Move lngNumRecords , varStart,其中lngNumRecords是要跳过的记录数,可选选参数varStart指定从哪开始移动。其值要么是一个Bookmark值,要么是Bookmark常数,见varStart参数用到的Bookmark常数。 MoveFirst*: 移动记录指针到第一条记录,调用语法为:rstName.MoveFirst MoveLast*: 移动记录指针到最后一条记录,调用语法为:rstName.MoveLast MoveNext:移动记录指针到下一条记录,调用语法为:rstName.MoveNext。它是能用于forward-only Recordset的唯一Move方法 MovePrevious*: 移动记录指针到前一条记录,调用语法为:rstName.MovePrevious NextRecordset: 返回另外的Recordset,它通常由能产生多个Recordset的复合SQL语句(如SELECT * FROM orders;SELECT * FROM customers)或存储过程来创建。调用语法为Next=rstName.NextRecordset (lngRecordsAffected),其中可选参数lngRecordsAffected指定返回到rstNext中去的记录数目。如果已不存在Recordset,rstNext被设为Nothing Open: 在一个活动Command或Connection对象上打开一个Recordset,调用语法为:rstName.Open varSource , varActiveConnection , lngCursorType , lngLockType , lngOptions。这些参数都是可选的, Requery: 重新从表中获取Recordset的内容,等效于Close后再Open。它是一个资源集中型操作。语法为:rstName.Requery Update*: 使对Recordset的修改对底层数据源中的表生效。对于批量操作,Update方法只使修改对本地(Cached)Recordset生效。调用语法为rstName.Update 三、 Recordset对象的事件EndOfRecordset: 记录指针试图移到最后一条记录之外时FieldchangeComplete:字段值的改变完成之后MoveComplete Move或Move. :方法执行之后RecordsChangeComplete: 对单个记录编辑完成以后RecordsetChangeComplete :缓存中的改变对底层表生效之后WillChangField:对字段值改变之前WillChangeRecord: 对单个记录改变之前WillChangeRecordset: 缓存中的改变对底层表生效之前WillMove Move或Move.:方法执行之前 第四章 系统数据库设计4.1 数据库基本概况数据库是在电子计算机的外存储器上按一定组织方式存储在一起的,相互有关且具有最小冗余度和可共享的、具有较高独立性的、能确保安全和完整的数据集合。数据库系统是用于组织和存取大宗数据的管理系统,它是有关电子计算机系统(硬件与基本软件)、数据库及其描述机构、数据库管理、用户及其应用程序、数据库管理员等几方面组成的总体。在现阶段数据库管理系统有:关系型数据库管理系统、分布式数据库管理系统、面向对象式数据库管理系统、多媒体数据库管理系统。在这当中,关系型数据库管理系统是当前普遍采用的性能较好的数据库,而 Access2000 就是关系数据库开发工具,它能汇集各种信息以供查询、存储和检索。其优点在于:(1)Access使用数据表示图或自定义窗体收集信息,可以使数据库一目了然。 (2)Access 允许创建自定义报表用于打印或输出数据库中的信息。(3)Access也提供了数据存储库,可以使用桌面数据库文件把数据库文件置于网络文件服务器,与其他网络用户共享数据库。(4)Windows用户面广,Access与其他微软的软件产品通过共用JET数据库引擎,从而提供了丰富的数据类型。而作为系统开发工具的Visual Basic6.0具有强大连接Access数据库的功能,能够很方便地调用、访问Access,所以本系统的后台数据库采用Microsoft推出的Access2000。4.2 数据库中表的建立 字段名字段含义长度、类型说明Charpter章节编号文本(10)Title授课主题文本(50)Content授课内容备注Program实例程序代码备注 表1表1(1)vblesson表:在该表中存放了一些关于Visual Basic6.0的授课内容信息,例如:章节编号、授课主题、授课内容、实例程序代码等。这个表内的信息是系统的主体基础,用于Viusal Basic6.0教学的数据将从该表中提取。表结构见表1。(2)clesson表:在该表中存放了一些关于C语言的授课内容信息,其表结构似表1。(3)vbhomework表:在该表中存放了一些关于Visual Basic6.0的作业内容信息,例如:课后练习、章节、vbhomework(初级难度的课后作业)等。这个表内的信息是教师有意识地进行分层教学的基础,用于Viusal Basic6.0教学课后作业的数据将从该表中提取。表结构见表2。字段名字段含义长度、类型说明课后练习用以标注此部分内容文本(10)章节章节编号文本(10)vbhomework课后作业备注难度初级 表2 (4)vbmhomework表:在该表中存放了一些关于Visual Basic6.0的作业内容信息,例如:课后练习、章节、vbmhomework(中级难度的课后作业)等。表结构类似表2。(5)vbhhomework表:在该表中存放了一些关于Visual Basic6.0的作业内容信息,例如:课后练习、章节、vbhhomework(高级难度的课后作业)等。表结构类似表2。第五章 系统各模块的实现及有关流程图5.1 系统模块概述由于本系统是一种演示型教学软件,而且其使用对象是大学教师、观看用户是大学生,所以在进行系统模块设计的时候,必须考虑此两种对象的心理、年龄、性格特点,针对其所具知识层面的差异性、相近性、思维发散能力,以及语言的互通性特点,在结合自身学习实践、教师调查取证、同学调查的基础上,在本系统中采用了以下的设计思路: 5.2 系统启动界面的实现在系统启动界面里面,使用了进度条控件,通过在Form_Load()事件中编写如下代码:Dim i As Integer For i = 0 To 100 Step 4 ProgressBar1.value = I Sleep 100 DoEventsNext i 图(2)预示加载成功,可以进入主界面实现一个虚拟的动态装载程序的过程,如图(1)。在此过程后,用户可以点击界面上的手型图标(此时鼠标形状变为指向左的手形),即可进入主界面。图(2)所示。而在窗体加载的过程中将伴随一段背景音乐。 图(1)程序的执行过程5.3 课程设置界面的实现 图(3)课程设置界面课程设置界面主要由两个功能模块组成。其一是“课程选择”模块;其二是“更新课程”模块。在这个界面里,作为用户可以在课前设置教授的课程内容,并及时地对课程内容加以更新、修改。由于不同用户间其教学理念的差异及讲授课程的不同,在进行具体的软件设计时无法完全满足用户需求,而且在不同时期教师的授课方式及秉承的教学理念会相应地作出调整,授课对象的接受差异性也要求软件的调适性要高一些,所以为了契合计算机教学的发展趋势,使该软件能够为绝大多数计算机高级语言教师所采纳,创建了这一界面。如图(3)所示。为了实现课程选择,在界面上放置了combo控件,以便用户来选择讲授课程。当用户对所选课程进行了“确定”操作后便会进入相应的教学讲授界面。而更新课程则和combo控件间形成对应关系,只有在确定讲授课程后,用户才能对课程内容进行更新。在此基础上为便于用户进出系统,通过imagelist控件设置了图(3)右下方的电脑图标按钮以退出系统。5.4课程选择模块的实现简单地说,课程选择其实是进入课程讲学的媒介。通过它,用户可以很方便地选择自己所需要的教学内容来实现授课目的。如现在选择了“Visual Basic 6.0”,则其教学界面如图(4)。 图(4)教学界面教学主界面管理模块主要由功能区和演示区两部分组成。功能区由弹出式菜单和ToolBar中的控制按钮组成,每个菜单项对应相应的控制按钮,实现功能。由于本系统的特殊性,在设计该管理模块之时定义了七个功能项,用以实时调用,完成“课堂讲学”“实例讲演”“特殊示例”“课堂小结”“课后作业”“实验环境”“帮助”“退出”的功能。而演示区则提供给用户一个显示内容的空间。5.4.1课堂讲学单元和课后作业单元 课堂讲学单元和课后作业单元是实现在演示区显示授课内容和课后作业的功能。由于这里要访问在ACCESS2000中建立的表vblesson和vbhomework、vbmhomework、vbhhomework,所以要利用Visual Basic6.0中的数据访问接口。Visual Basic6.0有三种可用的数据访问接口:数据访问对象(DAO)、远程数据对象(RDO)以及ActiveX数据对象(ADO)。 数据访问对象(DAO,DATA ACCESS OBJECTS)是第一个面向对象的接口,它显露了Microsoft Jet数据库引擎(由Microsoft Access所使用),并允许VB开发者通过ODBC直接连接到Access数据库,最适用于单系统应用系统或小范围本地分布使用。 RDO(DATA ACCESS OBJECTS)远程数据对象是一个到ODBC的、面向对象的数据访问接口,它同易于使用的DAO组合在一起,提供了一个接口,在形式上展示出所有ODBC的底层功能和灵活性。它是一个适用于大型关系型数据库(如Oracle、Server等)的最佳接口。 ADO是类似于DAO和RDO的面向对象的数据库访问技术,它比RDO和DAO更加简单、更加灵活。不仅扩展了前两者所使用的对象模型,而且支持建立客户端/服务器以及Web应用程序的关键功能。基于三者的特征以及所构筑系统的特点,选择ADO进行数据访问。而ADO大部分功能的实现依赖的是Connection、Recordset等对象。以下图来参看ADO的对象层次: 图(5)ConnectionCommandParametersRecordsetRecordFieldsFieldsStreamErrors图中显示的带阴影的对象具有Property对象的属性集合,可以设置各种参数。在本教学软件中主要采用到的对象有:Connection对象,用于和数据源建立连接;Recordset对象,用于指定从命令对象中获取数据的运行参数;Field对象,表示一个记录集中数据的某个单独的字段。实现的技术手段为:Public connection As New ADODB.connection /定义新连接Dim DATASET As New ADODB.Recordset /定义记录集Dim connectstring As Stringconnectstring = Provider=Microsoft.Jet.OLEDB.4.0;Data Source= & App.Path & book.mdb /创建数据源连接On Error GoTo exitsub /错误检测connection.Open connectstring /开启连接Exit Subexitsub:MsgBox 数据库打开错误!, vbOKOnly + vbExclamation, 警告EndResume Next为了访问后台数据库中特定的表,必须为记录集指定表,其语法描述为:Recordset.Open Source, ActiveConnection, CursorType, LockType, Options例如要访问的是vblesson表,则可以通过下面的语句来实现该功能:DATASET.Open SELECT * FROM vblesson, Form2.connection, adOpenKeyset, adLockOptimisticIf Text1.Text ThenDATASET.CloseEnd If DATASET.Open SELECT * FROM vblesson, Form2.connection, adOpenKeyset, adLockOptimistic Dim i As Integer For i = 0 To 40 DATASET.MoveNext Next i Text1.Text = DATASET.Fields(0) Text2.Text = DATASET.Fields(1) Text3.Text = DATASET.Fields(2) Text4.Visible = False Text3.Height = 5295 /注意此时无实例程序代码,若有,则 Text4.visible=True Text3.Height=1400 Text4.Text=DATASET.Fields(3) 为了能够随时调用需要用的教学内容,在功能区的按钮区域“课堂讲学”“课后作业”分别设置了弹出式菜单。前者对应的是每一章每一小节的内容,后者则对应作业的初、中、高三个级别。鉴于课堂讲学内容的特殊性(有相应的实例教学),所以在判断后台数据库记录集内容的基础上,给每个二级子菜单定义了如下程序:5.4.2 实例讲演单元和特殊示例单元实例讲演和特殊示例单元是本系统中最重要的两个单元。通过引入实例来引导学生进行语言的学习。其实实例化教学很早就被提上教学议事日程,但是将它真正在教学软件中实践的时期却比较短。由于大学计算机高级语言是一个抽象化的概念,如果单纯依托文字的讲演,达不到较好的教学效果,反而会引起学生对概念的困惑。一般来说,学生对新鲜事物都有比较浓厚的兴趣。当然对计算机也不例外,事实上好多学生通过玩游戏、上网和多媒体制作等对计算机产生了浓厚的兴趣,因为他们觉得这些好玩、有趣。但是一旦他们接触到变量、函数、语句等时,就立刻觉得枯燥乏味,对其失去了信心。其实,这只不过是传统教学方法带来的后果,我们完全可以通过实例化教学来改变这种状况。实例化教学的目的是通过举例使学生掌握相关的知识点,而每次举例总会或多或少的涉及到一些新的知识点。这些新知识点的传授若是按传统的教学方法是先讲例子中要用到的知识点,然后再举例说明这些知识点的应用。而实例化教学刚好相反,它先是给学生演示具体的例子,告诉学生这个例子实现了哪些功能,而这些功能的实现需要用到哪些方法,以引起学生的好奇与思考,带着问题进入正式的学习的阶段,从而大大激发学生的求知欲,使学生在听课的时候有明确的学习目标,知道该向哪个方向努力。 在本单元中主要是利用菜单通过shell函数来动态调用外部的实例程序。Shell的语法:shell(pathname,windowstyle)其中,Pathname是必要参数,代表要执行的程序名,以及任何必需的参数或命令行变量,可能还包括目录或文件夹,以及驱动器;Windowstyle是可选参数,其类型是Variant (Integer),表示在程序运行时窗口的样式。如果shell 函数成功地执行了所要执行的文件,则它会返回程序的任务 ID。任务 ID 是一个唯一的数值,用来指明正在运行的程序。如果不能打开命名的程序,则会产生错误。在特殊示例单元则主要选取了一些大学计算机高级语言课程中较常出现的一些程序,如单重循环、双重循环、选择法排序(升序)、冒泡法排序(升序)、传址参数示例、传值参数示例等。应该说这几个程序示例在各语言的学习中是比较重要而且难以理解的,为了让听课者能够充分了解程序的执行过程,进一步学习语言,在这一环节主要采用了动画实现的方式。 图(6) 如在选择法排序中,首先在窗体上放置16个文本框,上方8个文本框用来放置随机产生的8个数,下方的8个文本框则是用来显示选择法排序每个阶段的数据排列情况。界面如图(6)所示:为了让演示能够更直观更能反映选择法排序(升序)的作用,在程序的一开始就设置出现的数据项是随机的,其代码如下:Private Sub Command1_Click()Const n = 7Dim a(n) As IntegerDim i, j, temp As IntegerRandomize /产生随机的八个数For i = 0 To n a(i) = Int(Rnd * 90 + 10) Text1(i).Text = a(i) /在上方文本框中显示随机数值 Text2(i).Text = Text1(i).Text /在下方文本框中显示相应数值 Next iEnd Sub由于选择法排序(升序)的思想是:依据数据的特性,从第一个数A0开始,比较A0和A1、A0和A2A0和A7的大小,如果A0大则交换位置,一轮下来,A0的值是8个数中最小的,用同样的方法继续比较A1和A2A1和A7,A2和A3A6,比较完成后,可以发现8个随机的数据已经按照从小到大的顺序排列了。其执行的过程见图(7)(8)(9)(10)。利用下面的代码段来实现该功能: 图(7) 第一次排序 图(8)比较后发现数值前大后小则交换 图(9)第一次数据交换后的情形图(10)以第一个数为基准,继续和A(2)比较Dim i, j, t As IntegerFor i = 0 To 7 Text2(i).BackColor = RGB(100, 50, 255) /初始化定义每个文本框的背景颜色 For j = i + 1 To 7 Text2(j).BackColor = RGB(255, 0, 255) MsgBox 比较A( & Trim(i) & )和A( & Trim(j) & ) /依序比较文本框内数值,进行对比交换 If Val(Text2(i).Text) Val(Text2(j).Text) ThenMsgBox 交换A( & Trim(i) & )和A( & Trim(j) & ), , A( & Trim(i) & )A( & Trim(j) & ) t = Text2(i).Text: Text2(i).Text = Text2(j).Text: Text2(j).Text = t Text2(j).BackColor = RGB(50, 150, 150) /重置已经过数值交换的文本框颜色 End If Text2(i).BackColor = RGB(50, 255, 150) Text2(j).BackColor = RGB(255, 255, 255) If MsgBox(要退出吗?, vbOKCancel, 提示) = vbOK Then /为便于退出程序,设置了此选择对话框 End Else: End If Next j /下一次排序 Next i MsgBox (排序完成) Text2(7).BackColor = RGB(50, 255, 150)在演示时可产生这样的效果(如图()图()。冒泡排序(升序)实现的手段和选择法排序类似,在此就不类举。而在单重循环、双重循环、传址参数、传值参数四个例子中则主要应用到了visual baisic 6.0的ole控件对象通过嵌入视屏剪辑来分析语句的执行流程,当然在此基础上也配备了相应的简单的程序动画以加深印象。 图(11)5.4.3课堂小结单元 教师在每次授课后,都要有目的地进行知识点的回顾,这并不是一个简单的归纳、总结,而是对前面所学知识的更深层次的知识探究、挖掘。而这一内容的设置,主要由教师在课前分析时就定好基调,具体则根据授课情况及时加以修改。下面给出一般的界面(如图(11)),用户通过点击每一章节以调控每堂课的内容,便于听课者有一个整体而全面的了解。5.4.4实验环境单元 在进行计算机高级语言授课之时,学生的反映是教师用来衡量教学效果最直接的信息来源。由于学生在接受知识的能力不同,分析问题、解决问题的能力也千差万别,如何让学生的所思所想很直观地显现在教师面前,达到交互的目的,实验环境单元是一个较好的模式。在这个单元中,采用“课堂实例”“特殊示例”两个单元中使用的方式,利用Shell函数动态连接各个语言的开发环境。教师在授课过程中,通过将课堂上或学生作业中出现的问题直接写入各自的语言开发环境,进行编译调试,以让学生发现学习中的薄弱环境,创设灵活的讨论机制,由学生自主讨论、自主发掘,举一反三,实现知识共享,培养学生的合作意识。 图(12)菜单5.4.5帮助单元 图(13)帮助主题界面此版块由两部分组成(其菜单见图(12),“关于主题”子菜单项主要提供给初次使用本系统的用户使用,在其中简单地对系统功能项以及使用目的进行了介绍(见图(13);“课外资源”子菜单项则是连接了一些学习资料。应该说在教师授课过程中,学生是主体,教师是引导者。在现阶段特别是大学授课过程中,教师最关键的是要让学生学会自主学习。回顾大学计算机高级语言的学习情况,我们不难发现:没有一种语言是完完整整地由教师倾囊相授的。在大学的课堂上,学生只能习得“皮毛”,如果没有自己去学习、去琢磨,那“皮之不存,毛将焉附”?所以会学习是基础,是学生成才的正确途径;而自主学习是学生学习最主要最根本的学习方法。如果教师在教学中引出主体内容后让学生运用教学软件,结合教材自主学习,让他们借助工具书自行解决遇到的问题,或通过调用索引资料库查询,再现和深化过去所学知识,构建新的知识结构,让学生发挥个体主观能动性和创造性的学习方法自主、主动、创造,那么学生的自学兴趣和钻研能力将得到进一步提高。这不仅有利于学生创造性学习,开阔学生的思维领域,打破传统教学方式形成的定向思维方式,还有利于培养学生多向思维习惯,给学生开创了更广泛的创造思维空间。所以“课外资源”版块必不可少!鉴于课外资源的不统一性,无法单纯地利用“shell”来调度,而Word又具有超级链接的强大功能,所以在这一版块主要通过Windows API的ShellExecute来实现具体方法如下:Private Declare Function ShellExecute Lib shell32.dll Alias ShellExecuteA (ByVal hwnd As Long, ByVal lpOperation As String, ByVal lpFile As String, ByVal lpParameters As String, ByVal lpDirectory As String, ByVal nShowCmd As Long) As LongShellExecute Me.hwnd, open, help.doc, , App.Path & vb帮助, vbNormalFocus 5.4.6退出单元Dim Cancel As IntegerIf (MsgBox(您确定退出吗?, vbYesNo + vbInformation, 提示) = vbYes) ThenCancel = vbFalse If (MsgBox(回到课程设置页面?, vbYesNo + vbInformation, 提示) = vbYes) Then Me.Hide Form7.Show Else End End IfElseCancel = vbTrue End If 用户通过这个单元,可以选择关闭系统或是返回到课程设置单元,用下面的语句实现:5.4.7 主显示区单元主显示区单元主要应用于教学内容和课后作业的显现(参看图(3)。在设计界面的时候,考虑到后台数据库中表的结构特点,在form上放置了三个文本框,一个用以显示章节,一个显示课时内容,这两个文本框放在一行上,而第三个则占用较大的区域范围,并设置其MultiLine属性为“True”(显示时自动换行)、Scrollbars属性 为“2-vertical”(有垂直滚动条)以适应大量文本的显示。由于在访问数据的时候,采用单条记录显示的方法,所以要前移记录、后移记录就必须借助于在显示区右侧的两个image,分别实现上移并显示记录、下移并显示记录的功能。当然这一功能的实现也要通过ADO来实现。其代码如下:DATASET.MovePrevious /上移一条记录If Not DATASET.BOF And Not DATASET.EOF ThenText1.Text = DATASET.Fields(0)Text2.Text = DATASET.Fields(1)Text3.Text = DATASET.Fields(2) If DATASET.Fields(3) Then Text4.Visible = True Text4.Text = DATASET.Fields(3) Text3.Height = 1400 Else: Text4.Visible = False Text3.Height = 5295 End IfElse: Image2.Enabled = FalseEnd If DATASET.MoveNext /下移一条记录If (Not DATASET.EOF) And (Not DATASET.BOF) ThenText1.Text = DATASET.Fields(0)Text2.Text = DATASET.Fields(1)Text3.Text = DATASET.Fields(2)If DATASET.Fields(3) ThenText4.Visible = TrueText4.Text = DATASET.Fields(3)Text3.Height = 1400Else: Text4.Text = Text4.Visible = FalseText3.Height = 5295End IfElse: Image3.Enabled = FalseEnd If为了让用户及属意本软件的听众在烦琐而复杂的语言学习后能够有一个缓冲的过程,在主显示区单元还引入了背景音乐,通过点击guitar图片来控制音乐的播放与关闭。先点击一次该图标,背景音乐即开始播放,如果想关闭则再次点击该图标。5.5.1 权限确认单元注意:要进行更新课程必须是授课教师,因为他们对语言教学具有一定的了解,而且能够根据学生的情况来设置课程的教学进度、教学难度、以及各教学内容的易简性。所以为了防止随意更改后台数据,保证数据的参照完整性、实体完整性,在点击“更新课程”后会出现一个用户密码验证过程,只有符合的用户才能进行课程的修改。其实现过程可以由下图窥知一二。 5.5.2 更新课程单元 图(14)更新课程主界面 更新课程实质上是为用户提供了一个发散思维扩充知识点的平台,换个角度说,用户可以通过该单元来达到资源共享互补的目的其实在开发这个数据库的时候由于无法顾及大多数人的使用情况而不能及时地更新后台数据库,为了让此软件的应用范围更加宽泛,而又能随时为用户量身定度,满足不同操作对象的需求,设立了此单元(界面如图14所示)用户可以通过界面上的listbox来选择要更改的后台数据库的表单项,一旦选定了某个表以后,在显示区的datagrid上便会显示该表的所有记录内容。用户可以通过直接点击要修改的单元或是通过“删除”“添加”来动态更新数据库内容,兔形图标则助于用户离开当前单元返回到“课程设置”界面。第六章 系统的创新点及不足 传统的多媒体课堂演示系统都是局限于某个人的教学模式和某个教材的教学内容,而且在制作完成后不便于再进行修改。这种观念的局限性,造成了教学模式的单调性、教学资源的极大浪费。教学资源是教学过程教与学的主要内容,是教育工作者智慧的结晶与积累,如果能够博采众长,将资源的开放性能、共享性能、可移植性能都发挥出来,那么教学软件将真正达到资源的有效合理利用。在本系统中,比较突出的一点是将多种计算机高级语言都结合在一起,而且将其常使用的一些程序(循环、排序、传值、传址)用动画的形式加以展现,不仅利于教师授课而且方便学生理解程序的执行过程,为高级语言的教学奠定了基础。其二,本软件结合大学计算机高级语言授课的特点,针对大学生自主意识强烈、心智开明的特征,有目的地实施分
- 温馨提示:
1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
2: 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
3.本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

人人文库网所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。