STORE*
 Atribuir um valor a uma ou mais variáveis
------------------------------------------------------------------------------

 Sintaxe

     STORE <exp> TO <idLista var>
     <idVar> = <exp>
     <idVar> := [ <idVar2> := ]... <exp>

 Argumentos

     <exp> é um valor de qualquer tipo que será atribuido a variáveis
     especificadas.

     TO <idLista var> é uma lista de uma ou mais variáveis locais,
     estáticas, privadas ou públicas ou variáveis campo às quais serao
     atribuidos valores.  Se alguma <idVar> nao é visível ou nao existe, uma
     variável privada é criada e o valor é atribuído em <exp>.

 Descriçao

     STORE atribui um valor a uma ou mais variáveis de qualquer classe de
     armazenamento.  As classes de armazenamento em Clipper sao variáveis
     locais, estáticas, privadas e públicas.  De forma diferente do comando
     REPLACE, onde a variável alvo é sempre uma variável campo, STORE nao
     assume nada a respeito da classe de armazenamento de qualquer variável
     em <idVar list>.  Quando você atribui um valor a uma variável, o
     Clipper atribui o valor à variável visível com o nome especificado.  Se
     nao existir variável com o nome dado, uma variável privada é criada com
     abrangência da rotina corrente.

     Se existir um conflito com variáveis de mesmo nome, uma variável
     declarada sempre tem o maior nível de precedência com a declaraçao mais
     recente tomando efeito.  Se a variável nao for declarada, uma variável
     campo é atribuída primeiro, seguida de uma variável privada e pela
     pública.

     Para desconsiderar uma declaraçao, você pode especificar <idVar>
     prefixada com um alias.  Se <idVar> é uma variável campo, use o nome da
     área de trabalho.  Para variáveis públicas e privadas, você pode usar o
     alias de memória (MEMVAR->).  Para variáveis campo em geral, você pode
     usar o alias para campos (FIELD->).

     Por questao de princípios, todas variáveis diferentes de variáveis
     campo devem ser declaradas.  Variáveis campo devem sempre ser
     precedidas de alias.  O uso de variáveis públicas e privadas deve ser
     desencorajado pelo fato de que estas violam os princípios básicos de
     programacao modular e sao imensamente mais lentas que as variáveis
     locais e estáticas.

     -----------------------------------------------------------------------
     . Aviso

     No Clipper Summer '87, STORE assume que a classe de armazenamento de
     <idLista var> sejam sempre variáveis de memória (privadas ou
     públicas).  Se existir uma variável de memória com o mesmo nome de um
     campo, o valor é atribuído à variável.  No Clipper 5.0, a variável
     campo é atribuída a menos que a declaraçao MEMVAR seja utilizada na
     declaraçao ou na atribuiçao de valor.
     -----------------------------------------------------------------------

     STORE é idêntico aos operadores de atribuiçao simples (=) e (:=).  De
     fato, STORE é apenas uma declaraçao para o pré-processador onde é
     convertida para o operador inline (:=).

     Note que STORE é um comando de compatibilidade e portanto nao
     recomendado para atribuiçao.  O Clipper 5.0 fornece muitos operadores
     de atibuiçao mais poderosos incluindo o inline (:=), incremento (++) e
     decremento (--), além dos operadores compostos (+=, -=, *=, /=).  Leia
     a seçao de Operadores e Variáveis no capítulo de Conceitos Básicos
     neste livro para maiores informaçoes.

 Notas

       Atribuiçao de um valor a um vetor: No Clipper 5.0  nem o
        comando STORE nem os operadores de atribuiçao podem atribuir um
        valor a um vetor inteiro.  Ao invés disso, isto pode ser feito
        usando-se a funçao AFILL().

       Campos memo: Atribuir um campo memo a uma variável
        atribui um valor caractere a esta variável.

 Exemplos

       As seguintes declaraçoes criam e atribuem valores a variáveis
        privadas nao declaradas:

        STORE "string" TO cVar1, cVar2, cVar3
        cVar1 = "string2"
        cVar2 = MEMVAR->var1

       As seguintes declaraçoes atribuem valor a múltiplas variáveis
        usando STORE e o operador inline (:=):

        STORE "value" to cVar1, cVar2, cVar3
        cVar1 := cVar2 := cVar3 := "value"

       Estas declaraçoes atribuem valores ao mesmo campo.  A
        primeira atribuiçao usa o alias campo (FIELD->), enquanto que a
        segunda usa o alias verdadeiro:

        USE Sales NEW
        FIELD->CustBal = 1200.98
        Sales->CustBal = 1200.98

 Arquivos:  Biblioteca CLIPPER.LIB.
 To download this example - click here.

See Also: PRIVATE PUBLIC RELEASE REPLACE RESTORE SAVE