logo Teechart应用技术详解——快速图表制作工具 我也要发布文档

第九章之文本数据的读入


Steema公司和慧都科技针对中国市场联合推出中文版TeeChart for .NET图表控件,一共汉化2000个词条(17000个单词),汉化文档35000个单词,包括控件设计时与运行时的界面汉化以及控件使用向导文档的汉化,总汉化90%以上!

TeeChart for .NET中文版让您在使用和学习上没有任何语言障碍,至少可以节省30%的开发时间。TeeChart for .NET中文版具有易上手,使用方便,稳定性好,性价比高,价格优惠等优势,并且针对Web应用提供无限制服务器分发授权方式,非常有利于产品集成。

点击下载TeeChart for .NET最新试用版


这一章将以工程中的应用实例作为对TeeChart图表组件实际应用的一个总结,一方面展现TeeChart组件的强大功能以及方便的人性化设计,另一方面通过一个应用实例为使用者介绍TeeChart组件在工程中的应用技术或技巧。

文本数据的读入

本系统待处理数据是符合自定义格式后缀为wf的纯文本文件,可使用 Windows记事本程序 notepad.exe打开浏览,其格式如下图所示。


该文本文件前71行为注释性语句,第72行的第1列是序号,第2~5列分别是D1、D2、D3和D4这4条曲线的数据,列间用空格隔开。

将文本文件数据赋予4条曲线可以通过4种方法实现(先使用图表编辑器加入四条序列)。

方法一

  • 在设计阶段,打开图表编辑器,选择 Series→ DataSource选项卡选择数据源类型为Text File,并且指定该文本文件所在的位置,如下图所示。


选择图10-4中的Fields选项卡,指定序列(曲线)对应的Text、X、Y在文本文件中的列号以及列与列之间的分隔符(此文件列与列分隔为一个空格符)和从文本文件多少行以后开始是数据行(本例为71行后),如下图所示。

当修改了某些参数后, Apply按钮可用,这时单击该按钮则读入文本文件中的数据。到此为止,已经为 Series1设定了文本数据源,重复上述方法可完成对 Series2、 Series3和 Series4的文本源设置(分别对应曲线D1、D2、D3和D4)。


方法二:

因为有4条曲线(D1、D2、D3和D4是曲线的标题, Series1~ Series4是曲线名称),所以从 Delphi7 IDE的 TeeChart组件板上向窗体中拖入4个文本数据源组件(或在 Series选项卡的数据源处选择 Text File),选中任一文本数据源组件会打开 Object Inspector窗口,如下图所示。

在上图中,设SeriesTextSource1的Series属性为Series1,HeaderLine为71,FileName为c:\S5-12(2970).wfl.FieldSeparator属性为空格(空格个数由实际个数确定,注意“空格”和“空“是不同的),然后双击属性Fields弹出Edittng SeriesTextSource1.Fields窗口,如下图所示,单击AddNew(Ins)按钮,出现0-TSeriesTextField项,然后在Object Inspector窗口设置FieldIndex和FieldName属性,并重复这个过程,完成对Series1的文本数据源设定,结果如下面第二图所示,最后返回到上图的状态,选择Active属性为True,这时文本文件的数据就读入序列中,按照此法设置其他几个序列的数据源就可以了,这个过程可以看出效果与方法一第二图相同。


方法三:

当窗体中已有文本数据源组件时,可直接双击该组件,打开 Series DataSource Text Editor窗口,进行文本文件名和序列属性与文木文件数据的对应关系的设定,其过程也与方法二中的图相同,效果如下图所示(注意:设定完成后要单击Load按钮载入数据)。



方法四:


采用编写代码的方法也可以进行文本数据源的设定。如果序列(曲线)数据在系统启动后只载入一次的话,可将下列代码放在窗体的 OnCreate事件中:如果序列的数据源在程序运行过程中是不断改变的,则需将代码放在某个按钮的OnClick事件或其他事件中触发。下面的代码放在按钮的OnClick事件中。

procedure TForm1. BitBtn1Click(Sender: TObject);
begin
SeriesTextSource1.HeaderLines:=71;
SeriesTextSource1.FieldSeparator:=' ';
SeriesTextSource1.FileName:='c: \s5-12(2970).wfl';
SeriesTextSource1.Series:=Series1;
SeriesTextSource1.Fields[0].FieldIndex:=1;//对应文本文件的列
SeriesTextSource1.Fields[0]. FieldName:='Text';
SeriesTextSource1.Fields[1]. FieldIndex:=1;
SeriesTextSource1.Fields[1]. FieldName:='X';
SeriesTextSource1.Fields[2]. FieldIndex:=2;
SeriesTextSource1.Fields[2]. FieldName:='Y';
SeriesTextSource1.Active:=TRUE;
Chart1.Refresh;
end;


相关资料推荐:

上一章:Teechart在工程中的应用

下一章:曲线概貌与细节

Teechart 2019资源合集

=====================================

TeeChart for .NETTeeChart for JavaScript/HTML5TeeChart for Xamarin.Android等均已加入在线订购,现在抢购可立享优惠!

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

慧聚IT