Teechart圖表應用技術詳解—第九章之文本數(shù)據(jù)的讀入
Steema公司和慧都科技針對中國市場聯(lián)合推出中文版TeeChart for .NET圖表控件,一共漢化2000個詞條(17000個單詞),漢化文檔35000個單詞,包括控件設計時與運行時的界面漢化以及控件使用向導文檔的漢化,總漢化90%以上!
TeeChart for .NET中文版讓您在使用和學習上沒有任何語言障礙,至少可以節(jié)省30%的開發(fā)時間。TeeChart for .NET中文版具有易上手,使用方便,穩(wěn)定性好,性價比高,價格優(yōu)惠等優(yōu)勢,并且針對Web應用提供無限制服務器分發(fā)授權方式,非常有利于產(chǎn)品集成。
這一章將以工程中的應用實例作為對TeeChart圖表組件實際應用的一個總結,一方面展現(xiàn)TeeChart組件的強大功能以及方便的人性化設計,另一方面通過一個應用實例為使用者介紹TeeChart組件在工程中的應用技術或技巧。
文本數(shù)據(jù)的讀入
本系統(tǒng)待處理數(shù)據(jù)是符合自定義格式后綴為wf的純文本文件,可使用 Windows記事本程序 notepad.exe打開瀏覽,其格式如下圖所示。
該文本文件前71行為注釋性語句,第72行的第1列是序號,第2~5列分別是D1、D2、D3和D4這4條曲線的數(shù)據(jù),列間用空格隔開。
將文本文件數(shù)據(jù)賦予4條曲線可以通過4種方法實現(xiàn)(先使用圖表編輯器加入四條序列)。
方法一
- 在設計階段,打開圖表編輯器,選擇 Series→ DataSource選項卡選擇數(shù)據(jù)源類型為Text File,并且指定該文本文件所在的位置,如下圖所示。
選擇圖10-4中的Fields選項卡,指定序列(曲線)對應的Text、X、Y在文本文件中的列號以及列與列之間的分隔符(此文件列與列分隔為一個空格符)和從文本文件多少行以后開始是數(shù)據(jù)行(本例為71行后),如下圖所示。
當修改了某些參數(shù)后, Apply按鈕可用,這時單擊該按鈕則讀入文本文件中的數(shù)據(jù)。到此為止,已經(jīng)為 Series1設定了文本數(shù)據(jù)源,重復上述方法可完成對 Series2、 Series3和 Series4的文本源設置(分別對應曲線D1、D2、D3和D4)。
方法二:
因為有4條曲線(D1、D2、D3和D4是曲線的標題, Series1~ Series4是曲線名稱),所以從 Delphi7 IDE的 TeeChart組件板上向窗體中拖入4個文本數(shù)據(jù)源組件(或在 Series選項卡的數(shù)據(jù)源處選擇 Text File),選中任一文本數(shù)據(jù)源組件會打開 Object Inspector窗口,如下圖所示。
在上圖中,設SeriesTextSource1的Series屬性為Series1,HeaderLine為71,F(xiàn)ileName為c:\S5-12(2970).wfl.FieldSeparator屬性為空格(空格個數(shù)由實際個數(shù)確定,注意“空格”和“空“是不同的),然后雙擊屬性Fields彈出Edittng SeriesTextSource1.Fields窗口,如下圖所示,單擊AddNew(Ins)按鈕,出現(xiàn)0-TSeriesTextField項,然后在Object Inspector窗口設置FieldIndex和FieldName屬性,并重復這個過程,完成對Series1的文本數(shù)據(jù)源設定,結果如下面第二圖所示,最后返回到上圖的狀態(tài),選擇Active屬性為True,這時文本文件的數(shù)據(jù)就讀入序列中,按照此法設置其他幾個序列的數(shù)據(jù)源就可以了,這個過程可以看出效果與方法一第二圖相同。
方法三:
當窗體中已有文本數(shù)據(jù)源組件時,可直接雙擊該組件,打開 Series DataSource Text Editor窗口,進行文本文件名和序列屬性與文木文件數(shù)據(jù)的對應關系的設定,其過程也與方法二中的圖相同,效果如下圖所示(注意:設定完成后要單擊Load按鈕載入數(shù)據(jù))。
采用編寫代碼的方法也可以進行文本數(shù)據(jù)源的設定。如果序列(曲線)數(shù)據(jù)在系統(tǒng)啟動后只載入一次的話,可將下列代碼放在窗體的 OnCreate事件中:如果序列的數(shù)據(jù)源在程序運行過程中是不斷改變的,則需將代碼放在某個按鈕的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;//對應文本文件的列 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在工程中的應用
下一章:曲線概貌與細節(jié)
=====================================
現(xiàn)TeeChart for .NET,TeeChart for JavaScript/HTML5,TeeChart for Xamarin.Android等均已加入在線訂購,現(xiàn)在搶購可立享優(yōu)惠!
關注慧聚IT微信公眾號???,了解產(chǎn)品的最新動態(tài)及最新資訊。