aArr : array[0..9] of Integer = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9);怎么把数组aArr的第3位到到第6位复制到另外一个数组里面去?
不用for可以做到吗,有什么函数可供使用?

解决方案 »

  1.   

    var
      A1,A2 : integer;
      A1 := aArr[2]; 
      A2 := aArr[5];
      

  2.   


    unit Unit1;interfaceuses
      Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
      Dialogs, StdCtrls;type
      TForm1 = class(TForm)
        Button1: TButton;
        Label1: TLabel;
        Button2: TButton;
        procedure Button1Click(Sender: TObject);
      private
        { Private declarations }
      public
        { Public declarations }
      end;var
      Form1: TForm1;
      aArr: array[0..9] of Integer = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9);implementation{$R *.dfm}procedure TForm1.Button1Click(Sender: TObject);
    var
      aArr2: array[0..3] of Integer;
    begin
      Move(aArr[3], aArr2[0], SizeOf(Integer)*4);
    end;end.
      

  3.   


    楼主是否这种想法:var
      aArr: array[0..9] of Integer = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
    ...
    procedure CopyArr(var ATargetArr: array of Integer; ASourceArr: array of Integer);
    var
      L: Integer;
    begin
      L := High(ASourceArr);
      if High(ATargetArr) < L then
        raise Exception.Create('size out!');  L := L + 1;
      Move(ASourceArr[0], ATargetArr[0], SizeOf(Integer) * L);
    end;
    procedure TForm1.Button3Click(Sender: TObject);
    var
      tmpArr: array of Integer;
    begin
      SetLength(tmpArr, 2);
      CopyArr(tmpArr, [aArr[3-1], aArr[6-1]]);  ShowMessage(IntToStr(tmpArr[0]) +', '+ IntToStr(tmpArr[1]));
    end;
      

  4.   

    第3位第6位,共四个值需要复制!!
    在Delphi中有这么麻烦吗?对Delphi真是头痛,有能给写个简便易懂的。
      

  5.   


    type
      TaArr: array of Integer;
    var  
      aArr: array[0..9] of Integer = (0, 1, 2, 3, 4, 5, 6, 7, 8, 9);
      tmpArr: TaArr;
      tmpLoop: Integer;
    begin
      SetLength(tmpArr,4);
      for tmpLoop := 0 to 3 do
        tmpArr[tmpLoop] := aArr[tmpLoop + 3];
    end;大家为何视简单而不做呢?
      

  6.   

    回复:xiaowei_001
        用for也不是很复杂呀!!