STORE*
 Asigna un valor a una o más variables
------------------------------------------------------------------------------
 Sintaxis
     STORE <exp> TO <lista idVar>
     <idVar> = <exp>
     <idVar> := [ <idVar2> := ...] <exp>

 Argumentos

     <exp> es un valor de cualquier tipo de datos que se asigna a las
     variables especificadas.

     TO <lista idVar> define una lista de una o más variables locales,
      estáticas, públicas, privadas o de campo a las que se asigna el valor
     <exp>. Si algún <idVar> no es visible o no existe, se crea una variable
     privada y se le asigna <exp>.

 Descripción

     STORE asigna un valor a una o más variables de cualquier clase de
     almacenamiento. Las clases de almacenamiento de las variables de
     CA-Clipper son local, estática, de campo, privada y pública. STORE es
     idéntico a los operadores de asignación simple (=) y (:=). De hecho,
     una sentencia STORE se preprocesa en una sentencia de asignación con
     el operador en línea (:=). Al igual que todos los operadores de
     asignación, STORE asigna un valor a la variable visible y declarada más
     recientemente referenciada por <idVar>. Sin embargo, si la referencia a
     la variable es ambigua (es decir, no se ha declarado en tiempo de
     compilación o no está calificada explícitamente con un alias), se asume
     que es MEMVAR. En tiempo de ejecución, si no existe ninguna variable
     privada o pública con el nombre especificado, se crea una variable
     privada.

     Para deshacer la ambigüedad, puede especificar <idVar> precedido de un
     alias. Si <idVar> es una variable de campo, utilice el nombre del área
     de trabajo. Para variables privadas y públicas, puede utilizar el alias
     de variable de memoria (MEMVAR->). Para asignar una variable de campo
     del área de trabajo seleccionada actualmente (en oposición a un área de
     trabajo con un nombre determinado), puede utilizar el alias de campo
     (FIELD->).

     Como norma, todas las variables que no sean de campo deben declararse.
     Preceda las variables de campo con el alias. No se aconseja el uso de
     variables privadas y públicas ya que violan los principios básicos de
     programación modular y son mucho más lentas que las locales y
     estáticas.

     Tenga en cuenta que el mandato STORE es un mandato de compatibilidad y
     no se recomienda su utilización para ninguna operación de asignación.
     CA-Clipper ofrece operadores de asignación que sustituyen a este
     mandato, incluyendo el operador de asignación en línea (:=), los
     operadores de incremento y decremento (++) y (- -) y los operadores de
     asignación compuestos (+=, -=, *=, /=). Consulte las secciones
     relativas a Operadores y Variables del capítulo "Conceptos Básicos" de
     la Guía de Programación y Utilidades para obtener más información.

 Notas

     ■ Asignación de un valor a toda una matriz: En CA-Clipper, ni el
        mandato STORE ni los operadores de asignación pueden asignar un
        valor único a una matriz entera. Utilice la función AFILL() para
        hacerlo.

     ■ Campos memo: Al asignar un campo memo a una variable, se asigna
        un valor de tipo carácter a dicha variable.

 Ejemplos

      Estas sentencias crean y asignan valores a variables privadas
        sin declarar:

        STORE "cadena" TO cVar1, cVar2, cVar3
        cVar1:= "cadena2"
        cVar2:= MEMVAR->cVar1

      Estas sentencias asignan  múltiples variables utilizando el
        mandato STORE y el operador de asignación (:=). Ambas líneas
        producen un código idéntico:

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

      Estas sentencias asignan valores al mismo campo referenciado
        de forma explícita con un alias. La primera asignación utiliza el
        alias de campo (FIELD->) y la segunda el nombre de alias real:

        USE Ventas NEW
        FIELD->SaldoClien = 1200.98
        Ventas->SaldoClien = 1200.98

 Ficheros   La biblioteca asociada es CLIPPER.LIB.

 To download this example - click here.

See Also: AFILL() LOCAL PRIVATE PUBLIC RELEASE REPLACE