想請問TChart上的FastLineSeries在利用Delete刪除單點資料的問題 |
缺席
|
sunwingman
一般會員 發表:26 回覆:47 積分:14 註冊:2008-05-14 發送簡訊給我 |
以下是實做片段:
========================= int i=0; void Timer() { Chart->FastLineSeries->AddY(Data[i], i, clRed); i ; if(i>200) Chart->FastLineSeries->Delete(0); //刪第一筆資料 } ========================= 照理來說,AddY也是一直在加點,然後每次都只刪第一筆資料 Line應該還是會一直往前run, 開始實際狀況是,X座標會一直不見,最後所有的點和線都不見了... 不知道想請教各位前輩有無類似的經驗? 編輯記錄
sunwingman 重新編輯於 2012-03-25 19:01:00, 註解 無‧
|
sunwingman
一般會員 發表:26 回覆:47 積分:14 註冊:2008-05-14 發送簡訊給我 |
|
sunwingman
一般會員 發表:26 回覆:47 積分:14 註冊:2008-05-14 發送簡訊給我 |
以下是我個人解法,跟大家分享,可以完全如同示波器方式的顯示資料, 而且就算資料很大量,也不會變慢。 [code cpp] int point_per_page = 200; int Channel = 10; if(signal_num >= point_per_page) { RDDlg->RawDataLine->BottomAxis->Automatic = true; for(int i=0; i { RDDlg->RawDataLine->Series[i]->Delete(0); RDDlg->RawDataLine->Series[i]->AddXY(signal_num,ptr[i],signal_num,clRed); } } else { RDDlg->RawDataLine->BottomAxis->Automatic = false; RDDlg->RawDataLine->BottomAxis->Minimum = 0; RDDlg->RawDataLine->BottomAxis->Maximum = point_per_page; for(int i=0; i RDDlg->RawDataLine->Series[i]->Add(ptr[i],signal_num,clRed); } signal_num ; } [/code]
編輯記錄
sunwingman 重新編輯於 2012-04-17 08:53:08, 註解 無‧
sunwingman 重新編輯於 2012-04-17 08:54:41, 註解 無‧ sunwingman 重新編輯於 2016-06-21 18:31:32, 註解 無‧ |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |