No AdvPl o conceito de variáveis é bem simples.
Declarações:
Local - Vísivel apenas na Function onde foi declarada;
Private - Visível em todo o .prw e os fontes que forem chamados dentro deste .prw;
Public - Vista por qualquer .prw;
Global - "Sinceramente, nunca usei e evito pensar em usar. O conceito fica aí para alguém comentar : )"
Tipos:
C = caracter;
N = numérico;
A = array;
B = bloco de código;
L = valor lógico - .T. ou .F.;
U = indefinido.
Dica para declarações de variáveis:
Uso uma metodologia muito legal que, na minha visão, facilita para o programador.
começa-se pelo tipo, em seguida a declaração
Escopo de variáveis. Exemplo:
Declaração de uma variável LOCAL do tipo C =
clNomeDaVariavel
Declaração de uma variável PRIVATE do tipo C =
cpNomeDaVariavel
Declaração de uma variável PRIVATE do tipo B =
bpNomeDaVariavel
Declaração de uma variável PUBLIC do tipo N =
npbNomeDaVariavel
Declaração de uma variável GLOBAL do tipo L =
lgNomeDaVariavel
Obs.: Toda variável declarada e não iniciada no momento da declaração tem o tipo U, portanto é recomendado a inicialização de uma variável em sua criação, evitando assim erros do tipo
Type Mismatch.