var InSqlData :olevariant;InSqlData:= VarArrayCreate([0,100,0,100], varVariant);//这个4围数组中的0,100,0,100怎么解释。还用下面的InSqlData[0,0]:=等怎么解释。我对数组是一塌糊涂。能否详细解释呀?    InSqlData[0,0]:='SQL';InSqlData[0,1]:='Insert';InSqlData[0,2]:='T_PORT';
    InSqlData[1,0]:='portid';InSqlData[1,1]:='Function';InSqlData[1,2]:='dbo.getnewid('''+'T_PORT'+''')';//DataSetMain.FieldValues['PORTID'];
    InSqlData[1,3]:='porttypeid';InSqlData[1,4]:='int';InSqlData[1,5]:=porttypeid;
    InSqlData[1,6]:='countryid';InSqlData[1,7]:='int';InSqlData[1,8]:=countryid;
    InSqlData[1,9]:='portname';InSqlData[1,10]:='varchar(20)';InSqlData[1,11]:=DataSetMain.FieldValues['portname'] ;
    InSqlData[1,12]:='Postalcode';InSqlData[1,13]:='varchar(10)';InSqlData[1,14]:=Postalcode ;

解决方案 »

  1.   

    四维数组??创建的是一个101*101的二维数组,只不过数组里的每个元素的类型是varVariantInSqlData[0,0] := 'SQL',意识就是第元素InSqlData[0,0]里的内容是个字符'SQL'
      

  2.   

    错了,是字符串'SQL'InSqlData[0,1]
    InSqlData[0,2]
    InSqlData[0,3]
    ...以此类推
      

  3.   

    VarArrayCreate([0,100,0,100], varVariant),创建一个2维数组,
    0代表下界,100代表上界,InSqlData[0,0]是2维数组的一个元素,坐标为[0,0],可以直接给这个元素赋值
      

  4.   

    VarArrayCreate([0..100,0..100], varVariant)不应该是2维数组吗?VarArrayCreate([0,100,0,100], varVariant)里面是0,100,0,100不应该是4维吗?
      

  5.   

    var  A: Variant;
    begin
      A := VarArrayCreate([0, 4], varVariant);
      A[0] := 1;
      A[1] := 1234.5678;
      A[2] := 'Hello world';
      A[3] := True;
      A[4] := VarArrayOf([1, 10, 100, 1000]);
      WriteLn(A[2]); { Hello world }
      WriteLn(A[4][2]); { 100 }
    end;
    这是delphi帮助自带的例子,讲的很清楚了,你自己看一下,没有[0..100,0..100]的写法
      

  6.   

    应该有[0..100,0..100]这个写法的吧,看下面的
    type
      MonthTemps = array [1..24, 1..31] of Integer;
      YearTemps = array [1..24, 1..31, Jan..Dec] of Integer;这是从ESSENTIAL DELPHI上摘下来的
      

  7.   

    To define a multidimensional array constant, enclose the values of each dimension in a separate set of parentheses, separated by commas. For example,type TCube = array[0..1, 0..1, 0..1] of Integer;const Maze: TCube = (((0, 1), (2, 3)), ((4, 5), (6,7)));creates an array called Maze whereMaze[0,0,0] = 0Maze[0,0,1] = 1
    Maze[0,1,0] = 2
    Maze[0,1,1] = 3
    Maze[1,0,0] = 4
    Maze[1,0,1] = 5
    Maze[1,1,0] = 6
    Maze[1,1,1] = 7Array constants cannot contain file-type values at any level.--------------------------------------------------------------------------
    |                                                                        |
    |                      抓你頭 踢你臉,嘴裡唱著心太軟                             |
    |                      先踢腿 後踢背,胯胯軸子踹稀碎;                           |
    |                      腰打斷 腿打折,肋巴扇子蹬骨折;                           |
    |                      先抽筋 再放血,腦袋瓜子打稀癟!                           |
    |                                  服不?                                      |
    |                                                                        |
    --------------------------------------------------------------------------
      

  8.   

    VarArrayCreate[0,100,0,100], 表示一个四维数组的其中一个元素,
    VarArrayCreate[0..100,0..100],表示一个二维数组 InSqlData[0,0] 表示二维数组的其中一个元素
      

  9.   

    用普通的二维数组一样的理解啊
    0,100是下标,InSqlData[0,0]:=  就是算出下标为 0,0位置的数据赋值啊
      

  10.   

    看看 VarArrayCreate 的帮助. 很清楚了.
    帮助中的例子::The following example creates a one-dimensional variant array with five elements. Each of the elements are of type Variant, and can therefore contain values of varying types, as is illustrated by the example. Notice in particular how the value of the last element of the array is itself a variant array.var  A: Variant;
    begin
      A := VarArrayCreate([0, 4], varVariant);
      A[0] := 1;
      A[1] := 1234.5678;
      A[2] := 'Hello world';
      A[3] := True;
      A[4] := VarArrayOf([1, 10, 100, 1000]);
      WriteLn(A[2]); { Hello world }
      WriteLn(A[4][2]); { 100 }end;
      

  11.   

    还不懂vararray和array的区别,楼下的顺便也讲讲