浏览设计

2024-06-27

浏览设计(共12篇)

浏览设计 篇1

1 引言

Visual Basic是一种面向对象的程序设计语言,具有很多与传统程序设计语言不同的特点,其中最主要的特点有两个,即可视化界面设计和事件驱动的编程机制。下面以Visual Basic 6.0作为开发环境,介绍网页浏览器软件的实现过程。

2 界面设计

首先,新建一个工程,将Form1的Caption属性设置为“网页浏览器”。然后,依次向窗体中添加1个WebBrowser控件;1个CommandButton控件,将它的Caption属性分别设置为“收藏夹”;1个Common Dialog控件,用于选择本地硬盘中的网页文件;1个ComboBox控件,用于输入和显示网页地址;1个StatusBar控件和1个ProgressBar控件。界面设计效果如图1所示。

3 代码编写

3.1 初始化

窗体的载入事件用于将Combo1控件的相关属性进行初始化,设定WebBrowser1控件的位置,以及调用Form_Resize事件过程,具体代码如下:

Form_Resize过程用于设置当浏览器窗口大小发生变化时,Combo1控件、WebBrowser1控件和ProgressBar1控件的大小以及位置等属性。具体代码如下:

3.2 浏览操控功能设计

在Combo1_Click事件中指定在浏览器中打开的网址,具体代码如下:

在Combo1_KeyDown事件中,检测输入的网址是否合法。如果不合法,将其合法化,并自动保存新输入的网址。具体代码如下:

3.3 测试与运行

程序运行效果如图2所示。

4 结语

网页浏览器程序的设计思路和过程,其重点内容和技术是网页控件的导入和使用。通过本程序可以深入了解网页浏览软件的设计方法,为网络软件的开发制作和VB在网络程序设计中的应用有很好的启发。

参考文献

[1]刘炳文.Visual Basic程序设计教程[M].北京:清华大学出版社,2006.

[2]谭浩强.Visual Basic程序设计[M].北京:清华大学出版社,2005.

浏览设计 篇2

吕朵丽 I.教学目的与要求:

(1)了解有关网页、浏览器等方面的初步知识。(2)掌握高效快速速浏览网页的技巧。

(3)培养学生在因特网上获取信息的兴趣和能力。

II.教学重点与难点:(1)重点:上网浏览的基本操作;(2)难点:浏览器的基本操作。

III.教学准备: 多媒体投影仪或多媒体网络。

IV.教学过程:

一、导入

如今网络已经与我们的生活息息相关,上网是一个非常流行的话题,要想高效地浏览网页,我们还要学会巧用浏览器。

二、新授

教师:在因特网上能做的事真多,但我们要让它为我们服务,还要努力学很多有关知识,今天让我们来认识一下浏览器工具栏里的几个标准按钮。1.“停止”按钮和“刷新”按钮

教师问:当我们在浏览一张网页时有时会出现,网页只出来一部分,就不动了的情况,但是计算机又没有死机,同学们能说说这是怎么一回事吗?

学生们的回答可能千奇百怪,教师把情况说明以后,借此引出“停止”按钮和“刷新”按钮,让同学们试试这两个按钮,并让同学们说出这两个按钮的作用。(“停止”:停止浏览这张网页;“刷新”:重新连接网页。)

2、上网浏览使用“前进”按钮和“后退”按钮 提出问题:

(1)、打开浏览器,观察浏览器窗口,“后退”和“前进”按钮是什么状态。、(2)、浏览一些网站,观察“后退”和 “前进”按钮有什么变化。

(3)、试按下“后退”按钮,网页会有什么变化,“前进”按钮又有什么变化。

学生带着问题进行实验操作,操作完毕后在小组内对“前进”和“后退”按钮的作用统一意见并进行汇报。

一些网址,供学生选择练习。

儿童园地: http:// 中华网: http://china.com 儿童网: http://

3、主页和“主页”按钮

让学生观察,网页中的“主页”选项和浏览器工具栏中的“主页”按钮有什么不相同?小组进行讨论,使之明白网页中的主页是网站的第一页,它是网站开发人制作和确定的。而浏览器的主页,是指启动浏览器时,浏览器自动显示的那个网页,它是可以自己设置的。

4、寻找浏览过的网站

单击工具栏上的“历史”按钮,便可以看到近期的上网情况记录。提出上网的历史记录可以自己设置吗?如果可以设置请说出在下面图中的那个部份设置。小游戏:

(1)、同桌两位同学,其中一位上网浏览网页,另一位从查查他到过哪些网站,然后角色交换。

(2)、同桌两位同学,其中一位上网浏览网页后清除历史记录,另一位查查他是否完成这个任务。

5、探究活动

P63,与同学交流优秀网站的地址,填写P63表格。

浏览设计 篇3

关键词:Flash;文档浏览;音视频播放

FLASH是美国Macromedia公司于1999年6月推出的优秀网页动画设计软件.它是一种交互式动画设计工具,用它可以将文档及音乐、声效、动画以及富有新意的界面融合在一起,以制作出高品质的网页动态效果.现在,FLASH 技术的应用由动态网页的制作发展到 MTV、课件等多媒体制作,应用越来越广泛。随着网络应用的普及,人们倾向于在网络上完成文档浏览和音视频播放等基于B/S架构的高级功能,逐步脱离本地客户机的应用环境局限。因此,可以利用Flash技术强大的多媒体功能,实现文档浏览和音视频播放的在线应用。

1 设计思想

文档型文件和音视频文件包括多种类型的文件格式,并不能直接被Flash技术所支持,需要通过第三方工具将各类不同格式的文档型文件和音视频文件统一转换成为Flash技术所支持的文件格式,最终实现文档浏览和音视频播放的在线应用。

1.1 文档型文件设计思想

Flash在线浏览器设计思想:文件服务器上存在不同格式的电子文件,需要在浏览器中查看时由openoffice处理将文件格式转换为pdf格式的文件,然后在由swftools工具包中的pdf2swf处理为swf目标格式,通过flexpaper加载,最后客户端在浏览器里就可以直接查阅。如图1-1所示:

1.2 音视频文件设计思想

Flash在线浏览器设计思想:文件服务器上存在不同格式的音视频文件,需要在浏览器中查看时通过mencoder解码程序转换成 FLA格式的文件,通过jwplayer加载播放FLA 文件,最后客户端在浏览器里就可以直接查阅。如图1-2所示:

2 实现方法

首先要搭建两个服务平台:电子文件转换服务平台和在线文档控制浏览服务平台。具体步骤如下:

(1)用户通过应用平台上传电子文件;

(2)上传的文件直接添加到转换任务池;

(3)转换程序根据任务池顺序队列转换(多个转换服务同时工作);

(4)转换程序根据文件类型进入相应的转换操作;

(5)转换完成发送消息到应用平台通知转换完成;

(6)前台显示转好的FLASH文件;

2.1 Office文档操作

利用OpenOffice来对Office文档进行操作,并且通过JODCon

verter调用把Office文档转换成PDF文档,OpenOffice.org具有一个鲜为人知的特性就是其能够作为一个服务来运行,而这种能力具有一定的妙用。举例来说,你可以把openoffice.og变成一个转换引擎,利用这种转换引擎你可以通过网络接口或命令行工具对文件的格式进行转换,JODConverter可以帮助你实现OpenOffice.org的这种文件转换功能。

为了将OpenOffice.org作为一个转换引擎,你必须以服务的方式将它启动,使它在某个特定的端口监听连接。

在Linux平台你可以用如下的命令启动openoffice.org:

soffice -headless -accept="socket,port=8100;urp;"

在Windows平台, 使用如下命令:

X:Program FilesOpenOffice.org 3programsoffice -accept=

"socket,port=8100;urp;"

2.2 转换为PDF文件

通过JODConverter调用OpenOffice把Office文档转换成PDF文档,JODConverter是基于java,你需要安装1.4或更高版本的java运行环境。下载最新版本的jodconverter-tomcat-x.x.x.zip,解压到某个目录,就可以启动 JODConverter

sh jodconverter-tomcat-2.2.2/bin/startup.sh

在浏览器打开http://localhost /converter,你就可以看见一个简单的Web界面,选中需要转换的文件并确定格式,点击按钮就可以转换。也可以通过命令行对文件进行转换,如:

java -jar jodconverter-2.1.1/lib/jodconverter-2.2.2.jar test.docx test.pdf

2.3 PDF转换为SWF文件

SWFTools是一组用来处理Flash的swf文件的工具包,包括:

(1)合并工具swfcombine

(2)抽取工具swfextract

(3)PDF/JPEG/PNG/AVI/TTF/WAV到SWF的转换工具pdf2swf, jpeg2swf, png2swf, avi2swf, font2swf, wav2swf

(4)文本解析工具swfstrings

(5)SWF解析器swfdump

(6)SWF读写库rfxswflib

其中把pdf转成swf的工具就是pdf2swf了。在命令行中运行"pdf2swf src.pdf des.swf"一般能满足需求。而命令行参数可以通过pdf2swf -f得到。

Java调用PDF2SWF工具进行PDF转SWF的代码:

《实现信息的跳跃浏览》教学设计 篇4

互联网的精彩之处就在于把大量的信息和页面通过各种链接组织起来, 单击含有超链接的文本或图片, 可以实现页面的跳转。而如何将这些网页组合成一个有机的整体, 是本课的主要任务, 也是培养学生实际动手能力、激发学生学习兴趣、提高学生信息素养的重要途径。

