Você está na página 1de 8

CONTEXTO DE VARÁVEIS

RCTI TREINAMENTOS
DEFINIÇÃO DE ESCOPO
As variaveis criadas dentro de um programa ADVPL, são visíveis de acordo com o escope onde
são definidas. A definição do escopo de uma varável é efetuada no momento de sua declaração.
Exemplo:
Local nNumero := 599
TIPO DE VARIÁVEIS
O ADVPL não é rígido em relação á declaração de variáveis no começo do programa. A inclusão
de um identificador de escopo não é necessário, contanto que um valor lhe seja atribuido.
Quando criamos uma variável sem identificador de escopo, ela será automaticamente vista pelo
ADVPL como uma variável PRIVATE.
Exemplo:
nNumero := 599
** Para o ADVPL ésta é uma variável Private **
IDENTIFICADORES DE ESCOPO
LOCAL
STATIC
PRIVATE
PUBLIC
VARIÁVEL DE ESCOPO LOCAL
Variáveis locais são visíveis em qualquer lugar do código fonte em que foram declaradas.
Exemplo:
User Function Vlocal()
Local nNumero := 20

Return
VARIÁVEL DE ESCOPO STATIC
O comportamento de variáveis do tipo Static dependem de onde são declaradas. Se forem
declaradas dentro do corpo de uma função ou procedimento, seu escopo será limitado áquela
rotina. Se forem declaradas fora do corpo de qualquer rotina, seu escopo afeta as funções
declaradas no fonte.
Exemplo:
User Function Vstatic()
Static nNumero := 90

Return
VARIÁVEIS DE ESCOPO PRIVATE
A declaração de variaveis Private é opcional.
Uma vez criada, a variável Private é visível em todo o programa, enquanto não for destruída.
Varíavei Private são destruída ao terminar de executar o programa em que foram criadas, ou
quando uma função interna do programa chame uma varíavel de mesmo nome, porém com
outro valor.
Exemplo:
User Function Vprivate()
Private nNum := 32
return
VARIÁVEL DE ESCOPO PUBLIC
Uma vez criada, uma variável de escopo public é visível em todo o programa em que foi
declarada, até que seja escondida por uma variável de escopo private, criada com o mesmo
nome.
Exemplo:
User Function Vpublic()
Public nNum := 12

return