大多数开发人员在使用TeeChart进行开发的时候,都需要访问包含在文本文档中的一些数据,本次教程将详细讲解如何去实现这一步骤。
文本文件通常包含使用空格键或者是TAB键分隔开的数字和文字:
TeeChart官方最新版免费下载地址
比如下面的文本,包含两个字段,使用空格作为字段分隔:
0.1 24
0.5 143
0.2 321
0.1 100
从一个文本文件读取数据(如果列分隔符是正确的),开发者可以使用TSeriesTextSource组件,可以根据自身的数据设置ileName、Fields和FieldSeparator属性。然后只需通过设置TSeriesTextSource.Series或Series.DataSource属性将系列文本源组件连接到一个图表系列。
1 创建一个新的应用程序。 (File->New->Application)
2 从"Additional"面板选项卡中拖放TChart组件。
3 双击Chart1组件显示TeeChart编辑对话框。(或右键单击Chart1并单击"Edit...")
4 单击"Add..." 按钮,选择"Line"系列风格,单击OK按钮。(或双击"Line"图表)
5 关闭编辑器对话框(或按Esc键关闭它)。
6 找到“TeeChart”组件面板选项卡并拖放SeriesTextSource组件。
7 双击SeriesTextSource1组件显示编辑器对话框,填写以下属性:
VCL代码:
unit UImportData;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms,
Dialogs, TeEngine, Series, TeeURL, TeeSeriesTextEd, ExtCtrls,
TeeProcs, Chart, StdCtrls, Buttons;
type
TForm1 = class(TForm)
Chart1: TChart;
Series1: TLineSeries;
SeriesTextSource1: TSeriesTextSource;
Panel1: TPanel;
BitBtn1: TBitBtn;
procedure BitBtn1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
{$R *.dfm}
procedure TForm1.BitBtn1Click(Sender: TObject);
begin
with SeriesTextSource1 do
begin
// Setup fields (columns in text file)
Fields.Clear;
AddField('X',1);
AddField('Y',2);
// Set separators
FieldSeparator := ' ';
DecimalSeparator := '.';
// Set file name containing text data
FileName := 'test.dat';
// Series to add data
Series := Series1;
// Load data from file into Series
Active := True;
end;
// Example of setting axes scales.
// Not necessary is axes already have Automatic:=True.
Series1.GetVertAxis.SetMinMax(0,1);
Series1.GetHorizAxis.SetMinMax(3864.90,3865.50);
end;
end.
Displaying the SeriesTextSource editor dialog
If you wish to show the SeriesTextSource editor dialog at runtime, simply drop a button and type this code at Button1Click event:
procedure TForm1.Button1Click(Sender: TObject);
begin
// This procedure is located at TeeSeriesTextEd.pas unit:
TeeEditSeriesTextSource(SeriesTextSource1);
end;
来源:oschina
链接:https://my.oschina.net/u/1254945/blog/200683