200分:ASP能否显示图形(如柱状图、鉼状图、曲线图等)?(200分)

Z

ztp_sjw

Unregistered / Unconfirmed
GUEST, unregistred user!
  1。能不能用ASP把数据有IE5里以图形显示(如柱状图、鉼状图、曲线图等)?
  实际情况是这样的:
    目前已经有一个用ASP编写的WEB程序,只是没有图形显示功能。目前我想用
  Delphi写一个程序来实现这个功能。如果写一个DLL(包括三个参数:表名、X轴、
  Y轴),ASP能调用吗?
 
有没有源程序?
 
我觉得应该做控件生成图片
 
用小图片的百分率来确定图象的参数
 
可以acitvex,java都可以
 
柱状图很容易实现,通过动态的控制一个<img>标签的width或height就可以!
其他的好象只能通过组件来实现!
 
用ActivX就可以。
 
我用过AspChart不错,需要钱买的。
另外免费的办法有:
1、安装php+gd,用php实现;
2、安装.net framework,已经内置了图形组件;
 
可以用mschart (mscht20.oxc), 要注册, 并要制作*.lpk文件

MSCHART控件需要的文件并不多,除了它本身就是ComCat.dll。如果你分发的是
VS包括的MSCHART.Cab就不会少文件,但是你可能没有生成.LPK文件。MSCHART控件
是一个需要License的控件,如果安装了VS,则设计License会安装到注册表中,这
样你就可以在VB、VC的集成环境和IE中使用MSCHART了。如果你使用VB、VC生成EXE,
运行License会写入EXE文件,这样分发的时候只要把EXE和OCX拷贝给用户就可以了。
但是对于IE页面,由于没有EXE这样的文件,所以需要生成LPK文件,放在服务器上,
用户浏览时,IE会下载OCX和LPK,如果LPK中的运行License时正确的,则用户可以浏
览带有MSCHART的页面。生成LPK的工具和方法可以参考微 软 的 Knowledge Base的 文
章:“Q159923 OWTO: Use Licensed ActiveX Controls in Internet Explorer”。
类似的,VS中许多控件,如MS Common Controls等都需要这样做。

LPK文件是干什么的
所属类别:
Visual Basic-ActiveX技术
编号:QA002810
建立日期: 2000年4月3日 最后修改日期:2000年4月3日
zytao:
我 有 一 个 问 题 请 教 你 , 我 现 在 用 VB自 己 编 写 了 一 个 控 件 ,
现 想 把 它 用 到 网 页 上 去 , 因 为 网 页 要 在 局 域 网 中 应 用 , 所
以 我 想 把 这 个 控 件 安 装 在 服 务 器 上 , 客 户 端 访 问 网 页 时 ,
若 没 有 该 控 件 则 要 能 自 动 下 载 , 现 在 我 用 Package &amp;
Deployment 向
导 做 了 一 个 包 其 中 在 它 的 HTML文 件 中 它 这 样 写 :
<HTML>
<HEAD>
<TITLE>MyTest.CAB
</HEAD>
<BODY>
<!-- 如 果 这 页 上 的 任 何 控 件 需 要 授 权 , 您 必 须
创 建 一 个 授 权 包 文 件 。 运 行 LPK_TOOL.EXE 来 创 建
要 求 的 LPK 文 件 。 LPK_TOOL.EXE 将 从 ActiveX SDK 中 找 到 ,
http://www.microsoft.com/intdev/sdk/sdk.htm. 如 果 您 有 Visual
Basic 6.0 CD, 您 可 以 在 /Tools/LPK_TOOL 目 录 下 下 面 是 对 象 标
记 的 例 子 :

<OBJECT CLASSID="clsid:5220cb21-c88d-11cf-b347-00aa00a28331">
<
</OBJECT>
-->

<OBJECT ID="MyTest"
CLASSID="CLSID:06B9C10E-E781-11D2-9545-0080C82BF2DD"
CODEBASE="MyTest.CAB#version=1,0,0,0" width="320" height="240">
<param name="_ExtentX" value="8467">
<param name="_ExtentY" value="6350">
</OBJECT>
</BODY>
</HTML>
我 不 知 道 中 间 有 一 段 注 释 是 什 么 意 思 , LPK文 件 我 做 了 但
不 知 道 应 该 放 在 哪 里 , 中 间 的 PARA NAME 及 VALUE 该 怎 么 填 写 ,
我 是 参 照 了 你 的 QA001788 “如何在Web站点上安装ActiveX控件”来 做 的 ,
但 好 象 不 行 , 请 指 照 !
回答:
只 有 你 按 照 QA002506 “如何检查编译后控件的合法性”所 说 的 选 择 了
许 可 支 持 , 你 才 需 要 LPK文 件 , 否 则 你 根 本 就 不 用 使 用 LPK文 件 。 QA001788 “如何在Web站点上安装ActiveX控件”介 绍 的 方 法 对 于 ActiveX控 件 没 有 问 题 , 关 键 是 设 置 好 CODEBASE。
PARA NAME 及 VALUE的 设 置 同 VB的 frm文 件 差 不 多 , 你 可 以 借 助
FrontPage, 它 可 以 正 常 地 生 成 有 关 代 码 。

 
使用ASP动态改变图像宽高
再有一个方法把图片设为表格背景,动态控制表格大小也可以,或者表格里放一空白图片遮蔽有图案的背景图片,再动态控制该空白图片.
 
