分享
 
 
 

Web统计图表解决方案

王朝other·作者佚名  2006-01-08
窄屏简体版  字體: |||超大  

徐长友

随着Internet技术的兴起,B/S结构的程序出现得越来越多,在Web上实现统计图表的方法有很多,相对于一般的应用程序实现比较难些。本文主要介绍Web统计图表的实现方法,对各种信息进行统计和分析,为提供决策依据,形象地表现分析结果,让信息用柱状图、折线图和圆饼图等结合数据仓库旋转分析以直观的形式表现出来!我们很多项目中都需要用到图表,查看了网上一些文章,B/S结构中大多使用了MS chart、shortGraph、Aspchart等组件实现,这些组件大多都是国外软件公司开发的,且需要Money才行,最终的效果看起来并不怎么样(个人觉得),并且有很一些缺点,如MS chart客户端得装有Office才行,否则无法使用。另外还有一些使用Applet实现的,如Java chart工具包,这个工具包是Java写的,适用于支持Java Applet的浏览器,如果不用Java的话,一般的应用程序很难使用它们。

本文就提供一统计图表解决方案给你,当然你完全可以用于所有支持ActiveX的地方,不只是Web中。看完本文,我想你也能通过ASP、VBScript、Javascript来完成统计图表。最重要的是你可以写上 Copyright(C),yourcompany...,客户端让浏览器自动下载注册,无需安装。

下面就用Delphi简单的开发一个可以在浏览器上生成统计图表的ActiveX(用BCB开发是一样的,只是代码有点点不同而已):

首先,打开Delphi,通过菜单File->new,在New items中选取Acitvex Form,在AcitveForm winzard中New AcitveX Name输入自定名: 如Mychart,下面的选项可以根据需要自行选定,这里只选取Include AboutBox, 这样delphi会自动生成一个关于对话框。 在Mychart窗口中放置一个Tchart组件,Tchart增加一个Bar形的Series,具体的情况可以自行设定,本文只做简单的介绍, 建议用方法动态生成Series。

在菜单view->Type Libary ,这里分别添加两个方法:

Add_data和Clear_data,作用分别是添加数据和清除数据。

Add_data方法中添加两个参数(ANum,类型:double, AName,类型:BSTR, Modifier 都设为in)

代码如下:

procedure TMychart.Add_data(ANum:Double;const AName:WideString);

begin

Series1.Add(ANum,AName,clteeColor);

end;

procedure TMychart.Clear_data;

begin

Series1.clear;

end;

设置一下Aboutbox,在Mychart窗口中加入一个TPopupMenu,用户弹出菜单看到关于对话框。 添加一个Menuitem设置Caption:="关于(&A)...", onclick代码如下:

procedure TMychart.PM_AboutClick(sender:TObject);

begin

showMychartAbout;

end;

作用是显示关于对话框然后设置TChart的PopupMenu设置为加个的TPopupMenu就可以了!

如果工程名没有更改的,编译一下生成MychartProj1.ocx,注册这个控件就可以使用了。

对于浏览器,可以用下面方法让其它自动注册它:

Delphi中通过Project->Web Deloyment Options设置Web发布选项,简单设置如下:

Target dir: c:\document and settings\administrator\桌面\chart\html

Target URL: .

Html dir : c:\document and settings\administrator\桌面\chart\html

然后通过菜单 project -> web Deploy 在 c:\document and settings\administrator\桌面\chart\html 目录下生成两个文件,一个html,另一个ocx文件。

这里更改一下HTML文件加上个ID=mychart1,后面加些VBScript代码,如下:

<HTML>

<H1> Delphi 5 AcitveX Test Page </H1> <P>

You should see you Delphi 5 forms or controls embedded in the form below

<HR><center><P>

<OBJECT id=mychart1

classid="clsid:B977D48F1-4DDA-4F00-9781-EC7BA3278CBD"

codebase=" ./MychartProj1.oxc#version=1,0,0,0"

width=538

height=350

align=center

hspace=0

vspace=0

>

</OBJECT>

<script language=VBScript>

mychart1.Add_data 110,"1月"

mychart1.Add_data 180,"2月"

mychart1.Add_data 120,"3月"

mychart1.Add_data 100,"4月"

mychart1.Add_data 80,"5月"

mychart1.Add_data 90,"6月"

mychart1.Add_data 110,"7月"

mychart1.Add_data 109,"8月"

mychart1.Add_data 108,"9月"

mychart1.Add_data 78,"10月"

mychart1.Add_data 99,"11月"

mychart1.Add_data 101,"12月"

</script>

保存后再用浏览器打开HTML文件, 怎么样?这个Chart还行吧!

然后打开VB再试试,代码与上面的VBS一样.

在ASP中使用和HTML类似,你可通过ASP取出数据,然后使用Add_data方法。

Delphi中的Chart功能非常强大,你完全可以开发适合自己需要的统计图表控件,上面只是一个简简单单的示例。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
2023年上半年GDP全球前十五强
 百态   2023-10-24
美众议院议长启动对拜登的弹劾调查
 百态   2023-09-13
上海、济南、武汉等多地出现不明坠落物
 探索   2023-09-06
印度或要将国名改为“巴拉特”
 百态   2023-09-06
男子为女友送行,买票不登机被捕
 百态   2023-08-20
手机地震预警功能怎么开?
 干货   2023-08-06
女子4年卖2套房花700多万做美容:不但没变美脸,面部还出现变形
 百态   2023-08-04
住户一楼被水淹 还冲来8头猪
 百态   2023-07-31
女子体内爬出大量瓜子状活虫
 百态   2023-07-25
地球连续35年收到神秘规律性信号,网友:不要回答!
 探索   2023-07-21
全球镓价格本周大涨27%
 探索   2023-07-09
钱都流向了那些不缺钱的人,苦都留给了能吃苦的人
 探索   2023-07-02
倩女手游刀客魅者强控制(强混乱强眩晕强睡眠)和对应控制抗性的关系
 百态   2020-08-20
美国5月9日最新疫情:美国确诊人数突破131万
 百态   2020-05-09
荷兰政府宣布将集体辞职
 干货   2020-04-30
倩女幽魂手游师徒任务情义春秋猜成语答案逍遥观:鹏程万里
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案神机营:射石饮羽
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案昆仑山:拔刀相助
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案天工阁:鬼斧神工
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案丝路古道:单枪匹马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:与虎谋皮
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:李代桃僵
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案镇郊荒野:指鹿为马
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:小鸟依人
 干货   2019-11-12
倩女幽魂手游师徒任务情义春秋猜成语答案金陵:千金买邻
 干货   2019-11-12
 
推荐阅读
 
 
 
>>返回首頁<<
 
靜靜地坐在廢墟上,四周的荒凉一望無際,忽然覺得,淒涼也很美
© 2005- 王朝網路 版權所有