Como Definir Array Dinâmico
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.
Edisson Maciel
Curtidas 0
Respostas
Abraão Leopoldino
11/03/2019
Utilize o função SetLength.
Use desta forma
Use desta forma
SetLength(seuArray,tamanho);
GOSTEI 0
Edisson Maciel
11/03/2019
Utilize o função SetLength.
Use desta forma
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.
GOSTEI 0
Abraão Leopoldino
11/03/2019
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.
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.
GOSTEI 0
Hélio Devmedia
11/03/2019
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.
GOSTEI 0