二、教学目标

知识目标:理解超链接的概念, 了解超链接的种类, 掌握正确的超链接的方法。

能力目标:培养学生自主探索、自我创新的能力。

情感目标:以小组活动的形式培养学生之间的协同合作关系, 增强学生的合作精神, 让学生自我展示、自我体验, 在不断尝试中激发求知欲, 在不断摸索中陶冶情操。

三、教学难点

书签链接、图像映射。

四、教学设想

首先浏览课本素材库中的“环保网站” (主页为index.htm) 引入新课, 激发学生的学习兴趣, 接着引出超链接的概念、链接的种类, 然后给出创建超链接的一般方法, 这样来推动学生探索知识的意向并转化为动力, 提高学生的学习主动性和思维积极性, 最后让学生自主探究, 为他们终身学习打下基础。

五、教学准备

教案、上课资料、教师用的多媒体计算机、学生机、极域屏幕广播。

六、教学过程

(一) 导入新课

学习第四章以后, 我们就知道互联网上的好多网站是互联的, 那么它们是怎样联系到一起的呢?我们在前几节课里也做了一个环保网站, 并且在网站里又做了几个独立的网页, 我们可不可以像互联网一样, 把我们自己做的网页也互联起来呢?这就是我们本节课学习的主要任务———创建超链接。

(二) 讲解新课

展示课本素材库中的示例网站———Index.htm。教师点击各种链接, 让学生直观看到链接源和链接目标。由教师和学生一起讨论得出链接的种类:

1.链接的种类

根据链接对象的不同性质, 可以将链接分为四种:

⑴同一页面间的链接;⑵不同页面间的链接;⑶链接到WEB页;⑷建立图像映射。

那么这些链接是如何建立的呢?

2.建立超链接

回忆我们平时上网时的链接, 或者根据老师刚刚展示的链接看, 链接源一般定义在哪里呢 (由教师与学生讨论得出) ?链接源可以定义在文字中, 也可以定义在图片上, 还可以是图片中的局部位置上。

讲解建立超链接的方法。

无论哪种链接, 都要选定链接源———右击———创建超链接———选择链接目标。或插入———建立超链接。下面我们就来学习链接的几种方式。

第一种, 同一页面内的链接。

⑴无书签式链接

演示并讲解:打开questions.htm———单击某一返回首页的图形———在预览窗口还选择———question.htm———确定。预览时, 观察链接同一页面时, 目标位置在哪儿 (同页的页首) 。

学生练习:打开自己机器里question.htm网页, 把所有的“返回首页”图形链接到question.htm。

教师观察、指导、总结学生练习情况。

演示:打开question.HTM.这个网页我们以前做过, 网页比较长, 如果想看看“酸雨蔓延”等下面项目的详细情况时, 要不停地滚动滚动条才能看到, 这样很麻烦, 今天老师给大家介绍一种比较好的方法———书签链接, 就可以解决这个烦恼 (引入本节课的难点) 。

⑵书签式链接

讲解什么是书签:我们有时看一本厚的书时, 一次看不完, 为了方便下次接着看, 常用的方法是用一个书签夹在那儿, 做个标记, 下次一下子就可以找到那儿, 这样很方便。而我们网页里的书签其实跟这个相似。

书签的定义:就是网页中被标记的位置或被标记选中文本 (也属于一个标记) 。

怎么做书签呢?我们还以QUESTIO.HTM中的酸雨蔓延为例:

首先确定书签做在哪里?做书签:选中文体部分中的酸雨蔓延———插入———书签———输入书签的名字。

做好了怎么链?选中网页顶端的酸雨蔓延标题———插入超链接———单击书签右侧的下拉列表———选择酸雨蔓延书签名字。

做好后演示, 让学生体会书签链接的好处。

学生练习:把自己的question.htm六个书签链接全部做好。小组成员互相帮助。

教师总结:这是同一网页之间的链接, 那不同网页之间怎样可以建立链接呢?

第二种, 不同页面之间的链接。

⑴链接到另一页面 (只要指定网页的文件名就行) 。

打开index.htm, 将主页导航条中标题链接到相应的页面。 (由于操作的相似性) 由学生自己完成, 教师作指导即可。

⑵框架间的链接 (难点:框架间链接的目标框架) 。以knowledge.htm框架网页为例:

演示:将环保问题作为链接源链接到question.htm.通过目标位置在不断的变化, 得出:

默认的为main框架。

相同框架:在链接所在的框架中显示链接目标。整页:将框架展开, 满屏后显示链接目标。

新建窗口:新建一个浏览器窗口显示链接目标。父框框:用得少。

学生练习:环保知识下的每一个标题做一个链接, 要求目标位置不断变化。

教师总结:向下一层网页链接时, 目标框架一般采用默认值;框架结构的网页返回主页时, 目标框架一般采用“整页”, 看起来整齐;链接到WEB站点、email。

打开index.htm主页, 发现上面有我们以前插入进来的几个网站的图标图片:要求把它们链接到相应的网站及电子邮件。

由学生自己完成。

总结:我们不但可以完成本网站内网页的链接, 而且还可以和外网建立联系。

刚才我们在做网站链接时, 发现一张图片只能做一个链接, 如果希望一张图片做几个链接时, 应该怎么操作呢?例如:我有一张中华人民共和国的地图, 希望单击山东省时, 就链接到山东省的政府网站 (教师出示电子版地图) 。像这种链接属于图像映像, 它也是我们本节课的难点之一。

第三种, 图像映射的建立。

什么叫图像映像:本身包括多重链接的图形。特点:单击图像的不同位置将激活不同的链接。

方法:首先绘制热区, 选中图片工具栏上的多边形热点或长方形热点工具, 画出所在省份的形状———单击———链接到相应的网站 (演示) 。学生做其它几个省份的链接。巩固本知识点 (学生练习, 教师指导) 。

总结:建立热区时热区不能重叠;要让访问者看出你的图片有多重链接。

(三) 本课小结

学生打开自己的index.htm文件, 点击本节课做的各种链接, 和老师一起回忆、巩固本节课的所有知识点。教师进一步总结:

超链接不是随心所欲的链接, 而是在规划网站时, 事先考虑好的。

网站之间的链连最好是双向的, 让访问者来去自如。

(四) 布置作业

学生收集一些班级资料, 通过所学知识规划一个班级网站。

F形状网页浏览模式网页设计 篇5

在美国长期研究网站可用性的著名网站设计工程师杰柯伯·尼尔森在年4月发表了一项《眼睛轨迹的研究》报告,报告发现,人们大多不由自主地以“F”字母形状的模式来阅读网页。尼尔森指出,网页的阅读模式和人们从学校里养成的读书习惯迥异。这份研究报告是从232名读者阅览几千张网页的实验中得出这个结论的。研究者发现,读者的阅读行为在浏览不同性质的网站和肩负不同的阅读任务时候都表现出基本上恒定的习惯。这种有压倒性的阅读模式就宛如英文字母F的形状,并且包括下面三个方面:

第一, 读者的眼睛首先是水平运动,常常是扫过网页内容的最上半部分。这样就形成了一条横向的运动轨迹。这就是F字母的第一条横线。

第二, 读者的眼光略微下移,很典型地扫描比第一步范围较短的区域。这就又画了F字母中的第二条横线。

第三, 读者朝网页左边的部分进行垂直扫描。有时候,这个举动很慢而且很有系统性,这样就画了F字母中的一条竖线。

下面这三张的热度图用来表明眼睛的运动轨迹并且用色彩来显示眼光聚焦程度的高低。越高的地方,颜色越热,分别为红色(最热),黄色(较热),蓝色(不热)和灰色(没有温度),如图1,图2,图3所示。

图片来源:F-Shaped Pattern for Reading Web content,www.useit.com/alertbox/reading_pattern.html

这三张是三种不同性质的网页。第一张是一般的说明性网页,第二张是个电子商务网页,而第三张则是Google搜索结果页。其结果都显示出F字母的轮廓。在第三张Google搜索结果页面的第二条红色横线比较长,是因为排名第二的标题比较长,所以目光扫过的距离也长,所以这个F的下面横线比上面长,

二.F形状模式的意义

F形状模式对网页设计的含义很透彻,也就是网页的设计和推广要有下面五个重要考虑。

第一, 读者不会非常仔细地一个字一个字看网页的内容。很少有人通篇在看。所以,每页不一定要填充非常多的内容,也就是说,每个网页不要过长。

第二, 网页的头两段非常重要,读者们基本上最关注这个部分。所以,这两段的写作好坏能直接影响读者是否有兴趣继续待在在此页吸收信息。

第三, 将重要的关键词尽可能地及早在标题、副标题和段落的前部显示给读者。这个安排内容的方法对搜索引擎也同样重要,因为搜索引擎的阅读方式是在模仿人。搜索引擎对网页的标题和前面段落非常重要,所以,网页的优化要充分考虑这一点。

第四, 人们对搜索引擎,比如Google的搜索结果页面的反应也是F型的。在图3中,我们可以看到,人们的眼光普遍注意搜索结果的自然排名(或者叫左侧排名)最前面1~3个搜索结果,而对4~10的搜索结果是一带而过。就是人们往下看搜索结果,也是“勉强”的。换句话说,将你网站排名在搜索结果页的前一两位直接决定了你网站受关注的程度。

