FIELDBLOCK( )
Devuelve un bloque de código de asignación/lectura de un campo determinado
Sintaxis
FIELDBLOCK() –> bBloqueCampo
Argumentos
<cNombreCampo> es el nombre del campo al que hará referencia el bloque de asignación/lectura.
Devuelve
FIELDBLOCK() devuelve un bloque de código que, cuando se evalúa, asigna o lee el valor del campo determinado. Si no existe en el área de directorio actual, FIELDBLOCK() devuelve NIL.
Descripción
FIELDBLOCK() es una función de base de datos que crea un bloque de código. Cuando se ejecuta con un argumento, el bloque de código creado mediante esta función asigna el valor del argumento a . Cuando se ejecuta sin un argumento, el bloque de código recupera el valor de .
Observe que es posible que la variable de campo especificada no exista cuando se cree el bloque de código, pero debe existir antes de que éste se ejecute.
Notas
¦ Area de trabajo: El bloque de código devuelto por FIELDBLOCK() asigna o recupera el valor del campo especificado en cualquier área de trabajo en la que esté actualmente cuando se ejecute el bloque. Por ejemplo, las áreas de trabajo 1 y 2 determinadas, contienen ambas el campo NomC:
SELECT 1
NomC := “Maribel”
SELECT 2
NomC := “Sonia”
bNomC := FIELDBLOCK(“NomC”)
SELECT 1
? EVAL(bNomC) // Resultado: “Maribel”
SELECT 2
? EVAL(bNomC) // Resultado: “Sonia”
La función FIELDWBLOCK() proporciona un bloque de asignación/lectura para un campo en un área de trabajo específica.
Ejemplos
¦ Este ejemplo compara FIELDBLOCK() con un bloque de código creado utilizando el operador de macroexpresiones. Observe que utilizando FIELDBLOCK() evita los problemas de velocidad y tamaño asociados con el citado operador:
// Bloque de asignación/lectura definido por medio del
// operador de macroexpresiones
bAsilec := &( “{ ValorAsig IF( ValorAsig == NIL,;
NomC, NomC := ValorAsig ) }” )
// Bloque de asignación/lectura definido por medio de
// FIELDBLOCK()
// bAsilec creado aquí es el equivalente
// funcional del bAsilec anterior
bAsilec := FIELDBLOCK(“NomC”)
Ficheros: La biblioteca asociada es DPXBASE.CH.