2006毕业设计Delphi篇(五)

转载 2012年01月16日 03:25:58

======================================================
注:本文源代码点此下载
======================================================

这节我们来看看系统中的activex控件的效果。

activex是个精灵!而且是个网络精灵!activex是com规范的演化产物。

说到这里可能你们还没有理解com规范,其实你们只要用计算机,用windows操作系统你们就在用com规范开发出来的软件!你们的office办公软件系统就用到了大量com规范,你们用到的很多windows系统服务都在使用com+服务。我觉得最变态的使用com技术的典范就是autocad,你们可以用注册表软件查看一下装上autocad之后,它的注册表分支树下面多了多少guid!以至于如果想完全删除它呵呵,花的功夫可就大了。

当然我们来看看com技术规范的发展史:

1991年,随着windows3.x的发布,微软公司发布了一种叫做ole1.0(object linking and emebedding)的规范。它使用面向对象技术,是一种处理复合文档的方法,可以在一个文档中同时保存多种格式的数据,在当时来说这些功能的出现实在是太神奇了,但其设计是以文档为中心的,本身有一些缺陷,所以并不出名。

1993年,微软发布了ole2.0规范,它有很多的特点如就地编辑,复合文档中对象的编辑器可以和该文档的编辑器天衣无缝地结合在一个窗体内等等。所以来说2.0是成功的,并且得到了当年的pc magazine的技术优秀奖和pc/computering的软件革新mvp奖。这里2.0所有成就的基础就是我们的组件对象模型(component object model ,com)规范。

1995年,随着windows95的发布和internet的发展,微软意识到internet上的商业利润,决定通过编程来获得这一切。1996年发布了activex技术,从而导致了activex控件的产生。其实activex没有什么真正的改变,它不过s是ole技术的扩展罢了,其目的就是为了使用方便,有利于网上传输。 直到现在internet网络上都充斥着大量的activex控件, 如很多流媒体技术的展现都是用的activex控件(media player)网络电视,我在工商银行的网上银行上查工资,其登陆界面就使用了activex控件,如果你在网页上禁用掉activex控件,呵呵,那你就跑到工商银行去手工查余额吧。

进入正文之前我需要大家先去找点delphi开发activex控件的书阅读一下。看看如何才能开发出一个activex控件出来。

首先我们看看delphi的type library界面:

看见了吗,我们建了一个名叫afjitchart的activex控件。他的guid是{20e29e23-2b05-4564-ba85-44dc4bb27b52}以后我们经过注册之后,在注册表中就能查找到这个控件了。

看看afjitchart的delphi创建界面:

我们甚至可以用其他的编程软件来调用我们在delphi里创建的这个控件。

(afjitchart控件插入之后的效果)

上面这个界面你们应该比较熟悉吧,这是用vb来调用我们刚才建好的afjitchart控件。

(afjitchart控件插入之后的效果)

上面这个界面就是在.net中调用afjitchart控件。

