Arrays Dinâmicos
![](https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjBxRkYr2ocPu17ZrrX8CqwQIdfmQYgSHezyTL2XEMwn1DLvXV6PP8FugnVAcXqJbDWFjn67VB0x0Epq3cKkVGTo55lAEi3qviEqV3rIIn3KI_m2vKO-nIZAEk6rSObHDRFCZYK2m_XZg-Q/s320/Dicas.jpg)
A solução para seu problema chama-se array dinâmico.
Sintaxe de Declaração:
var
lMeuArray : Array of
integer;
Com o método setLength(lMeuArray, x), você especifíca o tamanho do array.
Atenção
Para liberar o array da memória deve-se usar o método Finalize(lMeuArray);
Array com Tipo Personalizados
Muitas vezes precisamos de um array com várias informações, para resolver esse problema sugiro a utilização de array com tipo personalizados.
Exemplo:
type
TMeuTipo = record
codigo : integer;
nome : string;
idade : smallint;
end;
Sintaxe de Declaração
var
lMeuArray : Array of
TMeuTipo;
Acessando a propriedade do meu tipo lMeuArray[0].Codigo. Isso somente é possível caso o lMeuArray possui tamanho superior ou igual a 1, caso contrário ocorre-rá um erro de Access Violation.