Pesquisar este blog

quinta-feira, 24 de outubro de 2013

ERASE

Erase


    Instrução empregada para reinicializar os elementos de uma matriz de tamanho fixo, ou para liberar o espaço de memória atualmente utilizado por matrizes dinâmicas utilizando a seguinte sintaxe:

Erase ListaDeMatrizes

Onde,
  • ListaDeMatrizes: Argumento obrigatório consistindo do nome de um ou mais matrizes separadas por vírgulas.
As seguintes considerações  são válidas para a instrução Erase:
  • A instrução Erase se comporta de forma diferente, dependendo se a matriz é dinâmica ou de tamanho fixo. Matrizes dinâmicas têm a memória alocada recuperada, porém, para se referir novamente à matriz, é obrigatório empregar uma instrução Redim para redimensioná-la ao tamanho desejado;
  • Para matrizes de tamanho fixo, a instrução Erase não é capaz de recuperar a memória por elas alocada. Os elementos de uma matriz de tamanho fixo são redefinidos pela instrução Erase da seguinte forma:
    • Matriz numérica: elementos são redefinidos para zero;
    • Matrizes String (de comprimento variável): elementos redefinidos para string vazia (“”);
    • Matrizes String (de comprimento variável): elementos redefinidos para zero;
    • Matrizes de Variants: elementos redefinidos para Empty;
    • Matrizes de tipo definido pelo usuário: elemento redefinido para o tipo padrão;
    • Matrizes de objetos: elementos redefinidos para Nothing.
Exemplo: Este exemplo emprega a instrução Erase para reinicializar os elementos de matrizes dinâmicas e de tamanho fixo. Apenas o espaço de memória alocada para a matriz dinâmica é recuperado:

‘Declaração das matrizes
Dim lngMatriz(20) As Long   'Matriz de dados Long.
Dim strMatriz(20) As String   'Matriz de strings de comprimento variável
Dim strMatrizFixa(30) As String * 50 'Matriz de strings de comprimento fixo
Dim varMatriz(40) As Variant    'Matriz de Variants
Dim MatrizDinâmica() As Single   'Matriz Dinâmica
ReDim  MatrizDinâmica(1000)  'Aloca espaço de armazenamento
Erase IngMatriz    'elementos redefinidos para 0
Erase strMatriz     'elementos redefinidos para string vazia ""
Erase strMatrizFixa    'elementos redefinidos para 0
Erase varMatriz         'elementos definidos para Empty
Erase MatrizDinâmica    'Recupera o espaço de memória utilizado

Até a Próxima!!

Nenhum comentário:

Postar um comentário