Não confunda adicionar com inserir. Para adicionar um item a um array dinâmico 
em Delphi, basta fazer algo como o que se segue no exemplo abaixo:

{$APPTYPE CONSOLE}

program StrDynArraySample;

uses SysUtils;

// Se vc usa Delphi 5 ou 4, declare o seguinte tipo.
// Se vc usa Delphi 6 ou maior, basta fazer um uses pra unit Types!
type
  TStringDynArray = array of String;

var
  i: byte;
  lVetor: TStringDynArray;

begin
  //  Inicializa o array
  SetLength(lVetor, 0);

  //  Adiciona um item ao array
  SetLength(lVetor, Succ(Length(lArray)));
  lArray[High(lArray)] := 'Rubem';

  //  Adiciona mais um item ao array
  SetLength(lVetor, Succ(Length(lArray)));
  lArray[High(lArray)] := 'Rocha';

  //  Mostra os itens no console
  for i := Low(lArray) to High(lArray) do
    WriteLn(lArray[i]);

  WriteLn('Tecle ENTER...');
  WriteLn(Eoln);
end.


Agora, para inserir um item em um array dinâmico, não existem rotinas prontas 
ou métodos automáticos no Object Pascal para dar suporte a essa necessidade. 
Para isso, vc teria que construir uma rotina para tratar essa situação, como 
segue no exemplo a seguir:

{$APPTYPE CONSOLE}

program StrDynArraySample;

uses SysUtils;

// Se vc usa Delphi 5 ou 4, declare o seguinte tipo.
// Se vc usa Delphi 6 ou maior, basta fazer um uses pra unit Types!
type
  TStringDynArray = array of String;

var
  i: byte;
  lArray: TStringDynArray;

begin
  //  Inicializa o array
  SetLength(lArray, 0);

  //  Adiciona um item ao array
  SetLength(lArray, Succ(Length(lArray)));
  lArray[High(lArray)] := 'Rubem';

  //  Adiciona mais um item ao array
  SetLength(lVetor, Succ(Length(lArray)));
  lArray[High(lArray)] := 'Rocha';

  //*****************************************
  //  Insere um item na segunda posição do array
  //  para definir mais um nome
  SetLength(lArray, Succ(Length(lArray)));
  for i := 1 to High(lArray) - 1 do
    lArray[i + 1] := lArray[i];
  lArray[1] := 'Nascimento da';
  //*****************************************

  //  Mostra os itens no console
  for i := Low(lArray) to High(lArray) do
    WriteLn(lArray[i]);

  WriteLn('Tecle ENTER...');
  WriteLn(Eoln);
end.


Boa sorte.
Sds.

________________________________

To: delphi-br@yahoogrupos.com.br
From: [EMAIL PROTECTED]
Date: Mon, 21 Jul 2008 15:23:07 -0300
Subject: [delphi-br] Adicionar no array


Como posso 'automaticamente' ir adicionando valores no array mas sem
precisar especificar a posição? Tem jeito?
Valeu.

--
Att.
Maycon Sanches Amaro

_________________________________________________________________
Confira vídeos com notícias do NY Times, gols direto do Lance, videocassetadas 
e muito mais no MSN Video!
http://video.msn.com/?mkt=pt-br

Responder a