可以实现,可以用微软的office控件它的功能很强大。
我的一个例子如下:
<HTML>
<HEAD>
<meta http-equiv="Content-Type" content="text/html;
charset=gb2312">
<TITLE></TITLE>
</HEAD>
<BODY background="../images/bgground.gif" bgproperties="fixed" topmargin="10">
<object id=msodsc classid=CLSID:0002E530-0000-0000-C000-000000000046></object>
<FORM action="" method=post id=frmGraph name=frmGraph>
<TABLE border=0 cellPadding=1 cellSpacing=1 width=100%>
<TR>
<TD width=80% align=middle>图例名称:客运分析
</TD>
<TD width=20% align=middle>

</TD>
</TR>
</TABLE>
<object id=ChartSpace1 classid=CLSID:0002E500-0000-0000-C000-000000000046
style="width:100%;height:260" VIEWASTEXT></object><hr>
</FORM>
</BODY>
</HTML>
<script LANGUAGE=vbscript>
Sub window_onload
dim strTemp,arryNumber
dim i,iCurrRst,iSumCount
dim aiValues(7)
aiValues(0) = 10
aiValues(1) = 22
aiValues(2) = 6
aiValues(3) = 50
aiValues(4) = 0
aiValues(5) = 14
aiValues(6) = 12
dim asCategories(7)
asCategories(0) = "Very Good"
asCategories(1) = "Good"
asCategories(2) = "N/A"
asCategories(3) = "Average"
asCategories(4) = "No Response"
asCategories(5) = "Poor"
asCategories(6) = "Very Poor"
'iCurrRst=14
'iSumCount=10
strTemp="asd"&amp;chr(9)&amp;"ddd"&amp;chr(9)&amp;"weee"
frmGraph.ChartSpace1.HasChartSpaceLegend = True
frmgraph.Chartspace1.ChartSpaceLegend.
Font.Bold=True
frmgraph.chartspace1.chartspacelegend.
font.size=12'设置左侧图例的字体
frmGraph.ChartSpace1.Charts.Add
Set c = frmGraph.ChartSpace1.Constants
frmgraph.chartspace1.charts(0).type=chChartTypeRadarLine
frmgraph.ChartSpace1.Charts(0).HasTitle = true
frmgraph.ChartSpace1.Charts(0).Title.Position=c.chTitlePositionTop
frmgraph.ChartSpace1.Charts(0).Title.Font.bold=true
frmgraph.ChartSpace1.Charts(0).Title.Font.size=12 '设置标题的字体
frmgraph.ChartSpace1.Charts(0).Axes(0).Position =c.chAxisPositionLeft
frmgraph.ChartSpace1.Charts(0).Axes(0).HasTitle=true

frmgraph.ChartSpace1.Charts(0).Axes(0).Title.Interior.Color="red"
frmgraph.ChartSpace1.Charts(0).Axes(0).title.Caption="数值"
'frmgraph.ChartSpace1.Charts(0).Axes(0).Title.Position=c.chtitlePositionBottom
frmgraph.ChartSpace1.Charts(0).Axes(0).Font.Bold=true
frmgraph.ChartSpace1.Charts(0).Axes(0).Font.Size=12'设置竖轴的字体

frmgraph.ChartSpace1.Charts(0).Axes(1).HasTitle=true
frmgraph.ChartSpace1.Charts(0).Axes(1).title.Caption="名称"
'frmgraph.ChartSpace1.Charts(0).Axes(1).Title.Position=chTitlePositionLeft
frmgraph.ChartSpace1.Charts(0).Axes(1).TickMarkSpacing = 2'设置横轴间隔
frmgraph.ChartSpace1.Charts(0).Axes(1).font.bold=true
frmgraph.ChartSpace1.Charts(0).Axes(1).font.size=12'设置横轴的字体
frmGraph.ChartSpace1.Charts(0).SeriesCollection.Add'添加图例
'frmGraph.ChartSpace1.Charts(0).SeriesCollection(0).Type=chChartTypeRadarLine '设置图例类型
Set serSeries1 = frmgraph.ChartSpace1.Charts(0).SeriesCollection(0)
serseries1.Interior.Color="red" '设置图内的颜色

frmGraph.ChartSpace1.Charts(0).SeriesCollection(0).Caption = "数量"
'向图表中传递数据
frmGraph.ChartSpace1.Charts(0).SeriesCollection(0).DataLabelsCollection.add '添加数据头
frmGraph.ChartSpace1.Charts(0).SeriesCollection(0).SetData c.chDimCategories, c.chDataLiteral, asCategories
frmGraph.ChartSpace1.Charts(0).SeriesCollection(0).SetData c.chDimValues, c.chDataLiteral, aiValues

frmGraph.ChartSpace1.Charts(0).SeriesCollection.Add
Set serSeries1 = frmgraph.ChartSpace1.Charts(0).SeriesCollection(1)
serseries1.Interior.Color="blue" '设置图内的颜色
frmGraph.ChartSpace1.Charts(0).SeriesCollection(1).DataLabelsCollection.add '添加数据头
frmGraph.ChartSpace1.Charts(0).SeriesCollection(1).SetData c.chDimCategories, c.chDataLiteral, asCategories
frmGraph.ChartSpace1.Charts(0).SeriesCollection(1).SetData c.chDimValues, c.chDataLiteral, aiValues
End Sub
</script>
 
强烈建议:
ww20000309
 
用TeeChart Pro ActiveX,
www.playicq.com有下的
 
该分了。:D
 
http://sourceforge.net/projects/bugsonline/
 
我这有个ASPCHART的DLL
可以显示图形,且有例子.
还有破解程序.
如想要请至:li_cj@hotmail.com
 
理论上和asp投票有些相似,
感觉可以从这方面入手
 

Similar threads

D
回复
0
查看
1K
DelphiTeacher的专栏
D
D
回复
0
查看
739
DelphiTeacher的专栏
D
D
回复
0
查看
2K
DelphiTeacher的专栏
D
顶部