Ver Mensaje Individual
  #4  
Antiguo 11-07-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Reputación: 38
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Manuel.

Si no te entiendo mal es lógico, por que la segunda asignación del arreglo anula la primera. En tu ejemplo la cantidad de elementos no termina siendo 30 sino 20 ya que la última sentencia fija el tamaño del arreglo en esa cifra.

Tal vez con estos ejemplos pueda explicar mejor a que me refiero:
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
  v: array of Integer;
  i: Integer;
begin
  // agregar 5 enteros
  for i:= 0 to 4 do
  begin
    SetLength(v, Length(v)+1);
    v[Length(v)-1]:= i;  
  end;

  // agregar diez enteros mas
  for i:= 500 to 509 do
  begin
    SetLength(v, Length(v)+1);
    v[High(v)]:= i;  // igual que: v[Length(v)-1]
  end;

  // mostrar
  for i:= Low(v) to High(v) do
    ListBox1.Items.Add(IntToStr(v[i]))
end;


Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
var
  v: array of Integer;
  i: Integer;
begin
  // agregar 5 enteros
  SetLength(v, 5);
  for i:= 0 to 5 do v[i]:= i;

  // agregar 10 mas
  SetLength(v, Length(v)+10);
  for i:= 0 to 9 do v[5+i]:= 500+i;

  // mostrar
  for i:= Low(v) to High(v) do
    ListBox1.Items.Add(IntToStr(v[i]));
end;

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....

Última edición por ecfisa fecha: 11-07-2014 a las 15:39:09. Razón: agregar ejemplo
Responder Con Cita