DocumentaciónCLAVES(tabla)

CLAVES(tabla)\texttt{CLAVES}(tabla)

Nombre

CLAVES - Obtiene los nombres de los campos de un registro.

Sinopsis

campos = CLAVES(tabla[i])

Descripcion

Extrae los nombres de las claves presentes en un registro de tabla y los devuelve como vector de strings.

Es util para inspeccionar estructura, recorrer campos dinamicamente o construir procesos genericos sobre registros.

Comportamiento

  • Recibe un registro o subtabla.
  • Devuelve los nombres de sus campos visibles.
  • El orden corresponde al recorrido interno del runtime.

Funciones API relacionadas

  • CLAVES_INFO()
  • ES_CAMPO()
  • TIPO_DATO()

Parámetros

ParámetroTipoDescripción
tablaTABLARegistro a ser analizado.

Valor de retorno

STRING - Vector de STRING con los nombres de las claves.

Ejemplo

ejemplo.blox

FUNCION PRINCIPAL
INICIO

    TABLA persona, reg
    STRING claves[5], info
    NUMERICO i, j,  Cant 

    Cant = claves.dim
    persona = {nombre = "Roberto", edad = 30, ciudad = "Asuncion"}                           // indice = 1
    persona = {nombre = "Ana", edad = 21, salario = 123, ciudad = "Encarnacion", email = "xx@yy.com"}      // indice = 2


    j = 1
    MIENTRAS (j <= persona.dim) HACER

        reg = persona[j]
        IMPRIMIR("\nRegistro", j)

        //claves = reg[1].CLAVES()                // admite REGISTRO
        claves = CLAVES(persona[j])           // tambien funciona
        //claves = CLAVES(reg[1])               // tambien funciona

        i = 1
        MIENTRAS (i <= claves.dim) HACER

            info = TIPO_DATO(reg, claves[i])    // admite TABLA, no REGISTRO

            SI(!IGUAL(claves[i], "")) ENTONCES
                IMPRIMIR("\n - ", claves[i])
                IMPRIMIR("\t", info)
            FIN_SI

            i = i + 1
        FIN_MIENTRAS

        j = j + 1
    FIN_MIENTRAS

FINAL