也就是说一旦我们创建好activex控件实现统一接口之后我们就可以任何一种编程语言去调用它!(除了java >

当然我们真正要做的事是将afjitchart控件嵌入到网页中:

看看这个项目中的一个jsp页面

1@ page contenttype="text/html;charset=gbk"%>

2@ include file="/common/taglibs.jsp" %>

3@ page import="com.zijin.util.constants"%>

4

5html:html>

6head>

7title>9520配电变压器综合测控数据管理系统title>

8meta http-equiv="content-type" content="text/html; charset=gb2312">

9link rel="stylesheet" type="text/css" href="/zijin/css/shared.css">

10script language="javascript" src="/zijin/js/initialize.js">script>

11body leftmargin="0" topmargin="0" marginwidth="0" marginheight="0" onload="fun1()">

12table width="100%" border="0" cellspacing="0" cellpadding="4" align="center">

13tr>

14td class="tdsectionbar">电流曲线td>

15tr>

16table>

17center>

18

19object

20id="chart"

21classid="clsid:20e29e23-2b05-4564-ba85-44dc4bb27b52"

22codebase="/zijin/widget/afjitchart.ocx#version=2,0,1,13"

23width=559

24height=568

25align=center

26hspace=0

27vspace=0

28>

29object>

30html:form method="post" action="/currentcurveshow">

31input type="hidden" name="ipaddress" value=''>

32input type="hidden" name="a1" value=''>

33input type="hidden" name="a2" value=''>

34html:form>

35center>

36body>

37script language="vbscript">

38sub fun1()

39chart.setserverip(document.all("ipaddress").value)

40chart.setserverport(8003)

41chart.socketactive(1)

42chart.setua(0)

43chart.setub(0)

44chart.setuc(0)

45chart.setia(1)

46chart.setib(1)

47chart.setic(1)

48chart.setmaxl(1)

49chart.setminl(1)

50chart.setprotacalid(1)

51chart.setaddress(1)

52chart.setcomaddress(document.all("a2").value)

53chart.setcammondid(1)

54chart.setmax(240)

55chart.setmin(10)

56chart.chartstart()

57chart.afstart

58end sub

59script>

60html:html>

61

这个上面的19~29行就是调用我们的afjitchart控件,看看21行的classid,是不是就是我们生成的guid。39~57行是对我们的afjitchart控件附值,39~57行所调用的接口函数在我们的第一张图显示的type library里已经定义了。其实当这个jsp页面运行的时候,系统首先要通过这个guid值在注册表里找到我们的afjitchart控件,然后才能加载afjitchart控件。

看看实际的运行图:

如此一来,我们的网页出现了实时动态图像!

其实这个系统中很多网页都是这么完成的,再看看其他的界面。

整个运行效果就像在视频聊天。你们论文中只要写到activex的运行效果就可以了。具体编写可能需要我专门辅导。


======================================================
在最后,我邀请大家参加新浪APP,就是新浪免费送大家的一个空间,支持PHP+MySql,免费二级域名,免费域名绑定 这个是我邀请的地址,您通过这个链接注册即为我的好友,并获赠云豆500个,价值5元哦!短网址是http://t.cn/SXOiLh我创建的小站每天访客已经达到2000+了,每天挂广告赚50+元哦,呵呵,饭钱不愁了,\(^o^)/

Delphi7到Delphi2006控件兼容性列表

每一代Delphi产品都有可能新增或者删除控件,下面是一个主要控件的对比列表摘自http://www.dragonsoftru.com/index.php?go=d7d2006 From Delphi...
  • melonliu
  • melonliu
  • 2005年12月13日 18:53
  • 2098

Spark编程指南入门之Java篇六-RDD持久化介绍

10. RDD持久化 Spark其中一个重要的功能是持久化(或缓存)数据到内存。当持久化一个RDD时,每一个节点会把计算后的分区数据保存在内存里面,然后后续的操作可以直接重用内存里的数据。这样可以提...
  • gangchengzhong
  • gangchengzhong
  • 2017年01月12日 16:47
  • 995

《孙子兵法》之谋攻篇

 《孙子兵法》之谋攻篇2007-7-12本篇主要说明作战筹划应当注意的几个重要的原则,即追求至善的全胜原则、“将能而君不御”统御原则、知彼知己的认识论原则。 孙子曰:凡用兵之法,全国为上1,破国次之;...
  • cmu_hua
  • cmu_hua
  • 2007年07月17日 14:11
  • 3384

NUnit学习笔记 Delphi 2006篇

一、简介  NUnit是一款堪与JUnit齐名的开源的回归测试框架,供.net开发人员做单元测试之用,可以从www.nunit.org网站上免费获得,最新版本2.2.6。NUnit 2.2.6有5个下...
  • Didizyp
  • Didizyp
  • 2006年01月28日 18:03
  • 2974

Turbo Delphi 安装说明

Borland.Turbo.Delphi.2006.Explorer.Edition-CHiCNCREAM从电骡上拖了下来.是一个镜像文件:[Borland.Turbo.Delphi开发工具].Bor...
  • greenerycn
  • greenerycn
  • 2007年01月27日 23:11
  • 1974

Delphi历史版本介绍(二)从Delphi8到DelphiXE3

Delphi历史版本介绍(二)从Delphi8到DelphiXE3 Delphi 8       Delphi8是一个短命的版本,有点像微软的vista的感觉,没有很好的超越7...
  • my98800
  • my98800
  • 2016年03月04日 08:35
  • 996

在Delphi程序中使用正则表达式

TRegexp的正则表达式的格式说明文档.  代表所有字符,换行符号(newline)除外*  0或多次 *号会尽可能多匹配+  1或多次 +号会尽可能的多匹配?  0或1个,即使前面有+号或*号,也...
  • xzknet
  • xzknet
  • 2006年06月01日 12:32
  • 1744

Delphi2007 企业版 下载地址 真实不虚

以下是下载网址:ftp://d2007:d2007@ftp.gshome.net/Delphi2007_Ent/Delphi2007_Ent.rarDelphi2007 企业版ftp://d2007:...
  • Rzhghost
  • Rzhghost
  • 2007年04月09日 08:40
  • 10635

084_《Windows网络编程之Delphi篇》

Internet技术无疑是当今计算机技术的最大热点。本书以当今最为流行的RAD软件之一的Delphi的最新版本为开发工具,尽最大可能包容现在网络的流行协议,讲解网络应用程序的开发原理以及在Window...
  • shuaihj
  • shuaihj
  • 2010年12月18日 14:53
  • 3854

史上最全计算机毕业设计题目4(10万套,大部分全国唯一)

asp公司网站建设(全套) 在线考试制卷系统(任务书,论文,源码) net小型证券术语解释及翻译系统的设计与开发(源码,论文) 原创vf员工培训管理系统(任务书,论文) asp科研信息管理系统...
  • QQ_312783267
  • QQ_312783267
  • 2014年03月02日 16:51
  • 4479
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:2006毕业设计Delphi篇(五)
举报原因:
原因补充:

(最多只允许输入30个字)