Uso De Estruturas Com Vetores No Delphi
Os vetores são listas sequenciais de elementos, armazenados de forma contígua na memória, dessa forma o acesso aos elementos do vetor pode ser feita através de um índice.
A alocação de memória utilizada pelos vetores pode ser feita de forma estática ou dinâmica.
Na alocação estática o compilador e responsável por reservar espaço na memória e na alocação dinâmica o desenvolvedor e responsável por alocar espaço na memória.
Veja o exemplo de declaração de um vetor com alocação estática.
Observe que o tamanho do vetor já está pré-definido de 0 a 9 totalizando 10 elementos no vetor.
Observe que o tamanho do vetor já está pré-definido de 0 a 9 totalizando 10 elementos no vetor.
Veja o exemplo de declaração de um vetor com alocação dinâmica.
Observe que não existe tamanho pré-definido para o vetor.
Observe que não existe tamanho pré-definido para o vetor.
O Delphi possui muitos tipos de vetores na linguagem e alguns desse vetores são representados em classes.
Operações com vetores
Tamanho de um vetor
O cálculo do tamanho de um vetor independente se o tipo de vetor for estático ou dinâmico pode ser feito utilizando a função Length().
O cálculo do tamanho de um vetor independente se o tipo de vetor for estático ou dinâmico pode ser feito utilizando a função Length().
Nessa função devemos passar o vetor como parâmetro e como retorno vamos ter um valor do tipo inteiro indicando o tamanho do vetor em elementos.
Nesse exemplo o retorno da função Length() será 20.
Nesse exemplo o retorno da função Length() será 20.
Percorrendo um vetor.
É muito simples percorrer um vetor independente se o tipo for estático ou dinâmico.
Basta fazer um loop no vetor iniciando pela primeira posição até a última.
É muito simples percorrer um vetor independente se o tipo for estático ou dinâmico.
Basta fazer um loop no vetor iniciando pela primeira posição até a última.
Nesse exemplo vamos utilizar a função Low() e High(). A função Low() retorna a primeira posição do vetor e a função High() retorna a ultimo posição do vetor.
Outra alternativa é utilizar valores pré-definidos para percorrer o vetor.
Nesse caso iniciamos o loop na posição 0 e calculamos a última posição do vetor com a funçãoLength() que retorna o tamanho do vetor.
Nesse caso iniciamos o loop na posição 0 e calculamos a última posição do vetor com a funçãoLength() que retorna o tamanho do vetor.
Inserir valores em um vetor estático
Inserir valores em vetores estáticos é um pouco mais difícil, pois as posições do vetor já estão alocadas na memória e nesse caso devemos pesquisar a posição que está livre no vetor e incluir o novo registro.
Uma limitação dos vetores estáticos é que podemos incluir um valor limitado de registros, pois esse tipo de vetor possui uma tamanho fixo.
Veja o exemplo.
Veja o exemplo.
Inserir valores em um vetor dinâmico
Esse tipo de vetor não tem limitação de tamanho podemos incluir quantos registros forem necessários e couberem na memória do computador. Porem para incluir valores vamos tem um pouco mais de trabalho pois precisamos alocar na memória o novo tamanho do vetor.
Nesse exemplo vamos utilizar a função SetLength() que irá alocar os espaços necessários para o vetor. A função SetLength() exige dois parâmetros, o primeiro e o vetor e o segundo é o tamanho do vetor.
Veja o exemplo:
Veja o exemplo:
Excluir valores em um vetor estático
Não é possível excluir a posição de um vetor estático, pois eles já possuem posições pré-definidas. O que podemos fazer e anular o valor do registro e dessa forma entendemos que o registro está excluído e não tem validade.
No exemplo vamos localizar a posição que queremos excluir e apagar o seu conteúdo.
Excluir valores em um vetor dinâmico
A exclusão de registros em vetores dinâmicos é possível ser feita, porém é trabalhosa.
Nós vamos utilizar a função SetLength() da mesma forma que utilizamos para inserir posições no vetor, porem a diferença é que o segundo parâmetro, que é o tamanho do vetor, deverá ter o valor do novo tamanho, que no nosso caso será o tamanho atual menos 1.
A exclusão de registros em vetores dinâmicos é possível ser feita, porém é trabalhosa.
Nós vamos utilizar a função SetLength() da mesma forma que utilizamos para inserir posições no vetor, porem a diferença é que o segundo parâmetro, que é o tamanho do vetor, deverá ter o valor do novo tamanho, que no nosso caso será o tamanho atual menos 1.
Outro detalhe é que se a posição que vamos excluir estiver no meio do vetor nós precisamos mover esse registro para o final do vetor, pois a função SetLength() quando utilizada para excluir posições do vetor desloca os espaços começando pelo final do vetor.
Veja o exemplo.
Veja o exemplo.
Edição de valores em vetores
Independente se o vetor é estático ou dinâmico a edição de registros é muito simples.
Devemos localizar o registro a ser excluído e depois altera o seu valor.
Independente se o vetor é estático ou dinâmico a edição de registros é muito simples.
Devemos localizar o registro a ser excluído e depois altera o seu valor.
Observação
Recomenda-se não utilizar estrutura de vetores quando a necessidade de excluir dados, pois a exclusão de dados em vetores é uma operação muito trabalhosa. O ideal é utilizar vetores quanto os dados serão alterados ou utilizados para consulta.
Uso na prática
Um uso muito interessante de vetores é quanto precisamos importar dados de arquivos textos, que possuem vários tipos de informação, como por exemplo dados de clientes, dados de vendas, dados de produtos.
Nesses casos podemos agrupar as informações em records e declarar vetores dinâmicos desses records, ao ler o arquivo texto vamos quebrando as informações e incluindo nos vetores de records, ao final do processo vamos ter um conjunto de vetores com as informações disponíveis para serem manipuladas.
Fonte: http://www.johnidouglas.com.br/uso-de-estruturas-com-vetores-no-delphi/
Delphi - Cleber Andrade: Uso De Estruturas Com Vetores No Delphi >>>>> Download Now
ResponderExcluir>>>>> Download Full
Delphi - Cleber Andrade: Uso De Estruturas Com Vetores No Delphi >>>>> Download LINK
>>>>> Download Now
Delphi - Cleber Andrade: Uso De Estruturas Com Vetores No Delphi >>>>> Download Full
>>>>> Download LINK NN