1  在函数或过程中的参数如果为开放数组参数,那么声明时参数表的一般形式
   
    (...开放数组参数名:array of 类型名...)第一种
    
     (...开放数组参数名:数组类型名....);第二种
   
   调用函数或过程时,与开放数组参数对应的实参可以是静态数组名,
   也可是动态数组变量名。使用第一种方式声明时,只要数组的基类
   型是类型名所指定的类型,传入函数或过程的数组既可以是动态数组
   也可是静态数组,如果必须指明是动态数组,应用第二种形式,
 
  上面段话没怎么看懂,能不能分别列主两个事例!!!
  讲一讲第一种方式,和第二种方式!!!!
  2在delphi中数组是不是可以在声明时初始化了!!,如果不能应该怎么做了
  像在C语言中!!
  可以这么
   main()
   {
    int a[]={1,9,7,6,21,2};
    .
    .
    .
    .
    .
    .
}在delphi不知道可以这么做了,如果不能那应该怎么做了!!!
  小弟刚学delphi所以不懂了!!
  请高手帮个忙了!!!!!3 还想问一个小问题!!就是DELPHI数据库编程一般用SOL多些还是别的数据库多些呀
  SOL是不是也有编译环境呀!!
  能不能具体的讲一下数据库了!!,小弟想学但不知道怎么下手!!!!
  谢谢了!!!!
       
   

解决方案 »

  1.   

    DELPHI数据库编程一般用MSSQL比較多,
      

  2.   

    1 参考如下代码
    procedure ArrClear1(var Arr: array of Integer); //这就是开放性数组,只要数组元素类型相同就可以调用
    var
      I: Integer;
    begin
      for I := Low(Arr) to High(Arr) do
        Arr[I] := 0;
    end;type
      TArr = array of Integer;procedure ArrClear2(var Arr: TArr); //如果上面叫开发,这个叫封闭性数组吧.只接收一种类型的数组调用
    var
      I: Integer;
    begin
      for I := Low(Arr) to High(Arr) do
        Arr[I] := 0;
    end;procedure TForm1.Button1Click(Sender: TObject);
    var
      A: array of Integer;
      B: array[5..12] of Integer;
      C: TArr;
      D: array['a'..'c'] of Integer;
    begin
      ArrClear1(A);
      ArrClear1(B);
      ArrClear1(C);
      ArrClear1(D); //即使下标类型不同//  ArrClear2(A);
    //  ArrClear2(B);
      ArrClear2(C);
    //  ArrClear2(D);
    end;
      

  3.   

    2 参考如下代码
    //int a[]={1,9,7,6,21,2};
    const 
      a: array[0..5] of Integer = (1, 9, 7, 6, 21, 2);