Documentaciónvalores_de_registro(tabla, indice, prof)

valores_de_registro(tabla,indice,prof)\texttt{valores\_de\_registro}(tabla, indice, prof)

Nombre

valores_de_registro - Extrae los valores de un registro como texto.

Sinopsis

valores = tablas.valores_de_registro(tabla, indice, prof)

Descripcion

Devuelve un vector de STRING con los valores del registro indicado.

La salida esta alineada con campos_de_registro() y tipos_de_registro(): la posicion i de cada vector representa el mismo elemento estructural.

Cuando encuentra una subtabla, coloca "[TABLA]" para el campo padre y, si prof >= 2, agrega tambien los valores de sus subcampos.

Es util para:

  • obtener una vista textual uniforme de los valores
  • preparar datos para impresion o depuracion
  • acompañar la metadata de campos y tipos

Comportamiento

  • Convierte NUMERICO y LOGICO a texto.
  • Conserva STRING tal como esta.
  • Para subtablas usa la marca "[TABLA]" y opcionalmente expande el segundo nivel.
  • Retorna un vector de STRING listo para presentacion.

Funciones API relacionadas

  • tablas.describir_tabla()
  • tablas.info_de_registro()
  • tablas.campos_de_registro()
  • tablas.tipos_de_registro()
  • tablas.imprimir_registro()

Parámetros

ParámetroTipoDescripción
tablaTABLATabla origen.
indiceNUMERICOÍndice del registro a inspeccionar.
profNUMERICOProfundidad máxima de inspección.

Valor de retorno

VECTOR - Vector de STRING con los valores convertidos a texto.

Ejemplo

ejemplo.blox
INCLUIR "strings.api"
INCLUIR "tablas.api"


FUNCION PRINCIPAL
INICIO
    TABLA p, reg
    STRING campos[10], valores[10], tipos[10], tipo, campo
    NUMERICO i, j, t

    p = { nombre="Carlos",  edad=30, ciudad="Asuncion" }
    p = { nombre="Juan",    edad=21, ciudad="Encarnacion" }
    p = { nombre="Roberto", edad=45, ciudad="Concepcion" }
    p = { nombre="Maria",   edad=19,
          direccion = { ciudad="Concepcion", barrio="Las Mercedes", calle="Calle Principal" } }

    // PARA cada registro, buscar los campos y los valores. Imprimirlos.

    PARA i = 1 HASTA p.dim HACER

        campos = tablas.campos_de_registro(p, i, 2)
        tipos = tablas.tipos_de_registro(p, i, 2)       
        valores = tablas.valores_de_registro(p, i, 2)

        IMPRIMIR("\nREGISTRO ", i, "\n")

        tablas.imprimir_registro(campos, tipos, valores)

        IMPRIMIR("\n-------------------------\n")
    FIN_PARA
FINAL```