我想用动态的数组记录memo中的值  
for  i:=1  to  memo2.Lines.Count    do  
begin  
a[i]:=memo2.lines[i-1];  
 
 
end;  
for  i:=1  to  memo2.Lines.Count  do  
begin  
mystring:=mystring+a[i];  
end;  
showmessage(mystring);  
总是报错,请问和memo中line值有关吗?  

解决方案 »

  1.   

    for  i:=1  to  memo2.Lines.Count  do//改为 for i:=0 to memo2.Lines.Count-1  do  
    begin  
    mystring:=mystring+a[i];  
    end;  
    showmessage(mystring);  
      

  2.   

    procedure TForm1.Button1Click(Sender: TObject);
    var
      i: Integer;
      A: array of string;
      S: string;
    begin
      A := nil;
      SetLength(A, Memo1.Lines.Count);
      for i := 0 to Memo1.Lines.Count - 1 do
        A[i] := Memo1.Lines.Strings[i];  for i := 0 to Memo1.Lines.Count - 1 do
        S := S + A[i];  ShowMessage(S);
    end;