DocumentaciónES_CAMPO(reg, campo)

ES_CAMPO(reg,campo)\texttt{ES\_CAMPO}(reg, campo)

Nombre

ES_CAMPO - Verifica si un registro contiene un campo.

Sinopsis

es = ES_CAMPO(reg, campo)

Descripcion

Comprueba si un registro o subtabla contiene una clave determinada.

Se usa para escritura segura, introspeccion y validacion previa antes de leer o modificar datos.

Comportamiento

  • Recibe un registro y un nombre de campo.
  • Retorna VERDADERO si la clave existe.
  • Retorna FALSO si el campo no esta presente.

Funciones API relacionadas

  • CLAVES()
  • CLAVES_INFO()
  • TIPO_DATO()
  • AGREGAR()
  • ELIMINAR()

Parámetros

ParámetroTipoDescripción
regTABLARegistro de entrada.
campoSTRINGNombre del campo.

Valor de retorno

LOGICO - VERDADERO si el campo existe en el registro; FALSO en caso contrario.

Ejemplo

ejemplo.blox
INCLUIR "tablas.api"


FUNCION PRINCIPAL
INICIO "Test de tabla basica"

    NUMERICO i
    TABLA persona, reg


    persona = {
        nombre = "Francisco",
        edad = 30,
        direccion = {ciudad = "Asuncion", barrio = "Mburucuya"}
    }

    persona = {
        nombre = "Juan",
        edad = 21,
        direccion = {Ciudad = "Encarnacion"}
    }

    reg = {
        apellido = "Ramirez",
        documento = "8346837"
    }

    // AGREGAR un registro tipo variable a la tabla 
       AGREGAR(persona, reg[1])

    IMPRIMIR("IMPRIME TABLA CON n ELEMENTOS\n")

    i = 1
    MIENTRAS (i <= persona.dim) HACER
        SI (ES_CAMPO(persona[i], "nombre")) ENTONCES
            IMPRIMIR("# ", i, " - ", persona[i].nombre)
        SINO
            IMPRIMIR("# ", i, " - ", persona[i].apellido)
            IMPRIMIR(" (Campo \"nombre\" no existe en registro #" + i, ")")
        FIN_SI

        IMPRIMIR("\n")

        i = i + 1
    FIN_MIENTRAS

FINAL