Série da semana: Primeiros passos no Angular

Veja mais

Como Definir Array Dinâmico

11/03/2019

12

Oi pessoal, boa noite. Meu código agora está funcionando bem. Eu queria pedir para vocês me mostrarem como faço para definir array dinâmico no DELPHI ou Object Pascal. Fico no aguardo de seu retorno, obrigado, Edisson Sávio.
Responder

Posts

Utilize o função SetLength.

Use desta forma
SetLength(seuArray,tamanho);
Responder

12/03/2019

Edisson Maciel

Utilize o função SetLength.

Use desta forma
SetLength(seuArray,tamanho);


Prezado Abrãao,

Eu já usei esta definição e não funcionou. Um de vocês na época me disse que deveria ser algo como: SETLENGTH(ARRAY,0..5),SETLENGTH(ARRAY,0..10) para um array bidimensional ou algo assim. Você sabe outra forma de definir array dinâmico ou só tem a declaração acima? Obrigado, Edisson Sávio.
Responder
Bom a unica forma que conheço é essa mesmo.

Mas bora lá como é o seu array, posta ele ai pra dar aquela analisada.

Possa ser que tenha se confundido na hora de usar o comando.
Responder
Oi pessoal, boa noite. Meu código agora está funcionando bem. Eu queria pedir para vocês me mostrarem como faço para definir array dinâmico no DELPHI ou Object Pascal. Fico no aguardo de seu retorno, obrigado, Edisson Sávio.



Se o array for Multidimencional você deve adicionar o novo tamanho na frente, assim:

setlength(seuArrayMultidimencional, tamanhoPrimeiraDimensão, TamanhoSegundaDimensao, TamanhoTerceiraDimensao, etc...)


Exemplo para um array triDimensional:

var
  meuArray: Array of array of array of String;
  I: Integer;
  j: Integer;
  l: Integer;
begin
  SetLength(meuArray, 3, 2, 3);

  for I := 0 to length(meuArray)-1 do
  begin
    Memo1.Lines.Add('->Elemento '+intToStr(I));
    for j := 0 to Length(meuArray[I])-1 do
    begin
      Memo1.Lines.Add('-->SubElemento '+intToStr(j));
      for l := 0 to Length(meuArray[I][j])-1 do
        Memo1.Lines.Add('--->SubSubElemento '+intToStr(l));
    end;
  end;



resultado:


->Elemento 0
-->SubElemento 0
--->SubSubElemento 0
--->SubSubElemento 1
--->SubSubElemento 2
-->SubElemento 1
--->SubSubElemento 0
--->SubSubElemento 1
--->SubSubElemento 2
->Elemento 1
-->SubElemento 0
--->SubSubElemento 0
--->SubSubElemento 1
--->SubSubElemento 2
-->SubElemento 1
--->SubSubElemento 0
--->SubSubElemento 1
--->SubSubElemento 2
->Elemento 2
-->SubElemento 0
--->SubSubElemento 0
--->SubSubElemento 1
--->SubSubElemento 2
-->SubElemento 1
--->SubSubElemento 0
--->SubSubElemento 1
--->SubSubElemento 2





Espero ter conseguido esclarecer. Um forte abraço e fique com Deus.
Responder