TeeChart Pro VCL/FMX教程(九):网络应用

翻译|使用教程|编辑:况鱼杰|2019-07-12 11:38:39.963|阅读 38 次

概述:TeeChart Pro功能是一个系列,几乎可以是任何系列类型,可以是应用代数函数,也可以是数据源。所有函数都派生自TTeeFunction组件并继承TeeFunction的Period属性。

相关链接:

    TeeChart Pro VCL/FMX是一款主流的图表制作工具。提供了数百种用于可视化的2D、3D图形样式、56种数学、统计和金融函数,以及不限数量的坐标轴和30种调色板组件。TeeChart Pro VCL/FMX教程将会以连载的形式持续为大家带来TeeChart Pro VCL/FMX的使用方法。 

点击下载TeeChart Pro VCL/FMX最新试用版 


  本篇教程为大家带来的是TeeChart Pro VCL/FMX中网络应用的这一节,主要分为以下几个部分: 

  1.  介绍 

  2.  图表格式 

     静态图像格式 

     输出数据格式 

     输入数据格式    

        HTML表格    

        TChartWebSource    

        TSeriesTextSource 

    将TeeChart放入Delphi的ActiveForm> 

  3. Web服务器应用程序

    编写ISAPI应用程序 


介绍    

TeeChart Pro VCL/FMX版本提供了可简化Internet / Intranet Charting应用程序的设计。  

图表格式 

静态格式 

    TeeChart为网页,JPEG,GIF,PNG和WMF提供多种静态图像导出格式(仅适用于IE)。        

    TeeChart可以导出为JPEG图像,可以链接到网页,也可以通过标准图像链接在网页上访问该图表。 

 例:

<img src="http://www.myserver.here/tempCharts/myJPEGChart.jpg">

    JPEG图表不提供live图表的优势,例如鼠标点击,实时动画,滚动等,但它们几乎适用于任何浏览器 

输出数据格式    

    图表数据可以导出为文本,XML,Excel电子表格或HTML表格。 

输入数据格式 

  • HTML表格。  

  • TChartWebSource-使用TChart WebSource将基于服务器的URL tee文件路径导到客户端图表的应用程序,这样可以在服务器上创建或存储Tee文件,并通过URL直接访问,这是LoadChartFromURL方法的替代方法。 

  • TSeriesTextSource-SeriesTextSource组件允许将CSV文件数据直接加载到Series,CSV文件可以以不同的方式分隔,也可以是托管在URL地址的本地文件或服务器文件。    

例:

Text source file, csv delimited:
  Fruit,Qty,Price/Kilo
  Apples,1,76
  Pears,2,45
  Bananas,3,66
  Oranges,4,41
  Kiwis,5,55

    TSeriesTextSource组件识别关联的TeeChart系列的Series类型,并为源的定义提供相关的字段结构,以下是BarSeries: 

seriestxtsrc.png

    将标题列设置为您不希望SeriesTextSource从中获取数据的标题文本行数。 将TSeriesTextSource Active设置为True会加载Series数据。 以上数据的结果如下图: 

seriestxtsrcChart.png

    以上方法可以通过以下方式实现:

procedure TForm1.BitBtn1Click(Sender: TObject);
begin
 With SeriesTextSource1 do
 Begin
   Series:=Series1;
   Filename:='http://www.steema.com/test.txt';
   Headerlines:=1;
   SeriesTextSource1.AddField('Bar',3);
   {Use the keyword 'Text' to select the Label field}
   SeriesTextSource1.AddField('Text',1);
   Active:=True;
 end;

    对于上面的Bar Series示例,单词Bar用于定义Y值。 当仅为BarSeries添加一个数据变量时,名称并不重要,因为TeeChart将假定它是Y值。 对于Label字段,它必须使用标题Text(常量Teemsg_Text)来标识它。 添加多个值时(如AddXY或具有Date,Open,High,Low,Close的Candle Series),您可以通过Series ValueList名称获取正确的名称。    

例:

请考虑以下数据文件: 

日期    开盘价 最高价  最低价 收市价
 1/1/2000     15  76      740 
 2/1/2000      40  55   3537 
 3/1/2000     37  61     29  43 
{The following code extracts the data and adds it to the Series}
procedure TForm1.Button1Click(Sender: TObject);
var colcount: integer;
begin
 With SeriesTextSource1 do
 Begin
   Series:=Series1;
   Filename:='c:\tempdata\testcandledata.txt';
   Headerlines:=1;
   For colcount:=0 to Series1.ValuesList.Count-1 do
   begin
     SeriesTextSource1.AddField(Series1.ValuesList[colcount].Name,colcount+1);
   end;
   Active:=True;
 end;
