Hola Manuel.
Hola Manuel
Cita:
Empezado por Manuel
..., pero si cuando se redimensiona a menos elementos se produce el error.
|
Te pongo un ejemplo que inicializa, aumenta y por último disminuye el tamaño de un arreglo dinámico:
Código Delphi
[-]
type
TDynArray = array of Integer;
procedure TForm1.Button1Click(Sender: TObject);
procedure Mostrar(v: TDynArray);
var
i: Integer;
begin
for i:= Low(v) to High(v) do Memo1.Lines.Add(Format('%d',[i]));
Memo1.Lines.Add(Format(' Elementos: %d',[Length(v)]));
Memo1.Lines.Add('--------------------');
end;
var
da: TDynArray;
i: Integer;
begin
Memo1.Lines.Clear;
Memo1.ScrollBars:= ssVertical;
SetLength(da, 4);
for i:= 0 to 3 do da[i]:= i;
Mostrar(da);
SetLength(da, Length(da) + 4);
for i:= 0 to 3 do da[High(da)]:= High(da)+1;
Mostrar(da);
SetLength(da, 2);
Mostrar(da);
Finalize(da);
end;
El resultado:
Código:
0
1
2
3
Elementos: 4
--------------------
0
1
2
3
4
5
6
7
Elementos: 8
--------------------
0
1
Elementos: 2
--------------------
Saludos
