Teechart圖表應(yīng)用技術(shù)詳解—第九章之文本數(shù)據(jù)的讀入
Steema公司和慧都科技針對(duì)中國(guó)市場(chǎng)聯(lián)合推出中文版TeeChart for .NET圖表控件,一共漢化2000個(gè)詞條(17000個(gè)單詞),漢化文檔35000個(gè)單詞,包括控件設(shè)計(jì)時(shí)與運(yùn)行時(shí)的界面漢化以及控件使用向?qū)臋n的漢化,總漢化90%以上!
TeeChart for .NET中文版讓您在使用和學(xué)習(xí)上沒有任何語言障礙,至少可以節(jié)省30%的開發(fā)時(shí)間。TeeChart for .NET中文版具有易上手,使用方便,穩(wěn)定性好,性價(jià)比高,價(jià)格優(yōu)惠等優(yōu)勢(shì),并且針對(duì)Web應(yīng)用提供無限制服務(wù)器分發(fā)授權(quán)方式,非常有利于產(chǎn)品集成。
點(diǎn)擊下載TeeChart for .NET最新試用版
這一章將以工程中的應(yīng)用實(shí)例作為對(duì)TeeChart圖表組件實(shí)際應(yīng)用的一個(gè)總結(jié),一方面展現(xiàn)TeeChart組件的強(qiáng)大功能以及方便的人性化設(shè)計(jì),另一方面通過一個(gè)應(yīng)用實(shí)例為使用者介紹TeeChart組件在工程中的應(yīng)用技術(shù)或技巧。
文本數(shù)據(jù)的讀入
本系統(tǒng)待處理數(shù)據(jù)是符合自定義格式后綴為wf的純文本文件,可使用 Windows記事本程序 notepad.exe打開瀏覽,其格式如下圖所示。
該文本文件前71行為注釋性語句,第72行的第1列是序號(hào),第2~5列分別是D1、D2、D3和D4這4條曲線的數(shù)據(jù),列間用空格隔開。
將文本文件數(shù)據(jù)賦予4條曲線可以通過4種方法實(shí)現(xiàn)(先使用圖表編輯器加入四條序列)。
方法一
- 在設(shè)計(jì)階段,打開圖表編輯器,選擇 Series→ DataSource選項(xiàng)卡選擇數(shù)據(jù)源類型為Text File,并且指定該文本文件所在的位置,如下圖所示。

選擇圖10-4中的Fields選項(xiàng)卡,指定序列(曲線)對(duì)應(yīng)的Text、X、Y在文本文件中的列號(hào)以及列與列之間的分隔符(此文件列與列分隔為一個(gè)空格符)和從文本文件多少行以后開始是數(shù)據(jù)行(本例為71行后),如下圖所示。
當(dāng)修改了某些參數(shù)后, Apply按鈕可用,這時(shí)單擊該按鈕則讀入文本文件中的數(shù)據(jù)。到此為止,已經(jīng)為 Series1設(shè)定了文本數(shù)據(jù)源,重復(fù)上述方法可完成對(duì) Series2、 Series3和 Series4的文本源設(shè)置(分別對(duì)應(yīng)曲線D1、D2、D3和D4)。
方法二:
因?yàn)橛?條曲線(D1、D2、D3和D4是曲線的標(biāo)題, Series1~ Series4是曲線名稱),所以從 Delphi7 IDE的 TeeChart組件板上向窗體中拖入4個(gè)文本數(shù)據(jù)源組件(或在 Series選項(xiàng)卡的數(shù)據(jù)源處選擇 Text File),選中任一文本數(shù)據(jù)源組件會(huì)打開 Object Inspector窗口,如下圖所示。
在上圖中,設(shè)SeriesTextSource1的Series屬性為Series1,HeaderLine為71,F(xiàn)ileName為c:\S5-12(2970).wfl.FieldSeparator屬性為空格(空格個(gè)數(shù)由實(shí)際個(gè)數(shù)確定,注意“空格”和“空“是不同的),然后雙擊屬性Fields彈出Edittng SeriesTextSource1.Fields窗口,如下圖所示,單擊AddNew(Ins)按鈕,出現(xiàn)0-TSeriesTextField項(xiàng),然后在Object Inspector窗口設(shè)置FieldIndex和FieldName屬性,并重復(fù)這個(gè)過程,完成對(duì)Series1的文本數(shù)據(jù)源設(shè)定,結(jié)果如下面第二圖所示,最后返回到上圖的狀態(tài),選擇Active屬性為True,這時(shí)文本文件的數(shù)據(jù)就讀入序列中,按照此法設(shè)置其他幾個(gè)序列的數(shù)據(jù)源就可以了,這個(gè)過程可以看出效果與方法一第二圖相同。
方法三:
當(dāng)窗體中已有文本數(shù)據(jù)源組件時(shí),可直接雙擊該組件,打開 Series DataSource Text Editor窗口,進(jìn)行文本文件名和序列屬性與文木文件數(shù)據(jù)的對(duì)應(yīng)關(guān)系的設(shè)定,其過程也與方法二中的圖相同,效果如下圖所示(注意:設(shè)定完成后要單擊Load按鈕載入數(shù)據(jù))。

采用編寫代碼的方法也可以進(jìn)行文本數(shù)據(jù)源的設(shè)定。如果序列(曲線)數(shù)據(jù)在系統(tǒng)啟動(dòng)后只載入一次的話,可將下列代碼放在窗體的 OnCreate事件中:如果序列的數(shù)據(jù)源在程序運(yùn)行過程中是不斷改變的,則需將代碼放在某個(gè)按鈕的OnClick事件或其他事件中觸發(fā)。下面的代碼放在按鈕的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;//對(duì)應(yīng)文本文件的列 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;
相關(guān)資料推薦:
下一章:曲線概貌與細(xì)節(jié)
=====================================
現(xiàn)TeeChart for .NET,TeeChart for JavaScript/HTML5,TeeChart for Xamarin.Android等均已加入在線訂購(gòu),現(xiàn)在搶購(gòu)可立享優(yōu)惠!
關(guān)注慧聚IT微信公眾號(hào)???,了解產(chǎn)品的最新動(dòng)態(tài)及最新資訊。
