全國最多中醫師線上諮詢網站-台灣中醫網
發文 回覆 瀏覽次數:1098
推到 Plurk!
推到 Facebook!

给TChart赋值出错

答題得分者是:Fishman
bigdogchina
版主


發表:238
回覆:523
積分:312
註冊:2003-04-28

發送簡訊給我
#1 引用回覆 回覆 發表時間:2004-03-03 11:05:01 IP:211.162.xxx.xxx 未訂閱
大大们,小弟准备给TChart赋值,可是编译过不了,请您看看下面我出错的代码
procedure TForm1.FormCreate(Sender: TObject);
var
        i,j: Integer;
begin
        StringGrid1.ColCount := 6;
        StringGrid1.RowCount := 5;
        with StringGrid1 do
        begin
          for i:= 1 to 5 do
            Cells[i,0] := Format('Group%d',[i]);
          for j:= 1 to 4 do
            Cells[0,j] := Format('Series%d',[j]);
            Chart1.Series[j-1].Title := Format('Series%d',[j]);
          Randomize();
          for i:= 1 to 5 do
            for j:= 1 to 4 do
              Cells[i,j] := IntToStr(Random(100));
        end;
end;
当按下F9开始编译时,却出错了: Project Project1.exe raised exception class EListError with message 'List index out bounds(4)'. Process stopped.Use Step or Run to continue. 它说我的List index出界了,我秀斗了,思路很混乱也很迷茫,请大大您帮我拨开乌云,让我也见见青天 < class="code"> =============== 人生在勤,不索何获? ===============
------
人生在勤,不索何获?
Fishman
尊榮會員


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

發送簡訊給我
#2 引用回覆 回覆 發表時間:2004-03-03 11:33:55 IP:210.65.xxx.xxx 未訂閱
Hi bigdogchina,    
引言: for j:= 1 to 4 do Cells[0,j] := Format('Series%d',[j]); Chart1.Series[j-1].Title := Format('Series%d',[j]);
Chart1 中是否有 Series[4] ??,如果沒有,那當然會出現 Error 最好先確認一下 Chart1 中 Series 的數量
          for j:= 1 to 4 do
            begin
              Cells[0,j] := Format('Series%d',[j]);
              Chart1.Series[j-1].Title := Format('Series%d',[j]);
            end;
我調整了一下你的程式如下:
procedure TForm1.FormCreate(Sender: TObject);
var
        i,j: Integer;
begin
        StringGrid1.ColCount := 6;
        StringGrid1.RowCount := Chart1.SeriesList.Count   1;
        with StringGrid1 do
        begin
          for i:= 1 to StringGrid1.ColCount - 1 do
            Cells[i,0] := Format('Group%d',[i]);
          for j:= 1 to Chart1.SeriesList.Count do
            begin
              Cells[0,j] := Format('Series%d',[j]);
              Chart1.Series[j-1].Title := Format('Series%d',[j]);
            end;
          Randomize();
          for i:= 1 to StringGrid1.RowCount - 1 do
            begin
                Chart1.SeriesList.Series[i-1].Clear;
                for j:= 1 to StringGrid1.ColCount - 1 do
                  begin
                    Cells[j,i] := IntToStr(Random(100));
                    Chart1.SeriesList.Series[i-1].Add(StrToInt(Cells[j,i]),Cells[j,0]);
                  end;
            end;
        end;
end;
你再試試 發表人 -
------
Fishman
bigdogchina
版主


發表:238
回覆:523
積分:312
註冊:2003-04-28

發送簡訊給我
#3 引用回覆 回覆 發表時間:2004-03-03 11:53:34 IP:211.162.xxx.xxx 未訂閱
真诚感谢Fishman大大的指导!真是拨开乌云见青天,您不仅解决了问题,还让我知道错在那里了,谢谢您!答题分已敬上,乞望您以后多多指导我 < class="code"> =============== 人生在勤,不索何获? ===============
------
人生在勤,不索何获?
系統時間:2024-07-06 3:51:36
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!