funcion LeerRegistroOp(   

NombreFichero: cadena;

CamposCondicion: tabla de cadena;

Operadores: tabla de entero;

ValoresCondicion: tabla de variante;

var IdRegistro: entero;

EsGenerica: booleano = Falso)

:booleano;

 

Mismo funcionamiento que LeerRegistro pero permite indicar un vector de Operadores para que las comparaciones puedan ser de diversos tipos.


Al igual que LeerRegistro, lee el primer registro del fichero NombreFichero que cumple todas las condiciones y lo añade a una lista en memoria, devolviendo en IdRegistro un identificador que permite su acceso posterior utilizando las funciones relacionadas AsignarValorRegistro, ValorRegistro, etc.

 

Esta función, adicionalmente, permite indicar mediante la tabla Operadores la comparación a realizar entre cada elemento de CamposCondicion y el correspondiente de ValoresCondicion.

Parámetros

·         NombreFichero: Mismo significado que en  LeerRegistro.

·         CamposCondicion: Mismo significado que en  LeerRegistro.

·         Operadores: Cada posición indica cómo se comparará el CamposCondicion y el ValoresCondicion equivalentes, según los siguientes valores:

0 à CamposCondicion = ValoresCondicion.

1 à CamposCondicion <> ValoresCondicion.

2 à CamposCondicion > ValoresCondicion.

3 à CamposCondicion < ValoresCondicion.

4 à CamposCondicion >= ValoresCondicion.

5 à CamposCondicion <= ValoresCondicion.

·         ValoresCondicion: Mismo significado que en  LeerRegistro.

·         IdRegistro: Mismo significado que en  LeerRegistro.

·         EsGenerica: Mismo significado que en  LeerRegistro.

Valor devuelto

Cierto, si ha encontrado un registro que cumpliera las condiciones indicadas y lo ha cargado en memoria, y Falso en caso contrario.

Equivalencia en inglés

ReadRecordOp

En re-ejecuciones silenciosas y auto-recuperaciones

No varía su funcionamiento.

Temas relacionados

·         Tutorial >> Operar con la base de datos >> Nombres de ficheros y códigos de campos

·         Tutorial >> Operar con la base de datos >> Correspondencia de los tipos de datos

·         Tutorial >> Operar con la base de datos >> Funciones de gestión de registros

·         Tutorial >> Operar con la base de datos >> Funciones de gestión de registros >> Gestionar todos los registros que cumplen una determinada condición

·         Tutorial >> Cómo ejecuta OriGn los scripts >> Casos conflictivos y su solución >> Creación de registros y otros cambios en ficheros

Ver también

Ejemplo

 
  // buscar un contacto cuyo campo C1 contenga el valor 'Mujer'
  // y cuyo campo C2 NO contenga el valor 'Barcelona'.
  si LeerRegistroOp('CONTACTO', ['C1', 'C2'], [0, 1], 
                    ['Mujer', 'Barcelona'], IdRegistro) entonces 
  inicio
    Aviso('Fuera de Barcelona hay al menos una mujer');
  fin;