第五, 搜索引擎竞价广告,除非能被放置在搜索结果页的最顶端和右边广告区的第一位,否则无法得到搜索者的关注。然而,获得最顶端和右边第一,往往点击的费用是很贵的。如果资金不足,只能做到右边两位以下,广告不易受到关注。另外,即使竞价广告获得最顶端和右边第一,从图上看得出,广告的关注度也远远不如搜索引擎结果的自然排名的前一两位。所以,搜索引擎优化是最能提高网站曝光度的办法。

本文来自:www.dmworld.com.cn/blogger/?p=443

相关阅读:

古代书院牌坊浏览 篇6

梁思成言:“牌坊为明清两代特有之装饰建筑,盖自汉代之阙、六朝之标、唐宋之乌头门、棂星门演变成型者也。”明清两朝牌坊建筑达到极盛。据考证,中国牌坊曾受到印度建筑的影响,而日本的乌居和蒙古的牌楼则显然受到中国牌坊的影响。

中国书院牌坊是一种书院教育标志性建筑小品,是由古代的坊门演化而来的。它在中国书院教育史上延用了近五百年历史,形成了书院建筑必不可少的组成部分。

福建建阳的考亭书院牌坊,始建于明嘉靖十年(1531年),为四柱三间五牌楼结构,高约10米,面阔约8.6米,葫芦形圆顶,牌匾书“考亭书院”,传为宋理宗亲书,坊柱间雕刻着雄狮、麒麟、凤、仙鹤等瑞兽祥禽及仙居道士等,人物形象造型古朴,具有闽北风格。

江苏无锡东林书院牌坊,始建于明万历三十二年(1604年),又称马头牌坊,是东林书院的标志。天启六年(1626年)阉党毁书院,石坊同时被毁。明代原石坊上题“观海来游”、“洛闽中枢”等字样。清康熙年间在原址上改建木坊。乾隆五年(1740年)恢复原状石坊,坊额上改题为“东林旧迹”和“后学津梁”字样,由当时邑人秦爱莲书写。

此坊三间四柱五楼,通高7.24米,雕饰有二龙戏珠、丹凤朝阳、狮子滚绣球、鲤鱼跳龙门等图案。从坊顶部的火焰珠、鸱吻、脊板到虎头牌、上下花坊、花窗、盾目、雀替等构件无不精雕细刻。通体设计合理,结构严谨,是件完美的石构建筑珍品。此牌坊是江南书院牌坊建筑的代表。

庐山白鹿洞书院牌坊(棂星门),始建于明成化三年(1467年),初为木构建筑,后改成石制,即现在的石牌坊,它是白鹿洞书院现存最早的建筑之一。棂星即古代传说中的“文星”,以它命名,寓意此处文星璀璨,人才辈出。

牌坊由花岗石构成,六柱五间双层,以石梁连接上下层。中梁刻以缠枝牡丹,护柱前后为抱鼓,上饰波浪纹。左右梁柱间装饰以灰砖砌成的方形镂孔。中柱上方也以薄砖砌成镂孔花纹。全坊宽11.37米,最高5.3米,造型坚固稳定,线条粗犷简练。上下额坊横贯于各柱之间,其中嵌有造型不同的镂空花坊板,而各坊之中只有明间上额坊有浮雕花卉图案装饰,除此之外皆为素面,显得朴素典雅。这座石坊还有一个特别之处,是两梢间面阔接近明间,两次间之阔明显小于梢间。

河北保定莲池书院牌坊,又称“莲漪夏滟坊”。保定为清代京畿首府,直隶总督驻节于此,莲池书院就坐落在城中心的古莲花池中。古莲花池与颐和园、豫园、拙政园齐名,为我国四大历史名园之一。元初属私家园林,称雪香园,明代为官府园林,号称“小鉴公署”。

雍正十一年,直隶总督李卫建莲池书院于古莲池,置讲堂、圣殿、魁阁、斋舍等建筑。乾隆十年,扩建为弘历的行宫,设岛、叠山、移花、植木,形成山水、楼台、亭榭、堂轩,书院与行宫合二为一。弘历三次莅院,赐“绪式濂溪”匾悬于万卷楼,并以理学规范莲池讲学。莲池书院不仅名扬中原,而且声播东瀛,培养了一大批著名生徒,如民国大总统冯国璋、清未状元刘春霖、民国教育总长付增湘等。

牌坊正面为“古莲花池”四个大字,为民初大总统徐世昌手书,背面“莲漪夏滟”为明代官府园林遗墨。

安徽歙县华屏山古紫阳书院牌坊,始建于清乾隆年间,属于徽商集资,在原文公祠的旧址上重建,以纪念朱熹。书院内还专设朱子殿、尊道堂等建筑。

该牌坊是一座二栋一间冲天式石坊,石柱立在矩形石座上,前后青石夹板护撑,额坊穿柱,下用雀替。青石坊匾上“古紫阳书院”五个楷书大字,十分醒目。柱头穿出定枋之上成冲天式,石枋上雀替于石柱外侧,定枋上正中置石雕葫芦宝瓶。整个牌坊结构简单清爽、格调典雅、端庄高致,与书院的风格正相协调。

江西奉新县会埠乡招边村潦河边上,有一座造型罕见的四方济美牌坊,它建于公元1599年。自北宋以来,奉新华林胡仲尧等四位先贤,乐善好施,造福桑梓,此牌坊为表彰四人的善行义举而立,是江西省惟一的书院四方牌坊。

牌坊高12.5米,宽4.4米,四面四柱,每面都是门楼式,有三层,全由石榫咬合。石柱、横梁上刻有花卉、禽兽等形态各异的吉祥物。

其中南面第二间横梁上,八匹快马千里送喜报的石刻,讲述的是宋雍熙二年,奉新华林书院有三位学子,同榜并登进士第,朝廷派人送喜报到华林的情景。

牌坊上石刻人物虽历经400多年的风雨,那流畅的线条、苍劲的笔力,依然清晰可辨。坊内四方各层青石板上均有题记,记录了华林胡氏捐廪赈饥民、架桥修路、创办华林书院、创建孔子庙等事。

湖南岳麓书院牌坊,为明代建筑,左右各一,南北相望,四柱三层,全部为麻石垒成,上有龙雕等饰物,内侧题额分别为“贤关”、“圣域”,外侧题额分别为“德配天地”、“道冠古今”,系对孔子的赞许。朴实、自然、含蓄,是湖湘风格的书院建筑的代表。

江西铅山鹅湖书院牌坊,始建于明代正德辛未(1511年),由提学副使李梦阳上书朝廷,第一次正式在鹅湖书院建立一座崇尚理学教育的简易石牌坊。现在所见保存完好的这座石牌坊为明代重新选址所建,清道光二十七年维修,并书额为“斯文宗主,继往开来”。

明末清初,烽火波及到鹅湖书院的建筑物,书院大部分建筑被毁,牌坊也遭损坏。顺治时,清廷为了赢得汉族人心,对全国各有名望的书院进行修缮,恢复正常的教学。鹅湖书院被列为首批拨款重修的书院之一。顺治四年开始,到同治六年,鹅湖书院先后十二次较大规模地修缮与扩大。仅康熙时就有过三次修缮,最大的一次是五十六年(1717年)知县施德涵奉旨集乡贤绅士捐资,增拨库银56万两辟旧址重建扩展书院面积。玄烨亲书“穷理居敬”为书楼横匾,“章岩月朗中天镜,石井波分太极泉”为楹联,为书院扩整后开学揭匾。

道光二十七年,又拨库银38万两重修。并着重修复了书院的院墙门、楼和石牌坊。

这座百年世纪坊全部用青石为建材,镂雕并举,屹立在书院整体建筑南北中轴线上,头门进入的第二进。整座牌坊高大宏伟、朴实壮观,坊高7.49米,长6.4米,宽2.3米,为四柱三间五楼式的门楼式石牌坊。

四柱底座为三层长青石砌成的须弥座柱础,柱础上支撑着四根方柱,四方柱南北向上用八个青石抱鼓石紧撑,寓意每个学子学有所成,各自都有自己特长。正间顶端南北向各图案,东柱上北镂琴,南镂书,西柱上北雕棋,南刻画。中间正厅东西二柱上南北两面均为鼎、瓶。

东一楼、二楼和西一楼、二楼楼面均为青石平板制成,各用一朵青石斗拱支撑。楼面各有一大二小倒立状雕刻的青鲤鱼三尾。正厅间为青石坊额,北额为“斯文宗主”四字,南额为“继往开来”四字。

正厅中间一块为石质细嫩的砚台石,两面镂雕,北面为“龙门”,门首四柱,二三柱为盘龙绕柱,一四柱为龙腾飞舞夺珠,门首波涛翻滚,鲤鱼跳跃,祥云覆罩;南面镌刻为大雁塔。“龙门”“雁塔”周边为镂空万字花格图案。(大雁塔在西安市慈恩寺,唐代新进士在曲江宴会以后,常题名于雁塔,称为雁塔题名。)

顶楼由四朵拱支撑,楼面为长方形青石楼板,四角镶嵌着四尾栩栩如生的莲花小鲤鱼,楼顶正面为钱芯宝葫芦石雕,南北面分别为彩带束缚的“朱笔”和“香囊”,寓意为书院乃“书香”之地,葫芦两边各立一条活泼生动的鲤鱼。

