# Fielding

La ficha Fielding permite crear y modificar gráficamente los argumentos «Cadena de campo» y «Definiciones de campo» de la función OCRMax. Los valores resultantes se insertan en la función como cadenas literales.

Fielding proporciona la funcionalidad para verificar y corregir cadenas, devolviendo un conjunto óptimo de cadenas concordantes válidas. Los dos usos principales de Fielding son:

- Verificación de los resultados del reconocimiento óptico de caracteres (OCR, por sus siglas en inglés) en la que se determina si la cadena devuelta es correcta o no sobre la base de los parámetros «Cadena de campo» y «Definiciones de campo».
- Corrección de los resultados del OCR que se realiza, cuando la cadena devuelta no se corresponde con la lista de resultados aceptables. Se intenta entonces encontrar una cadena aceptable sobre la base de lo que permite el campo más próximo a la cadena devuelta.

Un caso de uso típico de Fielding se da con cadenas que contienen caracteres de prefijo y/o sufijo, pudiéndose ignorar con Fielding dichos caracteres de prefijo o sufijo. En este caso, los parámetros «Cadena de campo» y «Definiciones de campo» determinan el desplazamiento de la posición de la cadena en la RDI.

#### Cadena de campo

Especifica el número de caracteres contenido en la cadena de caracteres. La entrada Cadena de campo puede contener cualquier carácter alfanumérico que admite el cuadro de diálogo de introducción de texto, es decir, (A - Z), (a - z), (0 - 9), guiones (-), puntos (.) y espacios ( ).

