大多數開發人員在使用TeeChart進行開發的時候,都須要訪問包含在文本文檔中的一些數據,本次教程將詳細講解如何去實現這一步驟。web
文本文件一般包含使用空格鍵或者是TAB鍵分隔開的數字和文字:c#
TeeChart官方最新版免費下載地址編輯器
好比下面的文本,包含兩個字段,使用空格做爲字段分隔:this
0.1 24spa
0.5 143code
0.2 321orm
0.1 100教程
從一個文本文件讀取數據(若是列分隔符是正確的),開發者能夠使用TSeriesTextSource組件,能夠根據自身的數據設置ileName、Fields和FieldSeparator屬性。而後只需經過設置TSeriesTextSource.Series或Series.DataSource屬性將系列文本源組件鏈接到一個圖表系列。ci
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;