整座牌坊共有大小鲤鱼18尾,形象各异,尾尾逼真,形容书院士子读书百人,各有特长,将来都能鲤鱼跳龙门,为社会作出应有的贡献。

浏览设计 篇7

网络中很多非法网站或计算机病毒修改用户Internet Explorer(IE)浏览器的主页、标题栏等功能、信息,使计算机的正常运行、操作难以保证。这一问题可以通过注册表编辑器解决。但是,有的恶意网页或者病毒可能把用户操作系统中的注册表编辑器也屏蔽掉,使得修改注册表的权利都没有[1]。本文就是针对这一问题,介绍一个利用Delphi开发能够通过注册表保护、修复IE浏览器程序的方法。

2 设计原理

在Delphi 3.0及以上版本中,提供了一个构件Tregistry。在程序中可以利用它来实现对WINODOWS 9X/NT/XP注册表的操作。IE浏览器中的一些功能和信息与Windows操作系统中注册表是一一对应的。通过Tregistry构件访问注册表的首要工作就是对该构件的核心属性、方法进行解析[2]。

2.1 Tregistry构件解析

TRegistry常用的属性和方法有:Root Key、Create Key、Open Key、Close Key、Delete Key、Read XXXX、Write XXXX(XXXX表示数据类型如String、Integer等)。本文所用到的属性和方法有如下三个:

1)Root Key:注册表的根键名(如HKEY_LOCAL_MACHINE等);

2)Open Key(Key Name:string;Can Create:boolean):使当前键为Key Name,Can Create表示当指定的键不存在时是否创建,True表示创建

3)Set Key(Key Name,Key Value:string):使键Key Name的值为Key Value。

2.2 IE相关的注册表信息

获取IE浏览器关键功能和信息与注册表德对应键值是实现该程序的关键所在,其中:

1)IE主页:在注册表的SoftwareMicrosoftInternet ExplorerMain下的start page键值中存储;

2)IE标题栏:在注册表的SoftwareMicrosoftInternet ExplorerMain下的Window Title键值中存储;

3)注册表编辑器:SoftwareMicrosoftWindowsCurrent VersionPolicies管理注册表是否处于活动状态。如果注册表编辑器处于活动状态,那么其键值为true。如果注册表被锁住,其键值为false[3]。

3 详细设计

通过TRegistry构件、注册表和IE浏览器关联键值的分析,即可进行具体的代码设计。图1为该程序的功能流程图。

在Delphi开发环境中新建一个工程,在窗体上添加如下控件:一个Check List Box、一个Edit和两个Button。Check List Box的Items属性中添加五个选项,分别是:允许编辑注册表、恢复IE主页、恢复IE标题、恢复IE设置按钮和显示Internet设置选项。Edit控件用来编辑要设置的IE主页内容。两个Button控件的Caption属性分别命名为:应用和退出。然后,在“应用”按钮中编写代码。核心代码如下:

代码完成后,运行程序,程序运行如图2所示。

4 总结

本文介绍了用Delphi编写的IE保护器程序的方法,通过它可以对IE进行轻松的管理与维护。在此工作基础上可以进一步完善,如增加托盘功能,或者通过Timer控件对注册表进行实时监控,以及添加程序的自启动功能等。

摘要:分析了Delphi中Tregistry构建与Windows操作系统注册表的关联,归纳了开发网络浏览器进行保护程序的全部过程和方法,提供Delphi中Tregistry构建应用于Windows操作系统网络安全的基本思路。

关键词:网络浏览器,安全防护,Delphi,注册表

参考文献

[1]张福峰,李文广.Delphi下网页广告拦截技术的实现[J].沧州师范专科学校学报,2007,23(1):58-59.

[2]韦志鹏,王勇,李静.Delphi中面向对象程序设计思想[J].电脑知识与技术:学术交流,2007(1):267-271.

虚拟数字图书馆的浏览设计探讨 篇8

关键词:虚拟数字图书馆,浏览设计,Web3D技术

随着计算机科学技术和信息网络技术的发展, 图书馆需要保存和传播的信息量越来越大, 信息的种类和传播形式也越来越复杂, 传统的图书馆已经很难满足这些日益增长的信息量的保存和传播的需求。随着网络虚拟技术的发展, 数字图书馆这一设想开始出现并且逐渐投入到实际的使用中。数字图书馆实际上是以模拟真实图书馆的形式, 将大量信息和数据储存起来, 用户可以通过互联网来获取和查阅这些信息, 是一种最新的网络图书馆形式。数字图书馆是传统图书馆在网络信息时代的新形式, 它不仅有传统图书馆的可供用户查阅信息的功能, 还具有储存信息, 信息共享等全新的图书馆功能。随着3D模拟技术的迅速发展, 基于3D技术的虚拟图书馆必将成为未来数字图书馆发展的主流。虚拟数字图书馆可以最大程度地模仿真实图书馆的场景, 而且具有真实图书馆所缺乏的很多便捷的信息查询, 信息共享和服务功能。虚拟数字图书馆的发展, 将给用户一种前所未有的全新的浏览体验, 将是图书馆界的一场革命。

虚拟数字图书馆的浏览设计是数字图书馆建设中的重要组成部分。近年来, 随着信息科学技术的发展和广泛应用, 出现了大量的数字浏览技术, 其中, 以Web3D技术的应用最为普遍。Web3D技术被广泛地用于最新的数字图书馆的建设中, 其中以数字图书馆的浏览设计最为普遍。Web3D技术以其特有的形象化展示、强大的交互及其模拟功能, 为数字图书馆的使用者提供了真实方便的阅读体验, 受到广泛的关注。

一、Web3D技术的背景及介绍

1.虚拟现实技术。虚拟现实 (Virtual Reality) 技术是一种逼真地模拟人在自然环境中的视觉、听觉、运动等行为的人机界面技术。该技术综合了计算机图形系统和各种显示、控制等接口设备, 是一种可提供沉浸感觉和交互操作的计算机三维技术。20 世纪80 年代, 美国VPL公司的创始人Jaron Lanier最早提出了“虚拟现实”这一概念, 它是以“3I”为主要特征的综合性信息技术, “3I”指的是沉浸 (Immersion) , 交互 (Interaction) , 构想 (Imagination) 。

2.Web3D技术的应用。Web3D目的就是在网络上实现实时三维模型的浏览, 并可以实现动态效果和实时交互。它的提出是直接针对网络的, 所以应用领域非常广泛。Web3D有着独特的技术特色, 它以较低的成本获得一定程度的虚拟现实体验, 它在立体空间的展示, 立体物体的展示, 展品的介绍, 虚拟空间的营造与构建, 虚拟场景的构造等方面有着独特的优势。目前这种非沉浸式的网络虚拟现实系统Web3D技术在电子商务、远程教育、计算机辅助设计、工程训练、娱乐游戏业、企业和虚拟现实展示、虚拟社区等领域已经获得了广泛的应用, 并取得了许多可喜的研究成果。

3.Web3D的实现技术。Web3D的实现主要是通过网络编程语言和软件来实现的。这些网络编程语言主要包括:虚拟现实建模语言VRML, 网络编程语言JAVA3D, viewpoint等, 这些编程语言需要强大的软件和数据库的支持。Java3D实际上是Java语言在三维图形领域的扩展, 是面向对象的编程。它可以实现生成物体、颜色贴图和透明效果、模型变换及动画等功能。JAVA3D技术用户在使用的时候, 不需要安装插件, 初次使用只需要安装一个JAVA解释包就可以。JAVA是需要MICROSOFT公司支持, 当MICROSOFT公司宣布不再支持此技术, 在常用的系统Windows XP也没有内建JAVA虚拟机, 所以JAVA 3D运用于Windows XP系统时必须安装JAVA虚拟机。

作为非常受专业人士欢迎的Virtools, 是由法国Virtools公司研发的3D/VR设计及企划人员广泛使用的软件及开发平台, 由于其完全可视化接口与高度逻辑化编辑方式, 能轻松把互动模块融入一般的3D模块中的特质, 非常适合非程序设计出身的设计员。Virtools的开放式的架构, 灵活的特征, 开发者可以灵活使用模块的脚本, 可以实现对象的交互设计和管理。而作为非程序设计出身的普通的开发者可以直接利用鼠标拖放脚本, 通过人机交互图形化用户界面, 同样可以制作高品质图形效果和互动内容的作品。这个系统可以很好地用于虚拟图书馆的图书检索系统和人机交流系统的设计中。

而另一项技术Viewpoint, 由美国Viewpoint公司推出的, 全称Viewpoint Experience Technology (简称VET) , 由于它生成的文件格式非常小, 三维多边形网格结构具有可伸缩和流质传输等特性, 使得它非常适合于在网络上应用。用户可以在它的3D数据下载的过程中看到一个由低精度的粗糙模型逐步转化为高精度模型的完整过程。VET可以和用户发生交互操作, 通过鼠标或浏览器引发一段动画或是一个状态的改变, 从而动态地演示一个交互过程。VET除了展示三维对象外还犹如一个能容纳各种技术的包容器, 它可以把全景图像作为场景的背景, 把Flash动画作为贴图使用。

二、Web3D在虚拟数字图书馆浏览设计中的应用

