大哥们:
  我的下面一段代码错在哪里了?一执行说我rang check error
  功能:把recordarray[j,k]中我要的数符给number数组?
setlength(number,high(recordarray[j,k]));
   p:=low(recordarray[j,k]);
   q:=0;
   while(p<=high(recordarray[j,k]))do
    begin
     if ((recordarray[j,k,p]>0) and (recordarray[j,k,p]<10000))then
      begin
       number[q]:=recordarray[j,k,p];
       q:=q+1;
      end
     else
       setlength(number,high(number)-1);
      p:=p+1;
    end;
   len:=high(number);

解决方案 »

  1.   

    recordarray这个数组变量到底是三维还是二维
      

  2.   

    将setlength(number,high(recordarray[j,k]));改为:
    setlength(number,high(recordarray[j,k])+1);或者
    setlength(number,Length(recordarray[j,k]));
    因为数组默认下标从0开始—————————————————————————————————
    宠辱不惊,看庭前花开花落,去留无意;毁誉由人,望天上云卷云舒,聚散任风。
    —————————————————————————————————