A cada carácter en la Cadena de campo le corresponde una posición de campo indexada entre 0 y 31. La Cadena de campo debe contener por lo menos tantas posiciones como caracteres hay en la cadena para que sea considerada como pase en la lectura (es decir, si hay 10 caracteres, pero en Cadena de campo se especifican únicamente 9 caracteres, se devolverán los 9 que mejor coinciden. Sin embargo, si hay 8 caracteres y Cadena de campo define 9 caracteres, la función dará #ERR). De forma predeterminada, cada posición en la Cadena de campo se representa con un carácter de asterisco (*) o comodín alfanumérico. Esto significa que cualquier carácter es válido en cualquier posición de la cadena.

Sin embargo, se puede establecer que en una determinada posición de la Cadena de campo sólo pueda haber un subconjunto de caracteres. Esto aumenta el rendimiento y la fiabilidad, ya que no se tendrán que considerar durante la lectura los caracteres excluidos para una determinada posición.

La entradas predefinidas para Cadena de campo son:

Entrada en cadena de campo | Descripción | Caracteres válidos
--- | --- | ---
* | Comodín | Cualquier carácter entrenado en la fuente.
N | Numérico | 0123456789
A | Alfabético en mayúscula | ABCDEFGHIJKLMNOPQRSTUVWXYZ
a | Alfabético en minúscula | abcdefghijklmnopqrstuvwxyz
H | Hexadecimal, alfabético en mayúscula y numérico | 0123456789ABCDEF
h | Hexadecimal, alfabético en minúscula y numérico | 0123456789abcdef
O | Octal | 01234567

Ejemplo 1 de cadena de campo

Si Cadena de campo es **********AN, cualquier carácter de la fuente será válido en las primeras 10 posiciones de la Cadena de campo. Pero en la 11ª posición se considerarán únicamente caracteres alfabéticos en mayúsculas durante la lectura. En la 12ª posición se considerarán únicamente caracteres numéricos.

Ejemplo 2 de cadena de campo

La fuente solo contiene los caracteres numéricos 0-9 y /. Si Cadena de campo es NN/NN/NN, se considerarán únicamente caracteres numéricos en las posiciones primera y segunda, cuarta y quinta, séptima y octava. En las posiciones tercera y sexta, se considerará únicamente la barra inclinada hacia la derecha (/).

Pero si Cadena de campo especifica NN/NN/AA, la lectura dará #ERR debido a que la fuente especificada no contiene caracteres alfanuméricos.

#### Definiciones de campo

El parámetro Definiciones de campo permite crear opcionalmente entradas definidas por el usuario para Cadena de campo. Si se incluyen estas entradas en el parámetro Cadena de campo, se restringe la lista de caracteres válidos para las posiciones en las que se han insertado. Existen varias definiciones de campo predefinidas y, además, se pueden añadir otras definidas por el usuario. Las definiciones predefinidas se visualizan en gris y no se pueden borrar ni modificar; se pueden únicamente habilitar o deshabilitar. Las definiciones definidas por el usuario se visualizan en negro y se pueden borrar, agregar o modificar. Para agregar una definición de campo, pulse el botón Add New, asigne un icono para el carácter y luego una definición para el carácter.

Nota:

- El número de definiciones definidas por el usuario que se pueden agregar está limitado por la longitud de expresión de la función OCRMax (249).
- Cualquier definición definida por el usuario que esté deshabilitada al cerrarse la hoja de propiedades de OCRMax, se eliminará y no estará disponible cuando se vuelva a abrir la hoja de propiedades de la función.
- Si el parámetro «Definiciones de campo» en la ficha General se define como Referencias de celda, se deshabilitará la opción Definiciones de campo en la ficha Fielding y se visualizará el valor actual de la referencia de celda.

Los caracteres presentados para una entrada de Definiciones de campo deben estar contenidos en la fuente. Por ejemplo: #=123 es válido si 1, 2 y 3 están incluidos en la fuente entrenada por el usuario. Sin embargo, #=123 no sería válido si 1, 2 y 3 no estuviesen incluidos en la fuente.

Nota: Si se utiliza una de las entradas predefinidas (*, N, A, a, N, H, h, O) en el parámetro Definiciones de campo, se reasignará la lista de caracteres válidos en la nueva definición.

Ejemplo 1 de definiciones de campo

Si el valor de Definiciones de campo es #=123;$=3456;%=789 y el de Cadena de campo es #$%*******, entonces los únicos caracteres válidos en la primera posición son 1, 2 o 3. Los únicos caracteres válidos en la segunda posición son 3, 4, 5 o 6. Y en la tercera posición, solo son válidos 7, 8 o 9. En las posiciones cuarta a décima, cualquier carácter de la fuente es válido.

Ejemplo 2 de definiciones de campo

Si el valor del parámetro Definiciones de campo es #=123;$=3456;%=789, A=A y el de Cadena de campo es #$%******A, entonces los únicos caracteres que son válidos en la primera posición son 1, 2 o 3. Los únicos caracteres válidos en la segunda posición son 3, 4, 5 o 6. Y en la tercera posición, solo son válidos 7, 8 o 9. En las posiciones cuarta a novena, cualquier carácter de la fuente es válido. En la décima posición, se admite únicamente el carácter A, ya que la Definición de campo A=A reasigna la entrada predefinida de Cadena de campo.

#### Parámetros de «Cadena de campo»

- Coincidencia únicamente con los caracteres de la cadena de campo: Especifica si la función ha de considerar únicamente o no la coincidencia de los caracteres leídos con los indicados en el parámetro Cadena de campo.

Nota: Cuando el modo de inspección se establece en Lectura/Verificación, se comparará este parámetro con la cadena de texto especificada en el parámetro «Cadena de comparación».

- Cadena de longitud variable: Especifica si la «Cadena de campo» definida puede ser o no una subcadena contenida en la cadena completa de texto a leer. Si se encuentra una subcadena, la función devolverá la subcadena que mejor coincide.

Nota: Si el parámetro «Ajustes externos» se establece como una referencia a una función OCRMaxSettings, se deshabilitan los parámetros Coincidencia únicamente con los caracteres de la cadena de campo y Cadena de longitud variable.

- Longitud mínima: Si el parámetro Cadena de longitud variable está habilitado, entonces este parámetro especifica la longitud mínima aceptable de la cadena (0 - 100; por defecto = 1).
- Longitud máxima: Si el parámetro Cadena de longitud variable está habilitado, entonces este parámetro especifica la longitud máxima aceptable de la cadena (0 - 100; por defecto = 100).
- Índice de inicio máximo: Si el parámetro Cadena de longitud variable está habilitado, entonces este parámetro especifica las subsecuencias de Fielding a considerar y que deben comenzar en una posición no mayor que el valor de índice aquí especificado (0 - 100, por defecto = 100).
- Índice final mínimo: Si el parámetro Cadena de longitud variable está habilitado, entonces este parámetro especifica las subsecuencias de Fielding a considerar y que deben terminar en una posición no inferior al valor de índice aquí especificado (0 - 100, por defecto = 0).