1. 浏览设计应用软件的选择。Web3D系统建设所应用的软件有:Cult3D应用软件, Java3D编程软件和Virtools应用软件及开发平台。Cult3D是瑞典的Cycore公司开发的一款软件, 是一种跨平台的3D渲染引擎, 它能适用于目前的各种浏览器, 从普通的个人电脑到苹果的各种机型, 从普通的Windows操作系统到Unix、Linux等操作系统。Cult3D为3D产品添加交互性动作并把完成后的3D文件压缩, 它可以把3D产品嵌入到Office、Adobe的Acrobat和网页以及用于支持Active X的软件开发中。由于采用了先进的压缩算法, Cult3D最后生成的以.co为扩展名的文件很小, 非常适合于在网络上传输, 由于Cult3D是使用Java语言开发出来的, 所以它生成的文件可以无缝地镶嵌到网页中。这款软件可以用于虚拟图书馆的网页和网络平台设计上面。Java3D实际上是Java语言在三维图形领域的扩展, 是面向对象的编程。它可以实现生成物体、颜色贴图和透明效果、模型变换及动画等功能。它主要用于构造图书馆整体环境, 馆内设备以及人物角色的动画设计等, 创造和虚拟一个逼真的图书馆环境。

2. 建模工具的选择。在虚拟数字图书馆的浏览设计中, VRML是经常会使用到的建模语言。Virtual Reality Modeling Language (VRML) 是一种基于真实世界场景或是人类生活的三维空间场景的建模语言, 该语言与平台无关, 它逐渐成为因特网上的基于万维网互动网站制作的主流语言。VRML的本质是面向web面向对象的解释性三维造型语言, 其主要对象是结点, 所以子结点可以构成复杂的景物, 对结点进行复用, 并赋予指定名字, 即可建立动态的VR (虚拟世界) 。通过VRML建模软件的应用, 建立各种三维模型, 再通过组合和模拟场景形成系统的虚拟现实世界。

3.系统设计与实施流程。在虚拟图书馆的浏览界面设计方面, 学界大多认为虚拟浏览环境应该具有场景逼真和用户交互两大特点。在场景逼真上, 应该通过3D模型的建立来模拟真实的浏览环境, 并保证视图转换和浏览动作的流畅性, 同时, 还应该具有设定用户信息, 声音和用户动作反应等功能。在用户交互方面, 要通过系统的设计, 使用户能够对虚拟环境中所有对象和行为实施有效的控制, 如视图的切换, 控制对象的行为和导航等功能, 实现用户对于虚拟场景的有效控制, 为用户创造一种自由的、能随心所欲地在虚拟场景中进行浏览的虚拟环境。

4.图书馆浏览系统建模。 (1) 虚拟图书馆场景建模。虚拟图书馆场景建模, 是指通过3D建模技术, 利用建模软件, 将图书馆的场景及设备进行建模, 创造出一个近似于真实环境的虚拟数字图书馆。虚拟图书馆建模, 首先要进行实物的建模。要对图书馆中需要的各种实物进行建模, 包括图书, 座椅, 书架, 阅览室等设备进行建模, 通过拍照和3D建模技术, 对于这些设备在电脑上进行创造, 以便在后期对整体图书馆进行整体构造。其次, 要建立图书馆整体的三维模型。通过3D建模软件, 创造出一个与真实图书馆相似的虚拟图书馆场景, 包括馆内各项设施和设备的模拟, 根据现实图书馆中的场地布置情况和楼层设置在虚拟图书馆进行场景重现, 为读者在浏览时创造一个逼真的图书馆场景和环境。另外, 在场景建模时, 要注意图书馆灯光以及浏览环境的布置。为了给浏览者更好的浏览体验, 为他们创造出一个接近于真实浏览环境的虚拟数字图书馆, 在对图书馆灯光的设计以及浏览环境的设计上, 要尽量与真实的图书管环境相接近。 (2) 人物角色的建模。在图书馆浏览系统建模中, 还要使用到人物角色的建模这一技术。在虚拟图书馆的导航系统中, 要设置男女两种角色模型, 以便读者进行选择, 并且对这些角色的动作和语言进行设计, 尽量创造出真实的人物效果。在人物角色建模中, 首先要建立人物角色的大体模型, 通过创建骨骼、皮肤、器官等, 模拟出一个惟妙惟肖的人物框架。另外, 要根据人物的性别进行语言和动作的设计, 尽量使人物的动作和语言能够将近于真实效果, 给浏览者一种真实的浏览体验。

参考文献

[1]翟彤.虚拟现实在工程技术中的实现[J].武汉工业学院学报, 2006 (3) .

[2]孙文霞.VRML在构建三维虚拟校园中的应用研究[J].电脑知识与技术, 2008 (10) .

浏览设计 篇9

文中基于BREW平台设计了一款网络浏览器。通过网络连接后,后台的服务器将打开一个端口进行监听,接收来自前台手机客户端的网络请求,浏览器取来所需页面,解释它所包含的文本和格式化命令并在屏幕上显示该页面,使得手机用户在Internet上的漫游更加容易。

1 网络浏览器设计中的关键技术

1.1 BREW中的事件处理机制

每个高通BREW应用程序的核心就是它的事件循环,它接受用户的事件和系统事件,并且把这些事件调度到应用程序的用户接口,该接口控制和处理应用程序所需要做的一切事情[1]。与许多BREW应用程序类似,本应用程序也是通过主函数ISHELL_HandleEvent来触发应用程序的事件发生,只有当该函数返回TRUE时,应用程序的功能才能得以实现。包括的事件主要有:

EVT_APP_START(应用程序启动):用于启动应用程序,建立网络连接,打开浏览器的导航管理器;

EVT_APP_STOP(应用程序结束):中止小应用程序,关闭网络连接;

EVT_KEYS(设备按件处理):按键事件,由手机按键触发事件。如在本应用中,使用手机的左右键来节音量;

EVT_COMMANDS(用户定义的菜单处理):小程序自定义控件事件,如菜单按键。在本应用中,用来触发定义的软件菜单;

EVT_APP_SUSPEND(应用程序挂起)、EVT_APP_RESUME(应用程序恢复):中断,恢复事件。在手持设备上装载BREW的应用程序通常都会遇到应用程序被中断,特别是手机这种主要用于通讯的工具。

1.2 网络连接

在浏览器设计中,需要将BREW自身所具有的接口与Web服务器之间建立好联系。在BREW中提供了一个综合面向Http的接口IWEB,可以实现对代理服务器的支持[2]。IWeb接口是用来监督代理、持续连接和其它与Web有关行为的重要接口。一般通过网络从服务器上读取信息,都依赖IWeb接口实现。

客户端在手机上运行,要通过网络接受输入并做出响应。除此之外,还要把所输入的数据通过网络发送到服务器端。服务器端接收一个或多个客户端输入的数据,并做出响应,向客户端返回处理之后的数据,如图1所示。该网页浏览器使用Http协议,为了更好的做到与基于Web服务的交互,高通的BREW平台从1.1版本开始就已经提供了一个模块,实现Http客户端的功能。其中包括发送数据(Http Post方法)和接收数据(Http Get方法),以及检查和数据传输业务相关的信息头。

2 网络浏览器应用程序的实现

2.1 网络浏览器的UI设计

开发手机浏览器的最终目标是让终端用户可以通过手机方便的浏览网页,获取网络信息。浏览器本身的用户界面接口就是屏幕,它允许用户选择书签、输入网页地址或者修改设置,而这些都是以超文本形式出现在主IHtmlViewer中。浏览器的用户界面由下列4个对象组成:

(1) IHtmlViewer接口是主要浏览面板[3]。所有要在浏览器中显示的文档都在这里显示出来。浏览器当前显示的是BREW手机的Html显示器能够处理的对象;

(2) 软键菜单带有工具信息,给出了如后退、帮助、书签等按钮通路;

(3) 第二级IHtmlViewer被用来打开对话框,它不属于上述IHtmlViewer;

(4) 状态条图像用来显示搜索过程。

2.2 应用Ajax技术设计控件

Ajax的全称是“Asynchronous JavaScript and XML”(异步JavaScript和XML),是指一种创建交互式网页应用的网页开发技术,它是Web应用的一种新方法。它可以动态更新Web页面,其主要功能就是把传统的交互方式由同步交互变为异步交互,使其具有异步请求与局部刷新的特性。

通常一个页面是由多个用户控件、自定义控件和静态控件组成。在浏览器控件的设计中加入Ajax技术,使得用户从请求/等待这个循环中解脱出来,可以在用户单击按钮时,使用JavaScript立即更新UI(BREW中提供的Java虚拟机可以使JavaScrip的加载更加方便),并向服务器发出异步请求,以执行更新或查询数据库。当请求返回时,就可以使用JavaScript和CSS来相应地更新UI,而不是刷新整个页面。在设计用户控件的时候加入Ajax技术,就可以在表现层页面中直接调用,这样对服务器的请求就是异步发送的,浏览器可以继续响应用户输入,同时在后台等待服务器的响应。这样不但可以大大增加系统的内聚性,也可增加其重用性。这样对于其他系统开发人员来说,就可以方便的使用设计好的控件,对于使用者来说可以有更好的使用体验。

2.3 Html文档的读取和存储

Html浏览器本身不能以任何方式访问网络。如果用户跟从链接或提交表单,会产生发往主机应用程序的通知。使用AEECLSID_HTML ClassID创建Html浏览器。它在一定程度上增加了开发者开发应用程序接口的灵活度,并且简化了应用程序的开发。

