




已阅读5页,还剩63页未读, 继续免费阅读
(电工理论与新技术专业论文)activex控件在网络口语测试系统中的应用.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
上海大学硕士学位论文 a b s t r a c t t h ef o r e i g nl a n g u a g eo r a lt e a c h i n gi sm o r ed i f f i c u l ta n dw e a kp a r t o fu n i v e r s i t ye n g l i s ht e a c h i n g t h eo r a lt e s t i n gi sa l s od i f f i c u l t i ti s a nu r g e n tp r o b l e mt ot e s tt h es t u d e n t s o r a lc o m m u n i c a t i o na b i l i t y s c i e n t i f i c a u ya n de q u i t a b l y a c c o r d i n gt ot h et e a c h i n g ,t h ea u t h o r d e s i g na n dd e v e l o pt h en e t w o r ko r a l t e s ts y s t e m t h i st h e s i si n v e s t i g a t e dt h en e t w o r ke x a m i n a t i o ns t r u c t u r et h a tu s e e x t e n s i v e l ya tp r e s e n tf i r s t i tm a k e ss u r e t h a ta c t i v e xc o n t r o l si s a p p l l e dt oc a r r yo u tt h et w om a i nf u n c t i o n s r e c o r d i n ga n dd o c u m e n t s u p l o a d i n g t h e ni td e t a i l st h ed e s i g no ft h ea c t i v e xc o n t r o l s ,i n c l u d i n g t h ee x t e r n a la p p e a r a n c ed e s i g n ,t h er e c o r d i n gf u n c t i o na n dd o c u m e n t u p l o a d i n gf u n c t i o n t h el a t t e rp a r to ft h et h e s i si n t r o d u c e st h ed a t a b a s e d e s i g na n dw e b p a g ed e s i g n so ft h ew h o l es y s t e m ,i n c l u d i n gt h en e e d a n a l y s i s ,t h ee rr e l a t i o nd i a g r a m ,a n dt h el o g i n i n go ft h es t u d e n t sa n d t e a c h e r s ,t h ed e s i g no f t e s tq u e s t i o n sa n dt h e r e l i z a t i o no ft e s t q u e s t i o n se t c t h em o d u l a r i z a t i o nm e t h o di su s e di nt h ed e s i g np r o c e s s t h e d e s i g nf o c u s e so nh o wt o1 i n ku pe a c hf u n c t i o n m o l dw i t ht h ea c t i v e x c o n t r o l s ,a n dt h ep r a c t i c a l i t ya n dt h es a f e t yo ft h ew h o l es y s t e m t h i sn e t w o r ko r a lt e s ts y s t e mc o n t a i n sv a r i o u sf o r m so ft e s t q u e s t i o n s i tc a nc a r r yo nh e a r i n g ,a u d i o ,v i d e o ,m u l t i m e d i ae n g l e x a m i n a t i o n t h i ss y s t e ma p p l i e sw i d e l y i tc a nh eu s e df o r t h ee n g l e x a m i n a t i o ni nc o l l e g e sa n dt h el a n g u a g et r a i n i n go r g a n i z a t i o r s i ta c a r lb eu s e df o r t h el e s s o no ft h ef o r e i g nl a n g u a g et e a c h i n g f o ri t sc h a r a c t e ro fc r o s s p l a t f o r ma n dr e p l i c a t i o n ,t h ea c t i v e x c o n t r o l so ft h i ss y s t e mc a na l s oa p p l yi no t h e ra p p l i e dp r o c e d u r e st o c o m p l e t em o r ec o m p l i c a t e df u n c t i o n i th a sv a s ta p p je df o r e g r o u n d k e y w o r d s :o r a lr e c o r d i n g d o c u m e n tu p l o a d i n g a c t i v e xc o n t r o l s v i s u a lc + + 6 0 原创性声明 本人声明:所呈交的论文是本人在导师指导下进行的研究工作。 除了文中特另t l , h h 以标注和致谢的地方外,论文中不包含其他人已发表 或撰写过的研究成果。参与同一工作的其他同志对本研究所做的任何 贡献均已在论文中作了明确的说明并表示了谢意。 本论文使用授权说明 本人完全了解上海大学有关保留、使用学位论文的规定,即:学 校有权保留论文及送交论文复印件,允许论文被查阅和借阅;学校可 以公布论文的全部或部分内容。 ( 保密的论文在解密后应遵守此规定) 签名:查虽 导师签名;二譬垒缝日期:型! 至1 2 上海大学硕士学位论文 第一章绪论 1 1 课题来源及意义 为了适应新形势的要求,在注重培养学生听说读写的综合应用能力的同时, 特别加强口语教学,大学英语考核增设口语测试,考查内容主要是学生课内外熟 悉的话题,以便学生能更好地表达看法,能反映出学生口语基本技能的情况。口 试的目的是检查英语教学的进展情况,口语教学中存在的问题和不足之处,了解 学生在学习上的困难,教学上的薄弱环节,从而改进教学。 口语测试的必要性“。已毋庸置疑,当前摆在测试工作者面前的任务是如何科 学公正地测试学生的口语能力。特别是面对数量庞大的大学学生,如何进行有效、 可信、实用的大规模口语测试,是一个值得认真研究的问题。 我国高校在本科生阶段的英语教育“1 一直都缺少大规模英语口语测试,以 四级英语考试为例,四级成绩达到优秀才能参加口语考试,而每场次口语考试有 两名教师和4 名学生参加,由老师轮流向学生提问,旁边放一架摄像机备案。这 种耗时耗力的考试方式根本无法在高校内推广。因此眼下高校大学生的英语口语 考试更是无法考察其能力,大多是“哑巴英语”。 目前,口语测试”“大致分为三大类:直接型口试、间接型口试和半直接型 口试。直接型口试就是面对面测试( f a c et of a c et e s t ) ,形式包括简单回答、 讨论、会话及面试等。目前大学英语四、六级考试的口语测试就属于这一类。这 种测试有较高的效度,但随着考生人数的增多,操作起来,对高信度的保证会有 较大困难。间接型口试( p a p e r p e n c i lb a s e dt e s t ) 主要指笔试型口试。这种 测试虽有很高的信度,但效度非常低,也违背了现代语言测试的理论,因而不可 取。半直接型口试又称录音口试( r e c o r d i n go r a lt e s t ) ,即将考题事先录制在 磁带上,考生针对录音带上的试题进行口头应答。这样做的好处是能保留间接型 口试的信度,同时又能保留直接型口试的交际特点和效度。在录音口试中,考试 程序、考试材料、考官水平、评估过程等都可得到适当的控制。此外,这种口试 在实际操作上也有明显优势。因此理论上讲,录音口试比较适合大规模的考试。 上海大学硕士学位论文 录音口试6 1 7 3 是较为理想的一种口语测试手段。其优点是:大量考生可同时 参加测试,节省人力、物力;考生水平的发挥不受考官语言水平和情绪的影响。 相同的考题是测试信度得到保证;评分可由专业人员统一在方便的时间和舒适的 地方进行。 对于录音口试中录音的问题,一般是采用录音机和磁带,这样对于庞大的学 生群体来说,就需要大量的磁带来存储这些声音。而且磁带的可复用性较差,从 成本角度考虑,磁带不利于声音文件的存储。作者设计开发的网络口语测试系统 既是顺应教学的需要,也是适应素质教育的形势潮流。 根据教育部制订的课程标准“内容标准”中有关“说”的能力要求的描 述并保证口语测试评分的客观性,口语测试的题型包括:1 ) 阅读短文并回答有 关问题;2 ) 听取语音问题,口头陈述;3 ) 看图说话;4 ) 针对某段视频内容发表 观点。 本课题来自上海大学高等技术学院,作者承担系统设计、编码工作。研制开 发了基于校园网的网络口语考试系统,使高校大规模常规性英语课程教学的口语 考试成为可能。该系统由服务器和学生考试机组成,采用计算机多媒体的形式进 行英语口语测试,实现了大规模、高效率的口语考试,考生只要按电脑指定的提 示信息进行就可以了。 该网络口语测试系统克服了传统英语口语教学、学习、考试诸多环节中,老 师、学生常常无法沟通的被动局面。本系统基于“a c t i v e x ”技术,利用计算机 与多媒体的结合,实现了英语口语的计算机采集,使英语口语的考核通过计算机 来实现,打破了英语学习中学生开口说英语的心理障碍,使英语听说水平得以迅 速提高。 该系统更重要的意义在于:随着我国社会发展对于现代化人才需求的变化, 各级各类正规的英语考试,试卷中各部分的分值分配不断发生变化,听力部分分 值提高、阅读部分分值相应降低。该软件有助于迅速提高考生的听力应考水平, 既立足于现行的英语教学大纲,又着眼于未来的新课程标准,体现了素质教育的 内涵,突出了对学生综合语言能力的提升。 应用本系统进行外语口语测试或者考试,学生通过访问w e b ,登陆测试系 统,使用本系统提供的a c t i v e x 录音控件录下口语测试内容,并形成录音文件上 上海大学硕士学位论文 传服务器,统一管理。教师登陆系统,听取学生的口语录音文件,评定学生的口 语掌握情况。 相比传统的口语教学与考核方式,本系统不仅具备一般网络考试的优点,如 高效、公平等,而且具有自身的特点: ( 1 ) 该系统安装方便,符合业内标准:界面简洁、友好,符合通常的使用习惯。 ( 2 ) 该系统功能定位准确。系统基于a c t i v e x 控件技术,将训练者的语音录制 下来,并上传至服务器,方便教师评定学生的口语掌握情况。 ( 3 ) 该系统平台的网上管理与使用区分为教师和学生两种不同的操作界面,老 师可以在线互动对班级学员的使用情况进行查询、统计、分析、管理和在线互动 指导;学生可以在线与老师互动学习。实现了教学、备课、作业、出卷、评阅的 电子口语数据信息的迁移。 ( 4 ) 该系统使用效果良好,在操作习惯、训练方式、测试结果、评分标准等诸 方面都能达到用户预期的效果。 ( 5 ) 试题型有多种形式,可进行听力、音频、视频、多媒体类英语考试,多角 度考查学生的口语水平。 ( 6 ) 适用范围广,可用于高校、语言培训机构组织英语等各种语言的网络考试, 也可用于外语口语教学的课后作业的提交。 综上所述,该系统设计思想新颖、可扩展性强、性能稳定、简便实用,在加 强英语口语练习、教学和评测方面可起到重要作用。 1 2 设计方法与研究内容 本系统的技术难点是a c t i v e x 控件的设计以及多种试题类型的设计与实现, 下面具体介绍这些难点的实现形式。 1 2 1a c t i v e x 控件设计 a c t i v e x 是基于c o m 的可视化控件结构的商标名称,它是一种封装技术,提 供封装c o m 组件并将其置入应用程序( 如w e b 浏览器、窗体) 的一种方法。概念 中的c o m 是微软提出的一种组件技术。而确切的说应该是一种标准,a c t i v e x 就 是基于这种技术( 标准) 的一种组件。a c t i v e x 的作用之一就是可以用来增强应 用程序( 包括w e b 应用程序如a s p 等) 的功能或者说拓展应用程序的处理能力。 a c tiv e x 控件与普通控件最大的不同点是它的属性和方法。a c t i v e x 控件不 上海大学硕士学位论文 象普通控件那样,发送通知信息给它的包容器窗口,而是“激发事件”。同时 a c t i v e x 控件一旦创建,它就与编程语言无关,所以用某种语言编程创建的 a c t i v e x 控件,在另一种语言中同样可以使用,具有可移植性,并可以转让给其 他开发者使用,为其带来方便。另外,a c t i v e x 控件可以发布到w e b 进行共享。 这一点是其它类型控件所不具备的。 在a c t i v e x 控件的设计过程中,划分控件需要实现的主要功能模块录音 和文件上传。针对这两大功能的实现,详细研究了录音和文件上传的原理和实现 方法,针对口语考试的实际应用需要,选取实现方案。采用w i n d o w sa p i 函数实 现录音功能,文件上传功能的实现采用w i n l n e t 类实现。另外,设计了a c t i v e x 控件的几个自定义方法,用以设置口语测试必需的参数,在a s p 网页中通过调用 这些白定义方法,达到灵活使用a c t i v e x 控件的目的。 1 2 2a s p 网页编程中的要点 本系统设计的试题有四种类型:文字试题、语音试题、视频试题和图片试题。 这些试题都是基于w e b 来实现的。通过设置试题的种类,在程序中进行判断具体 要采用的试题形式。在p a p e r a s p 这一页里显示语音测试的试题。 文字试题采用t x t 格式,即使客户机没有安装o f f i c e ,也可以运行。语音 试题采用m p 3 格式,也可以采用w a v 格式,但是m p 3 格式的文件较小,更适合网 络传输。目前市面上的外语听力材料多是r a p 3 格式,本系统采用这种格式的语音 试题便于题库的更新和修改。视频试题采用a v i 格式,视频的界面大小设置为 6 4 0 * 4 8 0 。图片试题采用j p g 或者g i f 格式,不建议使用b m p 格式。 对于每一种试题类型的显示,设计时遵循简便、高效的原则: 文字试题采用f s o ( f i l e s y s t e m o b j e c t ) 文件操作控件实现。 语音试题使用e m b e d 标签来编写播放媒体文件的代码。 图片试题使用i m g 标签来实现。 视频试题采用o b j e c t 标签的p a r a m 子标签实现。 1 3 论文内容安排 本论文介绍了适用于外语口语考核的网络口语测试系统的构成和实现方法, 以及系统具备的几大功能身份认证功能、参数设置功能、试题显示功能、录 音和文件上传功能。基于w e b 实现了口语测试试题的多种形式文字试题、语 4 上海大学硕士学位论文 音试题、视频试题、图片试题等,并运用a c t i v e x 技术实现录音和文件上传功能。 该系统使用a c c e s s 作为数据库工具,用于存放教师、学生的信息,以及测试所 需要的参数等等。 第一章是绪论部分,说明了论文的课题来源,介绍的口语考试的应用现状, 说明了应用背景。采用a c t i v e x 技术实现口语考试的核心功能录音和文件上 传,整个系统框架采用a s p 实现,数据库设计采用a c c e s s 。确定了设计的实现 方法及主要研究工作的内容,并介绍论文的内容安排。 第二章介绍系统设计的理论知识。包括a c t i v e x 控件技术、f t p 技术和波形 音频文件的格式等等。 第三章讨论本系统中a c t i v e x 控件的设计。介绍了录音功能的实现方式 采用w i n d o w sa p i 函数,文件上传功能的实现采用w i n l n e t 类实现f t p 上传。 详细研究了录音和文件上传的原理和实现方法,针对口语考试的实际应用需要, 选取实现方案。 第四章介绍口语考试系统的整体结构,包括功能模块的构成及关系等,讨论 系统的a s p 网页设计和数据库设计。介绍了用户登录、参数设置、试题显示以及 学生考试等等模块的设计。对于网页设计中的一些难点,如多种试题形式的显示, 考试参数的设置等,做了详细的讨论。由于学生考试的信息量大,使用数据库来 存放学生和教师的各种数据信息,介绍了数据库的设计和使用。 第五章讲解系统的安装和使用流程。本章的介绍使网络口语测试系统的实用 性更加突出。 第六章是结论部分,总结论文,并对今后提出展望。本系统应用性强,关于 a c t i v e x 控件的设计存在可改进的地方,还有待完成。 上海大学硕士学位论文 第二章网络口语测试系统实现的理论基础 2 1a c t i v e x 控件概述 a c t i v e x 是计算机应用软件的热门领域之一,通过a c t i v e x 技术8 3 9 m o m “, 可以使应用程序具备许多奇妙的功能。a e t i v e x 的核心是c o m ( c o m p o n e n to b j e c t m o d e l ,组件对象模型) 技术,通过c o m 技术,可以使应用程序和软件中的程 序相互作用。我们可以在应用程序中调用一个加拿大或者英国的某个计算机上的 某个应用程序中的方法,不必关心对方的应用程序是用v b 、v c + + 还是d e l p h i 创建的,是否已经升级和对方计算机使用的是什么处理器,只要有组件的接口就 可以了。 在a c t i v e x 技术中,提供属性和方法的程序叫做服务器,使用服务器提供的 各种功能的应用程序叫客户,而且有属性和方法的程序结构叫c o m 组件。组件 存在于应用程序或动态链接中,一个应用程序可以有多个组件。 同组件一样,a c t i v e x 控件是提高编程效率的另一个重要手段。a c t i v e x 控 件以前被称为o l e 控件,实际上是一些独立性很强的小型动态链接库。作为一 个标准的接口元素,利用a c t i v e x 控件可以迅速地把窗口和对话框组装起来,将 它们很快地集成到应用程序中,从而可以节省编程时间和资金,加快软件的开发, 并使软件的功能更加完善。 2 1 1a c t i v e x 控件的概念 a c t i v e x 控件最初被称为o l ec u s t o mc o n t r o l s ,主要用来取代v b x 控件, v b x 控件是为在v i s u a lb a s i c 中使用而编写的1 6 位控件。因为o l ec u s t o m c o n t r o l s 一般保存在扩展名为o c x 的文件中,所以人们称它为o c x 控件或简称 o c x 。尽管o l e 已被a c t i v e x 控件所取代,但a c t i v e x 控件仍然被保存在扩展 名为o c x 的文件中。 a c t i v e x 是o c x 的高级形式,从用j 1 的角度看,o c x 所做的就是在两个应 用程序( 或操作系统与一个应用程序) 之间交换数据,实际上o c x 比数据交换 的内涵要丰富的多,其中包含一种组件对象模型( c o m ) 。c o m 是定义对象模 上海大学硕士学位论文 块间标准二进制接口的规范。这个接口定义了函数调用方法,基于标准结构的数 据传送技术以及几个标准的函数调用。使用c o m ,意味着编写应用程序模块( 如 o c x ) 时,使用何种语言都无关紧要,因为模块接口在二进制层次上是相同的。 a c t i v e x 是这种思想的扩充,仍然使用标准接口,但是不再简单地从本机器环境 或l a n w a n 网的常设连接上调用代码,而是从i n t e m e t 网上调用它。另外,这 一新的代码能采用a p p l e s ( 包含内容的小程序) 或微小应用程序的形式。 同时,a c t i v e x 控件是一种可以被安装在对话框资源或其他包容其中的复杂 的控件。a c t i v e x 控件可以像普通控件一样在对话框中使用,也可以在任何支持 a c t i v e x 技术的编译器中使用,例如,v b 、c + + 、b u i l d e r 等。a c t i v e x 控件还可 以被用于w e b 页中,为w e b 页提供更加丰富的功能。 a c t i v e x 控件是存在于a c t i v e x 控件包容器中的服务器组件对象,控件包容 器通过a c t i v e x 控件的属性和方法来访问和使用a c t i v e x 控件,a c t i v e x 控件通 过发送的事件( f i r ee v e n t ) 来同控件包容器通讯。 a c t i v e x 控件的实现主要依靠c o l e c o n t r o l 派生类,一系列发送事件的函数 和一个d i s p a t c h 映射。其中,c o l e c o n t r o l 派生类是应用程序的核心,它由c w n d 类派生而来,具备所有窗口的特性,同时还可以提供属性、方法和发送事件。此 外,在a c t i v e x 控件工程文件中,也有一个o d l 文件,在该文件中定义有两个 d i s p i n t e r f a c e ,一个用于定义控件的属性、方法,另外一个用于定义控件的事件, 这些接口的实现都在c o l e c o n t r o l 派生类中。 2 1 2a c t i v e x 控件的发展历程 a c t i v e x 控件的发展经历了很长的一段时间,图2 1 说明了a c t i v e x 控件的 发展历史。 至j 图2 1a c t i v e x 控件的发展历史 ( 1 ) w i n d o w s 标准控制 最初,在w i n d o w s 环境中只有对话框标准控制,如按钮、编辑框等。这些 上海大学硕上学位论文 标准控制窗口是用w i n d o w ss d k 创建的,控制类是自定义的窗1 5 类,通过接受 自定义的窗口消息来完成自己的功能。标准控制也可以产生自定义的通知消息给 父窗口。 w i n d o w s 标准控制的使用很受限制,一方面是因为除c 或c + 十之外的语言很难 创建这些控件,另一一方面,这些标准控制只能提供很少的通知消息。 ( 2 ) v b x 将控制组件化是从w i n d o w s1 6 位平台上的v i s u a lb a s i c 开始的,v b 3 0 以前 的版本支持一种被称为v b x ( v i s u a lb a s i ce x t e r s i o n ,v b 扩展) 的组件。v b x 由c 语言写成,它引出了持续属性的概念。v b x 可以有一个或多个属性,可以 在设计时设置、保存,并在程序执行是调用。此外,v b x 控件还可以向容器通 知自定义事件,这些事件是控件设计人员索要的任何东西,而不一定要对应于 w i n d o w s 消息。 由于v b x 提供了真正的组件复用,第三方v b x 市场迅速增长。但是,由 于v b x 标准建立在1 6 位段式结构的基础上,并不适合3 2 位环境,而且v c + + 之类的语言无法像v b 一样方便地支持v b x 。人们期待下一代白定义控件的诞 生。 ( 3 ) o l e 控件 随着时间的推移,o l e 成为w i n d o w s 操作系统和关键应用的重要部分。o l e 指定对象如何拥有属性与方法,对象容器如何调用这些方法以及读取并设置属 性。但是,o l e 缺乏让对象向容器通知事件的途径,也没有持续属性。m i c r o s o f t 改进o l e 规范,增加了这类功能。新规范以o l ec o n t r o l s 或o c x 规范形式推 出。 o l e 控件提供属性与方法,支持环境属性,即容器提供给控件的可选属性。 事件源使用o l e 控件可以让对象向容器通知事件,从而在容器中触发操作。o l e 控件向用户提供了许多新特性,但也导致了复杂而庞大的二进制码。即使最简单 的控件也要实现二十多个接口才能符合o c x 规范。 ( 4 ) a c t i v e x 控件 随着i n t e r a c t 变得越来越普及,s u n 公司引入j a v a ,定位为建立活动w e b 页 上海大学硕上学位论文 面的语言。m i c r o s o f t 受到压力,要用另一种方法建立能嵌入w e b 页面的轻量级 小应用程序,m i c r o s o f t 的方案就是a c t i v e x 控件。 o l ec o m r o l9 6 ( o c 9 6 ) 规范是a c t i v e x 控件的基础。0 c 9 6 的关键是让控 件的尺寸更小,速度更快。它还使控件可以没有窗口句柄而存在( 无窗口控件) , 是自定义控件的历史上第一次出现无窗口控件。容器要提供放置0 c 9 6 控件的特 殊支持。目前,支持0 c 9 6 的容器,包括v i s u a ls t u d i o9 8 与i n t e r n e t e x p l o r e r 4 0 1 和5 0 等。 2 1 3a c t i v e x 控件的基本要素 a c t i v e x 控件是一门综合性的技术,它涉及到c o m 和a c t i v e x 的许多精华, 同时也与w i n d o w s 操作系统紧密的结合起来,它可以作为w i n d o w s 标准的一种 扩充机制。在所有a c t i v e ) ( 技术中,其中以a c t i v e x 控件技术的应用最广泛,基 于面向对象技术a c t i v e x 控件程序设计方法己在w i n d o w s 操作系统中广泛用于 各种应用软件的开发。a c t i v e x 控件是通过标准的c o m 软件设计接口来实现控 件的属性、方法、事件。在基于a c t i v e x 控件技术的软件中,各个模型是通过 ( c l i e n t s e r v e r ) 结构进行信息交换的,这种软件的结构模型如下图: 图2 2 控件特性图 a c t i v e x 控件在这种两层软件模型中起服务器的作用,a c t i v e x 控件以外的 其他a c t i v e x 对象( 如a c t i v e x 控件容器) 通过a c t i v e x 的属性和方法来调用 a c t i v e x 控件所提供的服务,a c t i v e x 控件通过事件来向控件以外的a c t i v e x 对 象通知控件内发生的事件。 一个a c t i v e x 控件一般在设计时和运行时都有一个u i ,有一个d i s p a t c h 接 口和一个i c o n n e c t i o n p o i n t 接口,其中前一个接口是用来定义a c t i v e x 控件的方 法和属性,而后一个是用来定义这个控件所拥有的事件。可以认为一个a c t i v e x 9 上海大学硕士学位论文 控件是被嵌入到另一个应用程序中自包含的可重用组件,可以在自编译和运行时 设置属性,一般以在位激活方式来工作。控件的扩展名是o c x ,但从另外一个 角度即运行方式上来看,a e t i v e x 控件实际上是一个标准的动态链接库文件 ( d l l ) 。 下面分别介绍a c t i v e x 控件的属性、方法和事件。 ( 1 ) 属性 属性即表示a c t i v e x 控件状态的变量。a c t i v e ) ( 控件的属性有两种访问方式: 使用成员变量和使用g e t s e t 方法。 a c t i v e x 控件的属性又分成如下几种: 固有属性( s t o c k p r o p e f i t i e s ) :固有属性是已经被c o l e c o n t r o l 类实现的属性。 c l a s s w i z a r d 支持的固有属性有:a c t i v e x 控件的背景颜色( b l a c k c o l o r ) 、标题 ( c a p t i o n ) 等,固有属性属于带有普遍性的一些属性。 自定义属性( c u s t o mp r o p e r i t i e s ) :白定义属性是由程序员定义的属性,是 同具体的控件相关的属性。例如,如果编制了一个可以播放视频文件的控件,则 当前所播放的文件的文件名就是自定义属性。 ( 2 ) 方法 方法即控件包容器可以调用的a c t i v e x 控件的方法。a c t i v e x 控件的方法也 分为两种: 固有方法:即已经被c 0 1 e c o n t r o l 类实现的方法。c o l e c o n t r o l 类支持两个固 有方法:d o c l i c k 方法和r e f r e s h 方法,其中d o c l i e k 方法用于发送一个c l i c k 事 件,而r e f r e s h 方法则是用户立即更新a c t i v e x 控件窗口。 自定义方法:程序员定义的方法。例如,对于播放视频文件的方法,p l a y 、 s t o p 等均为自定义方法。 f 3 1 事件 事件是由a e t i v e x 控件发送给控件包容器的通知消息,a e t i v e x 控件通过事 件告诉控件包容器有某个事件发生了,包容器根据不同的事件做出不同的响应。 事件也分为以下两种。 固有事件:即已经由c o l e c o n t r o l 定义的事件,共有1 0 种。典型的固有事 件c l i c k 事件,该事件为用户单击a c t i v e x 控件时由a c t i v e x 控件发送的消息。 上海大学硕士学位论文 c o l e c o n t r o l 类中还为每个固有事件提供了一个发送事件的函数,这些函数可以 被用于模拟相应的事件,例如f i r e c l i c k 0 函数向控件包容器发送c l i c k 事件。 自定义事件:程序员定义的事件。例如,用于播放视频文件的控件,当视频 文件播放完毕后可以向控件包容器发送个白定义事件,来通知控件包容器进行 相应的处理。 2 1 4v i s u a lc + + 对a c t i v e x 控件的封装 a c t i v e x 控件不是一个简单的c o m 对象,它涉及到众多的c o m 和o l e 技 术,还有大量需要实现的接口,这使得a c t i v e x 控件的实现变得非常复杂。如果 不借助一些很好的软件包,而是自己从头编写一个a c t i v e x 控件,即使功能非常 简单,也要付出巨大的努力。幸运的是,m f c 和a t l 都对a c t i v e x 控件提供了 很好的支持,它们可以帮助我们完成几乎所有的普通a c t i v e x 控件需要实现的接 口,让开发者可以把精力集中在应用部分。 ( 1 ) m f c 对a c t i v e x 控件的封装 m f c 为实现a c t i v e x 控件阍封装了一个非常重要的类:c o l e c o n t r 0 1 ,它 实现了所有a c t i v e x 控件所需要实现的c o m 接口。当用m f ca c t i v e ) ( c o n t r o l w i z a r d 快速建立一个a c t i v e x 控件应用工程时,将得到一个从c o l e c o n t r o l 派生的类,由于c o l e c o n t r o l 实现了所有所需接口,因此,在我们自己的派生类 中可以不再编写与c o m 有关的代码,而只需按一般的m f c 窗口类进行编程。 c o l e c o n t r o l 继承于c w n d 和c c n d t a r g e t ,所以,它既继承了c w n d 的所有 窗1 2 1 特性,又利用c c m d t a r g e t 提供的接口映射表实现了a c t i v e x 控件所要求的 所有接口。 c o l e c o n t r o l 是一个非常强大的类,拥有几百个函数,功能非常强,它实现 了a c t i v e x 控件所有的特性,这些特性主要包括: 自动化特性:c o l e c o n t r o l 实现了i d i s p a t c h 接口,可以很方便地增加a c t i v e x 控件的自动化属性和方法。 永久性属性支持:c o l e c o n t r o l 提供了对永久数据属性的支持,它实现了 i p e r s i s t 、i p e r s i s t s t r e a m i n i t 、i r l e r s i s t s t r o r e a g e 、i p e r s i s t m e m o r y 、i p e r s i s t p r o p e r t y b a g 等接口,并且,这些函数的实现都调用了虚序列化函数s e f i n i z e ,在我们的派生 上海火学硕士学位论文 类中只需重载此函数即可实现数据属性的永久支持。 实地编辑支持:实地编辑功能是a c t i v e x 控件的一个主要特性,它可以在包 容器程序的窗口环境中进行各种编辑控制,包括窗口的大小调整、窗1 z 激活状态 的处理等。c o l e c o n t r o l 实现了实地编辑所需要的几个标准接口,如 i o l e l n p l a c e o b j e e t 、i o l e l n p l a c e a c t i v e o b j e c t 等。派生类直接继承了这些接口,不 必再实现新的实地编辑接口。 事件管理:c o l e c o n t r o l 利用事件映射表实现了事件管理,可以使用 c l a s s w i z a r d 添加事件,事件映射表的机制和接口映射表以及分发映射表类似, 不必手工修改事件映射表。 除了以上这些a c t i v e x 控件的基本特性,c o l e c o n t r o l 还可以实现其他如无 窗1 2 1 特性、属性页管理等功能。利用c o l e c o n t r o l 作为自己的控件的父类,可以 不必自己实现这些接口,甚至不必知道这些技术也可以制作自己的控件。 ( 2 ) a t l 对a c t i v e x 控件的封装 a t l 模板库专门用于对开发c o m 对象,当然也包括a c t i v e x 控件。利用 a t l ,可以开发出小巧、快速的a c t i v e x 控件。 a t l 通过c c o m c o n t r o l 类提供了一套帮助函数和关键数据成员,在利用a t l o b j e c tw i z a r d 创建一个控件或i n t e m e t 控件时,对象类自动由c c o m c o n t r o l 类派 生。 2 2 文件传输协议f t p f t p 是人们规定的网络间传输文件的一组规定,其中规定了数据包的 格式、数据包头部结构、命令结构等等。f t p 使用“传输控制协议”,即t c p , 作为移动数据的传输机制。它允许用户向服务器提供凭证,然后列出文件夹并传 输文件。f t p 通过将储存在源计算机上数据类型转化为一种中间数据格式( 在网 络的物理线路上) 来传输文件,然后将中间数据格式转化为目标计算机自身的数 据类型。 f t p 是在网络中各种不同的计算机之间按照t c p i p 协议来传输文件。当用 户使用f t p 客户端程序访问远程服务器的时候,首先要在本地计算机启动f t p 客户端程序,然后向远程服务器发出请求。一旦远程计算机响应并实现连接,就 上海大学硕士学位论文 在两台计算机之间建立起一条临时通路,借以执行会话命令和传输文件。在用户 完成文件传送操作后,对服务器发出解除连接的请求,结束整个f t p 会话过程。 f t p 的用户机服务器凭借f t p 进行全部会话( 通信活动) ,都是依靠t c p p 协 议进行的,对于不采用t c p i p 的系统,可以通过协议转换软件解决信息传输问 题。因此,在h l t e m e t 上使用f t p 传输文件是不受系统类型的限制。 文件传输时针对传输模式是被动和主动进行了不同的处理。如果是被动模 式,需要首先获得服务器传来的临时端口,然后通过该端口连接服务器;如果是 主动方式,则发送本地地址和本地临时端口到服务器,等待服务器的连接,以便 数据传输。当准备就绪时,就可以发送r e t s s t o r 命令进行文件的上传或下载 了。 f t p 的工作模式同其他的c s 模式的网络通信协议有一个很大的区别。通常 在进行h t t p 通信时,只需要一个端口进行通信,即客户端只需要连接一个端口 进行数据传输。但f t p 通信除了有一个默认的端口2 1 以外,还需要其他的端口, 通常是两个端口同时进行。一个是默认端口,另外一个是按照一定原则由服务器 或客户端产生的非标准端口。其中默认端口主要进行控制连接,即进行命令协议 以及服务器端的响应码的传输。另外一个非标准端口主要进行数据的传递,比如 上传文件、下载文件等。在进行文件传输时,通常每传送完毕一个文件后,又会 重新建立连接模式并重新产生一个临时端口。 m i c r o s o f t 公司提供了许多a p i 函数用于开发客户端和服务器端的应用程序, 其中w i n s o c k 是t c p i p 的基础a p i 。w i n n e t 类是比w i n s o c k 更高级的a p i 。 w i n s o c k 实际上是指w i n d o w ss o c k e t s ,是t c p ,p 编程最低级的w i n d o w s a p i 。其代码的一部分位于w s o c k 3 2 d l l ( 程序调用的输出函数) ,另一部分位于 w i n d o w s 核心。使用w i n s o c ka p i 既可以编写i n t e m e t 服务器程序,又可以编写 i n t e m e t 客户程序。 r 1 e 1 w i n i n e t “( w i n 3 2i n t e r n e tf u n c t i o n s ) 提供给程序员一套完整的 :n t e r n e t 调用函数,它被包含在一个名为w i n i n e t d l l 的动态联接库里。通过它可以轻松 地完成对h t t p ,f t p 以及g o p h e r 的访问。比如下载h t m l 页面;发送f t p 请求从 而上传或下载文件还可浏览目录列表,典型的应用是可以通过匿名登录获取文 件,还有更新自己的主页时上传文件;g o p h e r 的菜单系统可以获取英特网上的 上海大学硕士学位论文 资源。对于这三个协议来说,使用它们的步骤是相同的:建立联接向服务器 提出请求关闭联系。当然也可以通过m f c ( m i c r o s o f tf o u n d a t i o nc l a s s ) 更为简单地使用w i n i n e t 。因为在m f c 中,可以简单地像访问硬盘一样访问h t t p 、 f t p 以及g o p h e r 服务器;更可以不去理睬w i n s 。c k 1 7 3 1 8 1 9 和t c p i p ;还有就 是可以用现成的类( c h t t p f i l e 、c f t p f i l e f i n d 、c g o p h e r f i l e f i n d ) 控制数据, 因为这些类把这三个协议抽象到了高层的应用程序编程界面,提供快速并且简单 的方法。所以至少有两种方法来使用w i n l n e t :直接调用w i n 3 2i n t e r n e t f u n c t i o n s 和m f c 。 w i n n e t 是一系列相关类的总称,包括四个子类: c i n t e r n e t s e s s i o n 类 任何w i n i n e t 类的应用程序必须拥有一个c h l t e r n e r s e s s i o n 对象,用于创建并 初始化一个或多个同时存在的i n t e r n e t 会话。在有了c i n t e m e t s e s s i o n 对象之后, 我们可以建立h t t p 、f t p 或者g o p h e r 连接,也可以通过o p e n u r l ( ) 成员函数 直接打开远程文件。
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年初识电子商务运营与管理实战经验面试题预测及解析
- (2025年标准)固收协议书
- (2025年标准)股权盈利协议书
- 初中地理新课标学科融合心得体会
- 网络营销推广效果评估方法实践指导书
- 2025年行政助理招聘面试模拟题与参考答案详解
- 2025年财务精英专业认证考试模拟题及答案
- 远程音乐教学2025年春季衔接计划
- 2025年教育心理学考研复习模拟题集
- 2025年初试殡葬礼仪师的必修课模拟题解答与知识点梳理
- 2025年郑州人才公司面试题及答案
- 2025年跨境电子商务测试题及答案
- 休克的诊断和治疗课件
- 广东省湛江市2024-2025学年高一下学期期末调研测试政治试卷(含答案)
- 2025-2030中国汽车玻璃水行业竞争优势与前景趋势洞察报告
- 厨房刀具安全培训课件
- 私密抗衰培训课件
- 2025年全国高中物理竞赛试题及答案
- 2024风电项目开工管理办法
- 供热企业运营管理制度
- 2025年高考真题-英语(全国一卷) 含答案
评论
0/150
提交评论