Documentacióninfo_de_registro(tabla, indice, prof)
Nombre
info_de_registro - Devuelve la informacion estructural completa de un registro.
Sinopsis
info = tablas.info_de_registro(tabla, indice, prof)
Descripcion
Es la funcion central del bloque de introspeccion de registros.
A partir de un registro identificado por indice, construye una estructura con tres vectores paralelos:
campostiposvalores
Cada posicion representa el mismo elemento estructural del registro. Si prof lo permite, tambien expande subtablas y usa rutas del tipo campo.subcampo.
Es util para:
- obtener la metadata completa de un registro sin formatearla
- alimentar funciones como
tablas.imprimir_registro() - separar la extraccion de datos de su presentacion final
Comportamiento
- Toma un registro de
tabla[indice]. - Usa internamente
campos_de_registro(),tipos_de_registro()yvalores_de_registro(). - Retorna una
TABLAcon un solo registro que contiene los vectorescampos,tiposyvalores. - Si
prof = 1, inspecciona solo el nivel superior; siprof = 2, expande tambien subtablas de segundo nivel.
Funciones API relacionadas
tablas.describir_tabla()tablas.campos_de_registro()tablas.valores_de_registro()tablas.tipos_de_registro()tablas.imprimir_registro()
Parámetros
| Parámetro | Tipo | Descripción |
|---|---|---|
| tabla | TABLA | Tabla origen. |
| indice | NUMERICO | Índice del registro a inspeccionar. |
| prof | NUMERICO | Profundidad máxima de inspección. |
Valor de retorno
TABLA|REGISTRO - TABLA con un solo registro que contiene los vectores campos, tipos y valores del registro inspeccionado.
Ejemplo
ejemplo.blox
INCLUIR "strings.api"
INCLUIR "tablas.api"
FUNCION PRINCIPAL
INICIO
TABLA p, reg
TABLA info
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
info = tablas.info_de_registro(p, i, 2)
campos = info[1].campos
tipos = info[1].tipos
valores = info[1].valores
IMPRIMIR("\nREGISTRO ", i, "\n")
tablas.imprimir_registro(campos, tipos, valores)
IMPRIMIR("\n-------------------------\n")
FIN_PARA
FINAL