2.3.1 加载文档

IHtmlViewer接口允许应用程序控制IHtml浏览器对象,浏览器是通过主机应用程序调用的对象。它可以处理Html文档,并允许用户对文档执行操作:滚动、创建链接以及在表单字段中输入数据。下面介绍在本应用程序开发中如何使用IHtmlViewer接口所包含的函数。

这个项目的最终目的是要将Html文档显示到浏览器中去。要打开Html文档,首先要将IHtmlViewer接口实例化。创建方法如下面代码所示:

if(SUCCESS==nErr)

{nErr=ISHELL_CreateInstance(piShell,AEECLSID_HTML,(void**)&piHtml)}

要若将Html加载至文档,首先应找到该文档所在位置,然后再判断文档内容有没有错误并且是否为Html格式。如果没有错误并且是Html格式,就将ISource的内容载入文档,并把数据按照Html格式解析,删除所有先前的内容。同时在后台继续进行异步加载,加载完资源后,将显示文档内容。调用程序时通过调用IHtmlViewer_IsBusy()检查浏览器是否正忙于加载,并且可以通过设置回调和监视HVN_DONE加载信息获得加载完成的通知。

2.3.2 分配空间

文档载入的同时,也要考虑到为该文档分配空间。这时就要通过函数IHtmlViewer_SetData()为浏览器提供Html缓冲。所有缓冲区同步解析浏览器,并删除先前所有内容。注意,返回时保持缓冲区中无指针。

读取Html文档的示例代码如下:

me->piHtml=piHtml;

IHtmlViewer_AddRef(piHtml);

/*此处注意,在文档内容超出分配给控件的矩形时,要想让浏览器自动显示滚动条,则需要在属性中设置HVP_SCROLLBAR,如果文档内容未超出矩形,则不显示滚动条,但会一直保留显示滚动条的空间。*/

IHtmlViewer_SetProperties(piHtml,

(IHtmlViewer_GetProperties(piHtml)|HVP_SCROLLBAR|HVP_LOADALLIMAGE|HVP_INVALIDATION));

//回调事件的拥有者

IHtmlViewer_SetNotifyFn(piHtml,Brewser_HViewNotify,me);

/*然后再通过IWeb接口将文档信息传到IHtmlViewer接口*/

IHtmlViewer_SetIWeb(piHtml,piWeb);

2.3.3 如何添加背景图片

BREW1.1支持的Html主要功能包括:超文本链接、简单的Html表单、文本输入提交按钮、复选框和单选按钮、对齐方式、字体和文本颜色等。但BREW1.1还有个缺点,就是不支持背景色和背景图片,这使得浏览网页变得单调。为了解决这个问题,用到了IHtmlViewer这个控件中的两个技术[4]:

(1) 接口函数替换技术;

(2) 直接修改显示缓冲区技术。

接口函数替换类似于一种钩子方法(Hook),通过这种方法用一个自定义函数(IDISPLAYER_MyUpdateEx)替换IDisplay接口的IDISPLAY_UpdateEx函数。所有显示输出操作最后都需要调用IDISPLAY_UpdateEx函数刷新屏幕,IHtmlViewer也不例外。使用这个函数替换后,IHtmlViewer在刷新屏幕的时候就会首先调用IDISPLAYER_MyUpdateEx,在这个函数中修改显示缓冲区,添加背景图片,然后再调用真正的IDISPLAY_UpdateEx函数刷新屏幕,这样,IHtmlViewer控件就有背景图片了。

3 结束语

随着3G网络时代的到来,手机中的网络应用将发挥越来越重要的作用。文中主要介绍了基于BREW平台设计的一款网络浏览器,在此应用程序的设计和开发中,涉及了大量的技术知识,文中重点介绍了关键技术:事件处理机制、网络连接、Ajax技术设计控件和Html文档的加载和显示等。

摘要:介绍了一款基于BREW平台设计的网络浏览器。在连接网络后,此浏览器可以显示Html格式的Web页面,便于手机用户浏览网页。重点论述了在浏览器设计中的几个关键技术,即事件处理机制、应用Ajax技术设计控件、Html文档背景的加载等。

关键词:BREW平台,网络浏览器,Ajax技术,Html文档

参考文献

[1]卜佳俊,张海翔,陈天洲.深入BREW手机开发[M].北京:清华大学出版社,2004.

[2]孙睿.BREW及其应用开发[J].计算机应用研究,2004(1):34-37.

[3]许江伟,陈平.BREW平台上的手机软件开发[J].计算机应用研究,2003,23(10):24-28.

软件设计模式浏览器的UML模型 篇10

关键词:软件设计模式浏览器,UML,用例模型,对象模型

自出现软件以来,软件质量就是一个永恒的话题。在软件开发方法的探索中,提出了很多种设计思想。面向对象软件方法的兴起,在很大程度上为提高软件质量和开发效率奠定了很好的基础。目前软件业广泛采用设计模式进行软件设计,因为它们与构建应用程序直接相关,为代码复用开辟了新的道路。Erich Gamma、Richard Helm、Ralph Johnson和John Vlissides在参考文献1中第一次将设计模式提升到理论高度,对应用中的各种模式进行总结、筛选,并规范化,提出了23种基本设计模式,这些模式分析了在设计和构造应用程序时遇到的常见问题和解决方案。之后,在可复用面向对象软件的发展过程中,新的大量的设计模式不断出现。参考文献2把模式分成体系模式、设计模式和代码模式三个层次,并提出了一些新的模式。

参考文献3特别强调了Design Patterns are Bad for Software Design,主要原因在于熟悉传统的结构化方法的设计人员过渡到面向对象方法存在很多困难,要应用软件设计模式更没有经验可言。同时,软件设计模式会随着学科经验的积累而不断更新,在对软件设计模式不熟悉的情况下套用软件设计模式会对设计的效率和重构潜力产生很坏的影响。

从国内外的研究来看,软件设计模式应该是变化的、不断成熟的理论,新的更好的软件设计模式会不断的产生,老的软件设计模式可能会过时。要从众多的软件设计模式中选择适合自己系统的模式显然是使用模式的瓶颈,特别是对软件设计模式并不熟练的人员。虽然使用软件设计模式不是目的,但它确实可以在很大程度上提高程序的重构能力。要应用设计模式,首先应该需要熟悉并深入理解这些模式,其次,需要一种有效的软件设计模式选择方法和工具。

有很多人在研究软件设计模式以及具体设计模式的应用,对软件设计模式的学习和选择来源于书籍,或者一些不可补充的电子参考,比如参考文献4,这对于不断发展的软件设计模式理论显然是不够的,迫切需要较为直观的软件设计模式学习和浏览的工具。这里希望找到一个有效并尽量完善的软件设计模式浏览器(SDPE,Software Design Pattern Explorer)模型,为软件开发者提供一个了解、比较、学习、选择软件设计模式的工具。

UML(Unified Modeling Language,统一建模语言)是一种面向对象建模语言,它采用可视化的方法对软件进行描述、可视化处理、构造和建立软件产品的相关文档,具有创建系统静态结构和动态行为等多种结构模型的能力,具有可扩展性和通用性,适合于多种多变结构系统的建模,便于迭代。是面向对象分析和设计的基本工具。

Rational Rose是Rational公司基于UML规范的可视化建模工具。Rose与Rational其他一系列的软件工程方面产品的集成度比较高,并且使用方便,提供从模型到代码的自动化,Rational Rose遂成为UML建模的首选。

本文采用UML规范,用Rational Rose 2003实现SDPE的功能建模和对象建模。

1 模式信息的组织

目前的软件设计模式主要有三个来源,一个是GOF提出的23种设计模式;一个是POSA中提出的模式;然后是一些没有系统化提出但是应用比较广泛的模式。从GOF和POSA对软件设计模式的描述来看,对众多的模式均采用多级分类进行组织。参考文献1中,根据目标准则,GOF把模式分成行为型、结构型、创建型三大类;根据范围准则,则分为类模式和对象模式,按照这两种依据的组合,可以分成六个小类。参考文献2中,把模式分成服务访问和配置模式、事件处理模式、同步模式、并发模式四大类。综合这些分类方法,选择采用三级树型结构进行组织,如图1。第一级为根,称为SoftwareDesignPattern。第二级为模式的来源,有GOF、POSA、Others等类别。第三级是具体的模式。模式的描述另外说明。这个结构应该是活动的,软件可以根据模式携带的信息主动构建这个结构,从而实现模式的动态更新。同一个模式对应多种语言的示例代码,独立于模式信息存储。

2 SDPE的功能模型

在SDPE中,用户使用最多的是模式浏览功能,由于对模式最直接的认识来源于模式的结构图,据此设计模式浏览的主体功能为结构图,同时可以选择显示模式的其它文字信息,通过示例代码分析模式的实现方法。用户初步选定某个模式之后,如果需要深入了解,可以导出该模式的模型、代码,并进行编辑。浏览的基础是对模式信息的存储,因此需要模式的管理功能。

根据以上分析,SDPE应该实现设计模式的管理功能,模式浏览打印功能,模型导出编辑功能,模式示例代码分析功能。从用户的角度看到希望得到的功能是SDPE的功能需求,表现为用例图。SDPE中的事务有:

