線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:1050
推到 Plurk!
推到 Facebook!

如何讓chart 讀取 資料時,能跳過某些資料

尚未結案
seedbcc
高階會員


發表:232
回覆:272
積分:105
註冊:2003-12-10

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-05-26 17:19:18 IP:221.169.xxx.xxx 未訂閱
如圖所示,我的資料 如何 跳過0 與 6 也就是x為0及6時,不畫點 因為使用.vec --------------- 10*1 0 0 2 1 3 2 5 3 10 4 8 5 9 6 10 7 5 8 7 9 6 10 2 0及6都要輸入資料 輸入為0時,線又會畫到bottom
Fishman
尊榮會員


發表:120
回覆:1949
積分:2163
註冊:2006-10-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-05-27 16:17:21 IP:210.65.xxx.xxx 未訂閱
Hi seedbcc,    在以下範例程式中 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=50782 我又加了一小段程式,你可以參考看看 http://delphi.ktop.com.tw/loadfile.php?TOPICID=15913559&CC=355901 ---------------------------------- 小弟才疏學淺,若有謬誤尚請不吝指教 ----------------------------------
------
Fishman
seedbcc
高階會員


發表:232
回覆:272
積分:105
註冊:2003-12-10

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-05-27 16:38:50 IP:221.169.xxx.xxx 未訂閱
謝謝啦    但是,會先出現錯誤 'List index out of bounds(9)'    才會將第一個點移除    以下為小弟的繪圖程式片斷 td.vec如 問題    
  TdData:=Tvec.Create;
  TdDraw:=Tvec.Create;
  TdConfidence := 99.8;
  try
    TdData.LoadFromFile('Td.vec');
  except
  end;      TdSampleSize := 1;
  QCPChart(TdData,TdSampleSize,TdDraw,CL,UCL,LCL,TdConfidence*0.01);
  Tdseries.CL := CL;
  Tdseries.LCL := LCL;
  Tdseries.UCL := UCL;      DrawValues(TdDraw,TdSeries);
  TdSeries.ColorEachLine:=False;
  TdSeries.Delete(TdData.Find(0));
StrongLemon
高階會員


發表:10
回覆:166
積分:105
註冊:2004-04-18

發送簡訊給我
#4 引用回覆 回覆 發表時間:2004-05-27 17:22:48 IP:221.169.xxx.xxx 未訂閱
debug....    
引言: 但是,會先出現錯誤 'List index out of bounds(9)'->原始資料跟畫圖資料不一樣
  TdData:=Tvec.Create;
  TdDraw:=Tvec.Create;
  TdConfidence := 99.8;
  try
    TdData.LoadFromFile('Td.vec');
  except
  end;      TdSampleSize := 1;
  QCPChart(TdData,TdSampleSize,TdDraw,CL,UCL,LCL,TdConfidence*0.01);
  Tdseries.CL := CL;
  Tdseries.LCL := LCL;
  Tdseries.UCL := UCL;      DrawValues(TdDraw,TdSeries);
  TdSeries.ColorEachLine:=False;
  TdSeries.Delete(TdData.Find(0));->TdSeries.Delete(TdDraw.Find(0));
seedbcc
高階會員


發表:232
回覆:272
積分:105
註冊:2003-12-10

發送簡訊給我
#5 引用回覆 回覆 發表時間:2004-05-27 17:27:45 IP:221.169.xxx.xxx 未訂閱
你好 我修改 你紅色的部分 但是 ,bug仍然一樣
seedbcc
高階會員


發表:232
回覆:272
積分:105
註冊:2003-12-10

發送簡訊給我
#6 引用回覆 回覆 發表時間:2004-05-31 09:46:08 IP:221.169.xxx.xxx 未訂閱
上面二位高手 可否再回答我上述的問題
StrongLemon
高階會員


發表:10
回覆:166
積分:105
註冊:2004-04-18

發送簡訊給我
#7 引用回覆 回覆 發表時間:2004-06-01 01:03:22 IP:210.68.xxx.xxx 未訂閱
舉凡會出現'List index out of bounds(9)'這樣的錯誤訊息.. 都是因為你想要Access TList中物件超出它的Index..    所以類似像Delete(I) Items[I] Lines[I]這類access方法.. 如果說是在跑迴圈下 for I:=0 to XXX.Count do begin    end; 自然是不用檢查I 是否在Count內.. 但如果是像TdSeries.Delete(TdData.Find(0)).. 這時因為TdData.Find(0)有可能傳回-1.. Delete(-1)就會出錯了.. 所以在Delete之前必須先檢查是否>0 and 
系統時間:2024-05-09 22:02:11
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!