ADVPL
Na criação de uma variável deve-se ter em mente alguns pontos fundamentais:
A declaração
O tipo de variável
A função CRIAVAR()
A inicialização
Padronização de variáveis
A Declaração
Deve ser feita sempre no início da rotina que for utilizá-la, como no exemplo:
Function a910VerCod()
Local cCod910 := “001”
Return
O Tipo de Variável
O tipo de variável serve para identificar a utilização que a mesma terá no decorrer da rotina. Toda variável deve estar tipada durante sua criação. Quando programamos nativamente em “C”, isto se torna obrigatório. Devemos fazer o mesmo no AP5, pois isto demonstra que a variável foi conscientemente declarada.
Tipos Existentes
PUBLIC: Esta variável será inicializada em um valor lógico falso (.F.) até que seja atribuído um valor específico a ela. Esta variável permanece definida por toda a duração da aplicação e pode ser vista (assim como usada, alterada e avaliada) por qualquer função. Esta variável gera um token (indicação) na tabela de símbolos, isto significa que o módulo principal conterá símbolos para esta classe de variável, o que, por sua vez, ocupa mais espaço de memória. Deve-se evitar a utilização deste tipo, a não ser em casos extremos.
PRIVATE: Esta variável será inicializada em valor nulo (NIL) e uma vez declarada, permanecerá assim durante toda a duração do fluxo da função, até que este volte ao procedimento inicial que a chamou. Em essência, uma variável de memória PRIVATE inicializada logo no início do Protheus, agirá como um variável PUBLIC. Esta variável pode ser vista por uma sub-rotina da função e modificada de maneira correspondente. Esta variável também gera um token na tabela de símbolos comentada acima.
LOCAL: Esta variável de memória será inicializada com valor nulo (NIL) e só é visível dentro da função que a inicializa, mesmo que esta última, contenha funções incorporadas a seu conteúdo. Este tipo de variável é o mais adequado a ser utilizado em funções, pois não gera símbolos