1)用户要浏览软件设计模式信息,设计支持顺序浏览和选择浏览,并简洁信息和完整信息两个方案;

2)用户需要编辑模式信息,涉及加入新模式,修改现有模式,以及删除已有模式;

3)用户要深入了解或者引用某个模式的模型,这里涉及为模式的相关信息导出,可以导出文字信息,图形信息和Rose模型;

4)用户要使用某个模式,需要进行代码方面的研究,设计为模式代码编辑和导出。

SDPE是开放式软件,任何用户都可以直接操作SDPE实现所有的功能,归为同一类参与者;由SDPE导出的文件需要使用一些专门的软件打开,在这里归为被动参与者。由SDPE导出的模型使用Rational Rose编辑,Rational Rose属于被动参与者,同样RTF文件的浏览软件(如Microsoft Word)也是被动参与者。根据以上分析,SDPE的用例模型表示为图2。

模式浏览提供类似于Windows资源管理器的浏览界面,在界面控制上有所区别;模式管理用例由加入模式、修改模式、删除模式、代码编辑三个用例实现;模式引用由导出MDL模型、导出模式信息、代码编辑三个用例实现。模式浏览用例由完整浏览和简洁浏览两个用例实现。

3 SDPE的对象模型

对象模型描述系统类的数据元素和界面元素。在SDPE中,最核心的数据是模式信息,每个模式的信息均需要永久存储于磁盘,需要定义永久类Pattern和永久类Code。

根据GoF对模式的描述,每个模式本身需要用名称(Name)、意图(Intent)、别名(AlsoKnownAs)、动机(Motivation)、适用性(Applicability)、参与者(Participants)、协作(Collaborations)、效果(Consequence)、实现(Implementation)、已知应用(KnownUses)、相关模式(RelatedPatterns)、结构图(Structure)等十三个属性进行刻画,Pattern类的相关模式属性(Related Patterns)与Pattern类自身关联。为便于对模式信息进行分类组织,增加模式组、模式类型两个属性。

在SDPE运行期间,所有模式信息作为一个集合进行访问,每次访问一个模式的信息,可以定义为集合与记录的关系,由此定义一个模式管理器类PatternManager。其属性在Pattern类的基础上加入当前模式位置信息CPos。按同样的方式定义代码类Code和代码管理器类CodeManager。

PatternManager类的结构与永久类基本相同。Pattern类支持的操作定义为方法,从提高软件重构能力出发,为永久类Pattern定义方法SDPExport()实现结构图导出,定义ModelExport()方法实现Rose模型的导出,定义Pattern类的打印方法Print()实现模式信息的打印输出,定义Pattern类的多态显示方法Display()实现在人机界面的信息显示。

作为对系统功能的描述,根据上文的分析定义行为类Ex-plorerForm、MaintainForm和CodeEditForm。ExplorerForm类实现浏览,MaintainForm类实现模式管理。CodeEditForm类实现代码编辑。

根据以上分析,SDPE的对象模型定义如图3(由于Pattern类属性较多,没有一一画出)。从图3来看,PatternManager类和Pattern类之间是一对多的依赖关系。Pattern类通过RelatedPatterns/Name与自身关联,为一对多的反射关联关系。

4 SDPE中的模式思想

在设计中使用软件设计模式可以在很大程度上提高程序的重构能力,这里提出SDPE设计中的模式思想。

工厂模式,在实现软件设计模式浏览时,由模式信息的数据集合产生具体模式的信息,并且在任何时刻都只有一个模式存在。工厂模式一般采用单实例模式实现,单实例(Singleton)模式属于对象创建型模式,它保证一个类只有一个实例,图3中的Pattern由PatternManager实例化,Code由CodeManager实例化,每次只产生一个实例。

外观模式,使用ADO.NET对象连接数据库时用到了外观模式,只需要提供数据库文件路径就可以填充返回数据集合。并且,单实例通常也采用外观模式实现。

以上列举了几个软件设计模式应用的例子,模式之间不是完全独立的,在一个应用中,可能会同时用到多种设计模式。同样,同一个模式也会有多种形式,不应该拘泥于模式的某种结构。

5 结论

本文使用通用的UML面向对象建模语言对软件设计模式浏览器进行用例模型分析和对象模型分析,并采用集成化的OOCASE工具Rational Rose实现这些模型,探讨了SDPE中的软件设计模式思想。为软件设计模式的研究提供了一个实用的工具软件模型,具有现实意义。

参考文献

[1]Gamma E,Helm R,Johnson R,et al.设计模式:可复用面向对象的软件基础(双语版)[M].李英军,马晓星,蔡敏,等,译.北京:机械工业出版社,2007.

[2]Buschmann F,Meunier R.Pattern-Oriented Software Architecture,Volume1:A System of Patterns[M].Addison Wesley,1996.

[3]Sommerlad,Peter.Design Patterns are Bad for Software Design[J].Software IEEE,2007,24(4):68-71.

[4]国刚,周峰,孙更新.UML与Rational Rose2003软件工程统一建模原理与实践教程[M].北京:电子工业出版社,2007.

[5]刁成嘉.UML系统建模与分析设计[M].北京:机械工业出版社,2007.

[6]绍维忠,杨芙清.面向对象的系统分析[M].北京:清华大学出版社,南宁:广西科学技术出版社,2006.

上帝浏览的花园 篇11

——(美)约瑟夫·洛克

85年前的1924年,美国学者约瑟夫·洛克跟随着一伙赶马人,悄然来到了万山丛中的木里。木里,在四川境内横断山脉深处,与泸沽湖仅一山之隔。木里在藏语里的意思是美丽,辽阔,深远。由于大山的阻隔,以及山道超乎想像的艰险,木里在外界的传说中一直是神秘的。换句话说,惟有像雪山之上展翅翱翔的鹰一样地俯瞰,才能感受到在这片神的土地上大自然是多么壮丽。

一年前刚刚谋到美国国家地理学会云南探险队队长职位的洛克,在云南丽江逗留期间,很容易就听说了永宁附近有这样一个神秘之地,便魂牵梦萦想去看看。他先给木里王去信,客气地表达了自己的心愿,却被木里王婉言谢绝。执拗的洛克还是决定要去木里;而他的几个纳西族助手早已心知肚明这个美国人性格倔强,眼看年关迫近,也只得很不情愿地跟着他,上路。

“以前,还没有任何关于这个神秘地区的报道,过去100年中曾经到过这个地区的欧洲人也屈指可数。

两年前,我曾经派人给木里的喇嘛王送去一封信,告知我很想在几周后动身前往木里。这个从未离开过木里的喇嘛王非常有礼貌地给我回了一封信,告之我最好还是不要去。因为在木里地区有很多土匪,他却不能提供足够的安全保障。

我非常尊敬木里王的良好愿望,所以那个时候并没有成行。但是到了1924年1月份,即中国新年(春节)的前一个月,我决定率队进入木里,对这个神秘且文明的地区进行一次探险。”

1924年1月中旬,一个寒冷的清晨,在玉龙雪山脚下一个名叫雪嵩村的地方,寒冷的北风卷起片片雪花漫无边际地落下来。几个纳西小伙子早起开始准备骡马和行李。直到天已大亮,洛克马帮的11匹骡子和三匹马正准备出发,丽江的官员派遣护送的十个士兵,才姗姗赶来。望着几个稚气未脱的士兵,和几条快散架的奥地利步枪,洛克大失所望,只是挑选了其中六人,和他的随从一道匆匆出发。

几乎是一个上午,西北风都刮得特别猛,马帮在逼人的寒冷中沿玉龙雪山东麓踽踽前行。这是通往永宁的必经之路,洛克和他的纳西小伙子们两年来曾几次到这些地方采集植物标本,但冬天的干海子枯黄的景象,很难使人想起夏天的繁花似锦。

和变幻无常的天气一样。洛克对木里的了解也仅仅是抽象的地理概念。从地图上看,丽江距木里只有一百五十多公里,但据说,至少要在祟山峻岭间长途跋涉11天,才能到达木里。

显然,洛克的心情也随着山路的曲折而跌宕起伏。

他时而闲情逸致欣赏沿途美丽的自然风光:“从这里眺望丽江的雪域景色,真是美不胜收,特别是像城垛子一样的玉龙诸峰的无限风光更是令人为之倾倒。

我们后来在山顶上的一间小木屋里过夜。太阳落山后,灿烂的霞光从山垛间倾泄下来,雪峰像一条冰清玉洁的蛟龙浮游在空中,而深谷中则弥漫着白茫茫的迷雾,满月的银光映照着清冷的雪峰和冰川。”

他时而对高山峡谷中崎岖的小道深感险恶:“道路很差,小道上的石灰石像刀片一样锋利。”“旅程是艰难的,我们不得不在荆棘丛中以及岩石上蹒跚而行。”

历时五天,洛克一行到达永宁。永宁土司热情款待了他们,他们此时也才得知老木里王已经死于水肿病,他的弟弟即位才四个月。新木里王为人更加和蔼。从永宁到木里的路崎岖难行,更加艰险,绕过泸沽湖那汪清澈的湖水,爬过高高的山峰,才到达永宁与木里交界的一个小村子,而这里距木里王的大寺,还有两天的路程。

