【摘要】发展internet技术为编程人员提供了更广泛的施展身手的空间。早先“internet应用程序 " 这个词只是指一些用ftp协议下载文件或浏览html页面的工具,如今使用visual basi c,不仅可为internet开发应用程序,还可把internet技术作为一部分融入大型的 解决方案中。
【关键词】internet;visual basic;activex组件;技术;程序
发展internet技术为编程人员提供了更广泛的施展身手的空间。早先“internet应用程序 " 这个词只是指一些用ftp协议下载文件或浏览html页面的工具,如今使用visual basic,不仅可为internet开发应用程序,还可把internet技术作为一部分融入大型的 解决方案中。
这里所要讨论的问题是利用visual basic创建面向internet应用起重要作用的activex组件。例如,所创建的activex控件可用于html页面;开发activex文档可以在internet浏览器中使用并与其他组件一起和html页面集成;另外activex代码组件( 以前被称为ole服务器), 可以被部署在客户端或服务器端的计算机上,用于后台的处理。
一、internet开发环境
internet是使用tcp/ip协议、全球性非集中管理的计算机网络。如果用于局部, 所谓“internet技术"完全可以和本地局域网中所使用的技术一样。
一方面, internet技术为开发人员提供了一个施展身手的空间。如果和web连接时使用 了activex组件,尽管具体实现的方法有所不同,如采用了html和vb script代码以实现安全性等,但仍然在调用方法、设置属性、处理事件等等。这 样,vb开发人员所有的知识和技能都被用于internet环境。另一方面,应用internet技术可延伸开发工作。如将activex组件和internet技术综合 有以下益处:更简单维护——作为web一部分的组件可以根据需要下载,无须用户运行一个setup程序进 行升级;将功能延伸至internet——通过通用协议,用户将看不见在internet和intranet之间的切换。
二、internet客户/服务器
可以借用客户机/服务器的关系来考查internet的开发环境,客户端和服务器端都可以有“ 静 态的"和“活动的"两种状态。活动的客户机或服务器可据其内部状态的改变而动态地运 行一个脚本或是改变其行为;静态的客户机或服务器仅仅只是对外界激励作出反应。
internet开发包括四种情形:静态的客户机和静态的服务器;静态的客户机和活动的服务器;活动的客户机和静态的服务器;活动的客户机和活动的服务器。
三、在web上使用activex组件
activex组件为internet技术带来新功能。通过internet组件的下载、超连接、菜单协商等各种功能,将activex组件和internet集成起来,内容和应用程序之间的界线越来越模糊;另外由于在站点上(在客户机和服务器之间)分布功能函数,则可创建更具扩展性 和灵活性的站点。
在internet应用程序中使用activex文档,可以开发和internet/intranet站点的其他元素紧密集成的visual basic的应用程序。利用这些组件开发出来的应用程序,用户可以透明地在html页面和active x文档之间迁移。
可以把activex文档作为visual basic为internet提供的应用,几乎现在用标准应用程 序完成的工作都可以用activex文档实现。作为html页面中的一个元素,如果在用户的客户机上没有安装activex文档, 用时可以自动 地从网上下载;如果客户机上的版本较旧, 也可自动升级。??activex文档的许多特性提供了安装和导航性能,并可以保证持续一致性:
internet组件的下载——可创建一个到activex文档的连接,使浏览器可以自动找到并下载所有需要的组件。
超连接对象——在一个超连接感知的包容器中,可使用visual basic的超连接对象的属性和方法,跳转到一个给定的url或是通过历史记录清单进行导航。
菜单和协商——由于可以从word或excel中获得文档,visual basic的activex文档提供了将 其菜单嵌入浏览器中的菜单的功能。例如当文档被装载入internet explorer中后,浏览器 的菜单将与该activex文档创建的菜单混合。
propertybag——当在internet explorer中部署activex文档时, 可以通过propert ybag对象保持数据的一致性。
在internet explorer中部署一个activex文档,要通过一个 html页面中的超连接连接到这个activex文档上。
1. 用html创建引用这个activex文档的连接。由于activex文档将在internet explorer中取代html页面,所以要将组件的object标签 放在另一个html页面中。当跳转到该页面后,一旦activex文档被装载,它就会立刻消失。
2. 用html为浏览器提供下载、注册以及导航到这个activex文档的途径。在object标签中应 该说明activex文档的类id和codebase属性。
3. 在同一页面上, 使用vbscript指示internet explorer立刻通过相应的vbd文件导航到 该activex文档上。
四、在internet应用程序中使用activex控件
activex控件为html页面带来了活力:通过html和vbscript, 可在一个html页面上 使用activex控件, 设置其属性,调用其方法并处理其事件;一个包含控件的 的html页面仿佛一个visual basic的设计窗口,activex控件可以提供更多交互式且生动的 用户界面特性,使html页面变得更加有活力。
一般需要通过html和vbscript的综合手段引用并控制activex控件的行为。使用html为浏览 器提供下载,注册并引用activex控件引用的途径。在html代码的object标签中需要包括:
1.控件的类别id, 以使程序能在windows的注册表中找到它们;
2.、id的属性,以便在vbscript中引用该控件(类似于visual basic中的name属性);
se属性,告诉浏览器如果组件不在客户机上该去哪儿找;
name标签,设置控件的属性参数。
然后用vbscript编写处理单击事件的代码,使每一个控件被单击后,程序可以作相应的动作。
visual basic专业版中还包括了三个已预先设计好的用于包裹internet相关技术的控件, 能够扩展已有的应用程序,它们是:
internet transfer control——包裹了三种通用的internet协议:http、ftp和gopher;
webbrowser control——包含了许多通过internet explorer可以获得的功能;
winsock control——可以连接到一台远程的机器, 然后通过udp或tcp交换数据。
通过使用这些控件, 可以添加从ftp站点自动下载文件的功能,还可以为visual basic ide提供web浏览器的add-in。
在internet应用程序中使用activex代码组件,无论是在客户端或是在服务器端, 都可以使用activex代码组件(dll或exe文件),从而为html页面添加功能。
在客户端部署代码组件, 由于用户命令无须通过网络传输回服务器,于是可以大大提高运行速度。服务器端的组件同样也可以有显示用户界面可视化元素的功能。通过下载一个dll, 可以在html页面上添加用户界面的元素,如一个登录对话框; 还可以提供幕后的客户端处 理能力,如一个伴随vbscript的函数库。
客户端的部署工作类似于对activex控件的使用,同样需要使用html和vbscript代码引用并编写代码组件。用html和vbscript代码编写调用dll以显示登录对话框,下面给出了一个实例:
1. 使用html 创建一个窗体,其中包含一个按钮以调用登录对话框:
〈form name=“loginbutton">
click here to login in:
input name=“cmdlogin" type=“button"value=“log in...">
</form>
2. 用html为浏览器,提供下载、注册及引用activex组件的途径:
<object>
classid=“clsid:2f390484-1c7d-11d0-8908-00a0c90395f4" id=“login"
codebase=“login cab#version=1,0,0,0">
</object>
3. 用vbscript调用组件中的方法以显示登录对话框:
<script language=“vbscript">
dim dlglogin
dim theform
set theform=utton
sub cmdlogin〖cd#2〗onclick
set dlglogin=login
alog
end sub
</script>
组件自身中将包含用于形成登录字符串的代码,并将它发送给服务器用于验证。
另一种将dll和internet技术结合的方法是将它部署在服务器端。如果有internet information server (iis)(包含在windows nt server 4.0中), 可以通过visual basic关盘中 的tools目录下的oleisapi2 dll调用visual basic中内置的dll函数。
oleisapi2 dll中包含了isapi中的所有函数。可以把dll部署在http服务器上, 并通过ht ml页面上发送的信息调用其方法。oleisapi2 dll作为客户,请求到dll之间的中介。由于代码基于html,这些请求仅仅是简单的url。
通过服务器端的dll,可以由客户提供的参数定制返回给客户的html页面,还可以管理数据库的连接,对接受到的请求和返回的结果进行整理和编组。
参考文献
[1]陈明.visaul basic程序设计[m].中央广播电视大学出版社,2000.
[2]金茂忠.net编程基础[m].中央广播电视出版社,2004.
[3]丁爱萍.visaul basic程序设计(第2版)[m].电子工业出版社,2004.
[4]文渊阁工作室.reamweaver xm 2004扩展程序与密技[m].中国铁道出版社,2005.
中国论文网(www.lunwen.net.cn)免费学术期刊论文发表,目录,论文查重入口,本科毕业论文怎么写,职称论文范文,论文摘要,论文文献资料,毕业论文格式,论文检测降重服务。 返回电子论文列表