资源预览内容
第1页 / 共6页
第2页 / 共6页
第3页 / 共6页
第4页 / 共6页
第5页 / 共6页
第6页 / 共6页
亲,该文档总共6页全部预览完了,如果喜欢就下载吧!
资源描述
用备课系统开发远程教育课件摘要:本文介绍了一种使用简单、方便的远程教育课件开发工具-备课系统并对其中使用的将RTF文件转换成HTL格式文件的技术和课件框架生成的技术做了详细的说明,并且给出了制作完成的课件的效果。关键字:远程教育、备课系统、课件、RTF文件、HTL文件一、前言随着Internet的不断普及,网上的各种素材和资料越来越多,也越来越丰富,这给网络远程教育的迅速开展带来了时机。越来越多的网络课件被开发出来,给教师和学生的教与学带来了极大的方便。可是这些课件一般都是由某个或某些教师根据自己的需要和讲课习惯来编写制作的,有很浓的个人特色。而对于其他的学校、其他的教师,这些课件往往不能满足他们的要求。但是制作自己课件又需要很大的工作量,导致许多教师对于网络远程教育望而止步。怎样才可以让教师们能快速,方便的制作自己的课件呢?二、备课系统本文介绍一个由暨南大学软件工具研究所研制开发的网络课件开发工具-教师备课系统。这个系统的主要功能是将文字,图片,声音,动画等素材以编辑文档的方式制作成教师的课件,然后将课件转换成网页的形式发布到网上,教师就可以进展远程教学了。系统的操作界面与irsftrd非常相似如图1,对于那些熟悉rd的教师来说操作起来就驾轻就熟了。系统还提供课件框架生成器,以树形目录的方式管理课件中的网页,这样教师讲课就可以更加明晰有条理了。图1系统用的核心技术是将irsftrd支持的一种通用的文件格式-Rihtextfrat(RTF),转换成网页的格式-htl。对于许多人来说,htl已经非常熟悉了,可是对于RTF那么不太理解,下面就来分析一下RTF的构造。三、RTF文件格式RTF的构造其实并不复杂,实际上每个RTF文件都是一个文本文件,里面包括命令和正文,然后由编辑器来解释这个文本文件,分析里面的各种命令,并将相应的正文显示出来。RTF文件中的命令都是一些以符号开场的字符串,例如在文件的一开场就以rtf来表示这个文件是一个RTF格式的文件。另外一个完好的RTF文件包括文件头和文件体两局部。在文件头中包括字体表、文件表、颜色表的几个数据构造,文件体中的字体、表格的风格都是根据文件头中的信息来格式化的。文件头中的每一个表都以一对大括号括起来。下面就是一个颜色表的例子。lrtbl;red0green0blue0;red0green0blue255;red0green255blue255;red0green255blue0;red255green0blue255;red255green0blue0;red255green255blue0;red255green255blue255;red0green0blue128;red0green128blue128;red0green128blue0;red128green0blue128;red128green0blue0;red128green128blue0;red128green128blue128;red192green192blue192;首先由一个lrtbl来表示大括号内是颜色表,然后由red0green0blue0来表示正文显示时用到的一种颜色。这种颜色的红绿蓝分量分别都是0。其他以此类推,两种颜色之间用分号隔开。在内容中以f0命令来表示当前的文字用第0号颜色来显示。文件体由版面格式化命令、正文和各种特殊命令组成的。版面格式化命令是用来控制要显示的正文的字体,颜色和其他与版面有关的工程的。而特殊的命令那么是在显示一些例如图象,表格等特殊正文时所使用的。有一些特殊命令会用到大括号来括住他的一些子命令,但无论如何,左大括号的数目和右大括号的数目中是一一对应的注意:整个RTF文件也由一对大括号括起来。另外,在由于字符用来表示命令的开场,所以用来表示正文中的字符。对于中文字,RTF文件进展了特殊的处理,众所周知,一个中文字是由一个16位的数字组成的内码来表示的,也就是两个ASII字符的长度。RTF文件中并不是简单的将这两个ASII字符放在正文中,因为这样会引起特殊ASII字符和中文字的冲突。RTF文件使用了命令的方式来表示中文字:内码1内码2其中的内码是以文本的方式存储的。例如教师备课系统在RTF中表示为0faa6b1b8bfefb5db3。另外,RTF文件对图形的处理是一个很重要的问题,也是实现备课系统的一个难点。在RTF文件中,图形以两种方式存在。第一种是直接嵌入的方式,以pit命令开场,第二种方式将图片作为LE对象嵌入,以bjet命令开场。并且无论以那种方式,整个图片的数据都是由一对大括号括起来的即bjet。每一个LE对象在RTF中分为两个局部,第一局部是LE的数据,假如RTF的文件解释器能进展LE操作时,可以利用这局部的数据得到LE的属性参数并对其进展修改显示,第二局部由result命令引出,后面跟的其实是一个图片,当RTF的文件解释器不能进展LE操作时,那么可以简单的显示该图片。但这样就不能对该LE对象进展修改了。图片数据是以irsft内部使用的一种矢量图ETAFILE格式来存储的。在RTF中存放了一个完好的ETAFILE文件,但其数据是以ASII字符的方式存在。由于大多数阅读器都不支持这种格式的图片文件,因此需要将其转换成通用的图片格式,例如:BP、GIF、JPG等等,但是在irsftinds的软件开发手册中没有对ETAFILE进展说明,因此无法对起进展直接的转换,但是在irsftinds的软件开发包(SDK)sftaredevelpkid中有两个函数GetetaFile和PlayetaFile,这两个函数可以将一个ETAFILE格式的图片直接显示在屏幕上,这样就为格式的转换提供了方便,方法是:首先将以ASII字符形式存放在RTF中的ETAFILE文件变成以16进制数形式存放的独立的文件保存在磁盘的一个临时文件中,然后用GetetaFile和PlayetaFile将其显示在屏幕上这里的屏幕实际上是一个虚拟的屏幕,即在内存中建立一个假的屏幕数据构造-eryD,里面有虚拟的显示内存,因此在实际的屏幕上看不见图片的显示。然后用抓图的方法就可以将图片的像素取出来并将其保存成BITAP图片格式文件了。再通过一些通用的图形转换程序就可以将其保存成容量比拟小的GIF或JPG格式了。详细程序如附录1下面详细介绍一下从RTF转换成HTL的流程,流程图如图2:图2转换的流程其实也是很简单的,就是搜寻命令字的前导符,然后对其后面的命令进展相应的处理,要注意的是大括号的匹配,因为这会直接影响到命令的作用域问题,一般在进入一个命令的处理程序后,假如发现有左大括号存在,那么这个命令会一直起作用,直到有相应的右括号与其相匹配为止,假如有大括号的嵌套,那么命令将一直起作用到所有的左大括号都有相应的右大括号与其匹配为止正文中的大括号用、来表示。有了RTF到HTL的转换器,备课系统可以说已经完成了一半了图3所示就是图1的RTF文档转成的htl后的效果。图3四、课件框架生成器为了教师上课的方便,单单将一个文档变成网叶是不够的,教师讲课是根据一定的层次、一定的顺序来讲课的,所以还要增加一个课件框架生成器,这里利用了一个控件Treevie,这个控件可以显示一个树形的数据构造,利用每个节点带有的属性key表示接点的ID;tag表示节点所连接的网页途径;text表示节点的名称就可以树的形式显示一个课件的层次关系了。如图4图4这个树的构造可以存盘,以便下次教师修改。另外还可以通过javasript将其在网页上显示出来,详细的做法是:首先编写一段javasript程序如附录2用来把一个数组在网页上显示成树构造形式,其中数组的局部用一个标识符号标记,当每次要生成课件框架的时候先将数形数据构造以数组的形式存放,然后将数组信息交换掉这个标识符号,这样在网页上看到的就是Treevie控件中的数形构造。图5就是图4的树构造在ie上显示的结果图5为了教师使用的方便,系统还提供了超连接、资源管理器、java小程序连接和声音图象连接等功能。这样就形成了一套足够教师日常备课所使用的备课系统。另外,系统还提供了课件的上载功能,只要教师按要求设置好效劳器,以后增加或修改课件是非常方便的。但由于我们的着眼点是面向教师使用的系统而不是给一些专业人士使用的,为了使教师更加方便的使用本系统,系统将一些复杂的操作尽量简化,这样做带来的结果是功能不能与fntpage等专业软件相提并论论,可是本系统也有自己的特点是fntpage没有的,例如课件框架生成器。另外,rd里面也有将RTF另存为htl的功能,但是起转换器经常将不能将图片完全转换出来。而且教师要用rd来制作一个完好的课件需要许多工具的配合,给一些对电脑不太熟悉的教师带来了很大的费事。本系统为教师提供了完好的制作课件的环境,从最初的制作到最后的发布到网上,都有支持,因此与其他的一些系统相比,有其独特的地方。当然本系统也还有许多缺乏之处,例如对表格的转换,由于RTF文档中的命令随着要求的不断进步而改变,特别是表格的处理命令每个版本的RTF都有修改,因此很难对表格进展支持,所以需要教师将表格转换成图片才能显示表格。附录1将etafile转换成bitap的程序段intfTBp(intidth,inthEight,har*etafile,har*targetBp)HETAFILEhf;FSTRUTf;intfh;HDheD,hDisplayD;HBITAPhbp,hld;BITAPFILEHEADERhdr;LPBITAPINFHEADERlpbpih;HGLBALhg;unsignedintj;harFileBuffer640*480;hf=:GetetaFile(etafile);hDisplayD=reateD(DISPLAY,NULL,NULL,NULL);heD=:reatepatibleD(hDisplayD);hbp=:reatepatibleBitap(hDisplayD,idth,height);hld=(HBITAP):Seletbjet(heD,hbp);PatBlt(heD,0,0,idth,height,HITENESS);Setapde(heD,_ANISTRPI);SetindrgEx(heD,0,0,NULL);SetVieprtExtEx(heD,idth,height,NULL);PlayetaFile(heD,hf);hbp=(HBITAP):Seletbjet(heD,hld);if(fh=penFile(targetBp,f,F_REATE|F_READRITE)=-1)return0;hdr.bfType=0x4d42;hdr.bfSize=sizef(BITAPFILEHEADER)+sizef(BITAPINFHEADER)+2*256*sizef(RGBQUAD)+idth*height;hdr.bfReserved1=0;hdr.bfReserved2=0;hdr.bfffBits=sizef(BITAPFILEHEADER)+sizef(BITAPINFHEADER)+256*sizef(RGBQUAD);_lrite(fh,(LPSTR)hdr,sizef(BITAPFILEHEADER);hg=GlbalAll(GHND,sizef(BITAPINFHEADER)+256*sizef(RGBQUAD);lpbpih=(LPBITAPINFHEADER)GlbalLk(hg);lpbpih-biSiz
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号