“当雪停的时候,我们已经在海拔15000英尺的地方了,这时太阳已经出来,照在我的身上,比先前觉得暖和了一些。在我们右侧,是一面峭壁,冰柱从峭壁上垂下,像一串串珍珠似的,在阳光的照射下,闪闪发亮。

我们继续下行,看见一个很深的山谷,木里河从山谷中流过。我的一个士兵用手向北方指着,我顺着他手指的方向远眺而去,木里便坐落于一个小山的山脚下,正沐浴在阳光之中。”

洛克的马帮进入木里时,正是天寒地冻的隆冬时节,风雪弥漫,马踏无痕。在山间的大草甸里,四边为苍天的古木所环绕,一队人马突然从密林中飙了出来,挡住了洛克的马帮的去路。这二十多个人穿着红色的长袍和金黄色的袈衣,一个飞扬跋扈的喇嘛走上前来让洛克的马帮快些让路,因为木里王的王兄马上就要路过。没想到血气方刚的纳西小伙并不买账,大喝一声:“滚开,我家老爷在后面。”狭路相逢勇者胜,慑于对方的气势,开路的喇嘛打了一个友好的手势,于是双方居然相安无事地各走各的道。

经过两天艰难行程,洛克一行翻越到一个关隘,挂满松萝青苔的云杉和杜鹃,使得群山显得十分寂静。惟有雪风刮过,才惊起一片喧嚣。行走在深峡中,一个护送的士兵突然指着远处兴奋地大叫起来。洛克举目望去,在高原清透冷冽的空气中,一座城池好像海市蜃楼般从雪后的荒原中浮现出来。

20世纪20年代初,也就是洛克初次探访木里时,整个木里境内有18座喇嘛寺,其中三大寺也即木里王的衙门,分别是木里,枯鲁和瓦尔寨。规模最大的木里大寺,有前后两座巍峨大殿和一座小殿,殿宇呈东西向依山势排列。据传,建寺前曾有一小经堂,因被焚,始由木里大喇嘛松登桑波主持重建,历时12载,于1661年(清顺治17年)竣工后,命名为嘎登喜祖·郎巴吉尾领。殿宇均为木石结构,高二十余米,毗连山坡上340间僧房,蔚为壮观。木里寺有僧人七百多,枯鲁有寺僧300人,瓦尔寨有寺僧270人,也就是说,那时的木里境内寺僧有上千人之多。

木里面积有多大呢?我们现在无法知道洛克是怎么得出木里总面积的,因为那时滇、川、藏的交界根本没有一张准确的地图;洛克写道:“木里王统治着一块方圆两万多平方公里的地域,比马塞诸塞州略大,但只有22000名诚实谦卑的人民。”

洛克后来在美国《国家地理》杂志发表文章时,有两张木里全景的照片,其中一张是远眺理塘河谷的壮丽景色,木里大寺像一个白色的亮圈,影影绰绰地斜放在半山坡上;另外一张是大寺挺拔屹立的近景,说明文字写道:“虽然没有北京皇宫那种宏大巍峨的气势,但木里王宫殿的正门高耸,依然显示着王权的神圣与威严。”

洛克终于来到气氛森严的喇嘛寺,而此刻木里王也在觐见室焦急地等待着远方客人的到来。洛克进入觐见室时木里王正背对着窗子,这是个宽敞明亮的房间,但因为逆光,洛克一时没法看清,而洛克的一举一动和神情却被对方看得一清二楚。

“喇嘛王穿着刺绣的天鹅绒藏靴,他30岁左右,有一副大骨架。他的头很大,颧骨很高,前额很平。他略显肥胖,没有什么肌肉,因为他几乎从来不锻炼和从事任何体力劳动。他的气质高贵,表情和蔼,笑声柔和,手势优雅。他身着一件红色的、托加袍似的长袍,右臂完全露出来。无袖宽大长袍下面是一件金银线刺绣的马甲,他的左手腕上套着一串念珠。”

木里王名叫项此称扎巴。在他的右边坐着几个喇嘛,低着头两手合闭,专心诵经。洛克首先开口说,很久以前便听说木里这样一个古老,美丽的地方以及喇嘛王的宽厚与仁慈,并且在很久以前便想访问木里,拜会喇嘛王阁下。项此称扎巴回答说,木里其实是一个很贫穷的地方。他对洛克不远千里从美国来表示深感荣幸,因为此前,还没有一个美国人来过木里。

洛克的到来使项此称扎巴率真的天性大发。他问洛克:“白人们还在打仗没有?”还未等洛克回答这个指第一次世界大战的问题,他又伸出手来让洛克摸他的脉搏,并问他能活多少岁,接着又问洛克有没有带望远镜,他想看一下远处的山峰。

木里王还吩咐手下的喇嘛拿来几张发黄的照片,照片上有美国白宫、英国温莎古堡、挪威海湾等。洛克一边喝着酥油茶,一边给他讲解图片的内容。木里王对于西方世界的憧憬让洛克很感动,不厌其烦的问题倒是让洛克有些吃不消。

浏览设计 篇12

OLE控件(Object Link and Embed对象链接与嵌入),是在Windows环境下应用程序之间交换数据的一种技术。ActiveX控件是OLE技术的扩展和增强[1]。Visual FoxPro(简称VFP)为开发数据库应用系统提供了一套完整的工具,但对于一些复杂的功能VFP还需借助外部库来实现,ActiveX控件就是VFP访问的外部库的最常见的一种类型。ActiveX控件是封装了属性、事件和方法的对象,当一个ActiveX控件添加到VFP以后,就可以象使用VFP其它基类一样使用。本文介绍Gd Viewer Pro ActiveX控件在VFP设计图像浏览器中的具体应用。

2 GdViewer Pro ActiveX控件及其部分属性和方法程序

GdViewer Pro ActiveX控件是一种PDF浏览、图形处理组件,支持许多图像格式,如:gif,jpeg,jbig,png,bmp,tiff等等;可在任何支持ActiveX控件的32位和64位Windows开发环境中使用,如Visual C++,Visual Basic,Visual Foxpro,Delphi,PowerBuilder等;它能实现图形的查看、缩放、打印和旋转、显示多页TIFF文件和PDF文件、播放动态GIF图像、从URL加载图像等功能。

本文中所选用的GdViewer Pro ActiveX控件的属性和方法程序有:

DisplayFromFile:打开并显示图形文件

Rotate90:图像顺时针旋转90°

Rotate270:图像顺时针旋转270°

Zoom:确定图像显示的比例

3 在表单中添加GdViewer Pro ActiveX控件

GdViewer Pro ActiveX控件在电脑中安装好后,就可在VFP中使用。首先将其添加到“表单控件工具栏”中,添加的方法如下:在VFP环境下,执行“工具”菜单下的“选项”命令,在打开的对话框中,打开“控件”选项卡,单击“ActiveX控件”单选按钮,然后在出现的“选定”列表框中,选中“GdViewer Pro4.GdViewer”,并在前面的复选框里打钩,单击“设置为默认值”按钮,这样就可将GdViewer Pro ActiveX控件添加到“表单控件工具栏”中[2]。

在表单中添加GdViewer Pro ActiveX控件的方法是:单击“表单控件工具栏”中“查看类”按钮,在打开的快捷菜单中选中“ActiveX控件”,执行完后就可以在“表单控件工具栏”中看到GdViewer Pro控件,单击该控件,在表单中适当位置按下鼠标左键并拖动,待达到所需大小释放鼠标,即可将GdViewer Pro控件添加到表单中。

添加到表单中的GdViewer Pro控件就是一个封装了属性、事件和方法程序的对象,其属性的设置和事件代码的编写与VFP中其它常用控件一样。

4 图像浏览器设计

4.1 图像浏览器界面设计

创建一个表单Form1,如图1所示,包括一个GdViewer Pro控件Olecontrol1、一个列表框List1(用于显示“图形图像文件列表”),三个按钮(一个为列表框图形文件添加按钮AddCommand、一个是列表框图形文件删除按钮DelCommand、另一个是选中文件图像显示按钮DispCommand),一个标签Label1(用于显示“图形图像列表”说明信息)和一个按钮组Commandgroup1(包括七个按钮,其中前六个按钮分别用来控制图像文件的上移、下移,图像的放大、缩小、右旋、左旋,和一个退出按钮)。

4.2 图像浏览器各控件属性设置

图像浏览器各控件的属性设置见表1。

创建表单之前,先建表PictureTable.dbf。PictureTable的结构见表2。

4.3 图像浏览器控件事件代码设计

1)Form1的Init事件代码:

2)Form1的Unload事件代码:

3)AddCommand的Click事件代码[3]:

4)DelCommand的Click事件代码:

5)DispCommand的Click事件代码:

6)CommandGroup1的Click事件代码:

5 结束语

将ActiveX控件应用于VFP数据库应用系统的开发,可以大大减少事件代码的编写工作,缩短开发周期,获得良好的用户界面。如今,ActiveX控件资源极为丰富,种类繁多,若能熟练掌握各种ActiveX控件技术,就可以开发出各种各样、功能强大的数据库应用系统,提高应用程序的灵活性和适用范围。

参考文献

[1]刘玉龙.ActiveX控件在VFP多媒体程序设计中的应用[J].徐州师范大学学报:自然科学,2000,18(3):30-32.

[2]史济民.Visual FoxPro及其应用系统开发[M].北京:清华大学出版社,2008.

上一篇:通才教育思想下一篇:开放共享管理