end;

将TeeChart放入Delphi的ActiveForm中    

    要创建新的ActiveForm应用程序,请从Delphi IDE的文件菜单中选择New>Activex>ActiveForm。 可以在表单上放置TChart,并且可以将属性添加到表单内以执行TeeChart操作。

    想要插入在Internet Explorer或其他ActiveX感知浏览器中,您应该记下新ActiveXForm的CLSID编号,并将其插入页面,语法类似于以下示例:

<OBJECT 
   id="TeeVCLAX1" 
   type="application/x-oleobject"
   hspace="0"
   vspace="0"
   codebase="TeeChartAXFormExample.ocx#version=1,0,0,1"" 
   CLASSID="CLSID:6C03C4DE-C883-4B1E-AA11-996319F91A8F">

    您可以向Activeform对象添加属性和方法,以便为图表在运行时提供便利。 例如,对于上面的图表,我们添加了Gradient.Visible,属性来启用/禁用图表后面的Panel Gradient。

    例: 如何使用Delphi将TeeChart属性添加到ActiveForm

    按照以下步骤将Chart属性添加到ActiveForm项目: 

  1. 使用Delphi类型库编辑器向ActiveForm项目添加属性 

  2. 在这种情况下,我们将属性定义为Property Gradient:WordBool;

  3. 使用类型库刷新按钮更新项目的实施单元。

  4. Delphi将在项目的实现单元中为新属性创建一个空的Get函数和Set过程。 您可以通过填充函数和过程来添加对所需TeeChart属性的访问,如下所示: 

function TTeeVCLAX.Get_Gradient: WordBool;
begin
  result:=Chart1.Gradient.Visible;
end;

procedure TTeeVCLAX.Set_Gradient(Value: WordBool);
begin
  Chart1.Gradient.Visible:=Value;
end;

      现在编译修改后的项目可以使用浏览器脚本语言(如VBScript)访问此属性。 下面列出的VBScript代码用于此示例中的按钮:


    对于这种类型的Charting应用程序,您可能会发现LoadChartFromURL方法很有用,因为它允许分发集中修改的图表,可以在ActiveForm应用程序上放置一个计时器,以调用定期更新的基于服务器的图表,从而保证浏览器图表数据是最新的。

Web服务器应用程序

编写ISAPI应用程序    

    Delphi使编写ISAPI应用程序非常容易。 下面是一部分代码,以显示图表如何以Stream格式发送到页面。

{ This event is created at design-time, double-clicking the WebModule
  form and adding an action... }
procedure TWebModule1.WebModule1WebActionItem1Action(Sender: TObject;
  Request: TWebRequest; Response: TWebResponse; var Handled: Boolean);
Var Stream:TMemoryStream;
begin
  With TForm2.Create(Self) do { create the Form where is the Chart1... }
  try
    //See the ISAPI demo for a full listing of the code that creates the Chart
    //taking parameters from a Web Form as input.
    With ChartToJPEG(Request) do { convert Chart1 to JPEG Function in UnitChart Unit}
    try
      Stream:=TMemoryStream.Create;  { create a temporary stream in memory... }
      try
        SaveToStream(Stream); { save the jpeg to the stream... }
        Stream.Position := 0;
        Response.ContentType:='image/jpeg';   { send the stream... }
        Response.ContentStream:=Stream;
        Response.SendResponse;
      finally
        Stream.Free;  { release the temporary stream... }
      end;
    finally
      Free;  {

    本篇教程就介绍到这里,对以上内容有任何疑惑或者建议都可以在下方评论留言,TeeChart Pro VCL/FMX教程会持续更新,可以多多关注。


   如果对于TeeChart Pro VCL/FMX有任何的问题或者想要咨询的都可以在评论下方留言。

    关注慧聚IT微信公众号 ☟☟☟,了解产品的最新动态及最新资讯。

dd2629f30d553d56ccaf7164fdcb784e-sz_28327.webp.jpg




标签:

本站文章除注明转载外,均为本站原创或翻译。欢迎任何形式的转载,但请务必注明出处,尊重他人劳动成果

文章转载自:Steema http://www.teechart.net/docs/TeeChartVCLTutorials.htm

登录慧都网发表评论登录


暂无评论...

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
title
相关厂商
相关产品
TeeChart Pro VCL/FMX

支持RAD Studio,Delphi和C ++ Builder以及FireMonkey的图表制作工具

在线客服 在线QQ 电话咨询
400-700-1020
反馈
在线客服系统
live chat