> ## Documentation Index
> Fetch the complete documentation index at: https://docs.abbyy.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Funciones globales

> Funciones globales en FlexiLayout language: funciones auxiliares matemáticas y de cadena, consultas a bases de datos como ExecuteSQL, funciones de validación y llamadas a RecognizeText.

<Warning>
  No utilice variables como argumentos de funciones globales que interactúan con archivos externos o bases de datos.
</Warning>

<table width="100%">
  <tbody>
    <tr>
      <td>
        <p>
          <strong>Definición</strong>
        </p>
      </td>

      <td>
        <p>
          <strong>Descripción</strong>
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Area Max( Area a1, Area a2 )</p>
      </td>

      <td>
        <p>Devuelve el valor máximo entre a1 y a2.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Area Min( Area a1, Area a2 )</p>
      </td>

      <td>
        <p>Devuelve el valor mínimo entre a1 y a2.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Area ObjectsArea( Rect, ImageObjectType )</p>
      </td>

      <td>
        <p>El área de los objetos del tipo especificado en el rectángulo indicado. Utiliza coordenadas globales.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Area ObjectsIntersectionArea( Rect, ImageObjectType )</p>
      </td>

      <td>
        <p>
          El área de los objetos del tipo especificado dentro del rectángulo especificado y el área de intersección de los objetos del tipo especificado que exceden el rectángulo especificado. Funciona en coordenadas
          globales.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Distancia abs( Distancia )</p>
      </td>

      <td>
        <p>Devuelve el valor absoluto de una distancia.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Distancia AverageLineHeight()</p>
      </td>

      <td>
        <p>La altura promedio de las líneas de texto de la página.</p>

        <p>
          <strong>¡Importante!</strong> La función solo puede usarse si el número máximo y mínimo de páginas del documento están establecidos en 1; es decir, el documento detectado tiene solo una página. Si usa
          esta función para un documento de varias páginas, la coincidencia de un FlexiLayout devolverá un error. Para un documento de varias páginas, use el método correspondiente del tipo <strong>Page</strong>: Page( N ).
          AverageLineHeight.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Distancia AverageInterLineInterval()</p>
      </td>

      <td>
        <p>La distancia media entre las líneas de texto de la página.</p>

        <p>
          <strong>¡Importante!</strong> Esta función solo puede utilizarse si el número máximo y mínimo de páginas del documento está establecido en 1; es decir, el documento detectado tiene solo una página. Si usa
          esta función para un documento de varias páginas, la coincidencia de un FlexiLayout devolverá un error. Para un documento de varias páginas, use el método correspondiente del tipo <strong>Page</strong>: Page( N ).
          AverageInterLineInterval.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Distance Min( Distance d1, Distance d2 )</p>
      </td>

      <td>
        <p>Devuelve el valor mínimo entre d1 y d2.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Distance Max( Distance d1, Distance d2 )</p>
      </td>

      <td>
        <p>Devuelve el valor máximo entre d1 y d2.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Int abs( Int )</p>
      </td>

      <td>
        <p>Devuelve el valor absoluto de un número.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Int Ceil( Real )</p>
      </td>

      <td>
        <p>Devuelve el entero más pequeño que es mayor o igual que el argumento.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Int Floor( Real )</p>
      </td>

      <td>
        <p>Devuelve el mayor entero que no supera el argumento.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Int LogicToInt( Logic value )</p>
      </td>

      <td>
        <p>
          Devuelve "1" si el valor es <strong>true</strong> y "0" si es <strong>false</strong>.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Int Max( Int n1, Int n2 )</p>
      </td>

      <td>
        <p>Devuelve el valor máximo entre n1 y n2.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Int Min( Int n1, Int n2 )</p>
      </td>

      <td>
        <p>Devuelve el menor valor entre n1 y n2.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Int PagesCount()</p>
      </td>

      <td>
        <p>Devuelve el número de páginas del documento.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <a id="record" />Int RecordCount( String connectionString, String selectString )
        </p>
      </td>

      <td>
        <p>
          Devuelve el número de registros de la solicitud. P. ej., consulte el ejemplo de la función <strong>Record</strong> a continuación.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <a id="round" />Int Round( Real )
        </p>
      </td>

      <td>
        <p>Devuelve el entero más cercano al valor del argumento.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Int StrToInt( String inputString, Logic isStrictMode = false )</p>
      </td>

      <td>
        <p>
          Devuelve el resultado de convertir el valor de cadena inputString en un número entero. Se ignoran los espacios. El parámetro isStrictMode (de forma predeterminada = <strong>false</strong>) define si la
          cadena puede incluir caracteres distintos de dígitos y espacios. Si isStrictMode = false y la cadena contiene un carácter que no es un dígito ni un espacio, se omiten todos los caracteres posteriores.
          Se recomienda comprobar si la conversión es posible antes de invocarla. Para ello, use la función IsInt.
        </p>

        <details>
          <summary>P. ej.</summary>
          <p>Int integralValue;</p>
          <p>String valueFromDocument = SearchElements.StaticText.Value();</p>
          <p>Logic canBeConverted = IsInt(valueFromDocument, true);if(canBeConverted) then integralValue = StrToInt(valueFromDocument, true);</p>
        </details>
      </td>
    </tr>

    <tr>
      <td>
        <p>Int StrToIntFuzzy( String, Logic isStrictMode = false )</p>
      </td>

      <td>
        <p>
          Devuelve el resultado de convertir el valor de la cadena inputString en un entero, teniendo en cuenta posibles errores de Recognition en la cadena (consulte la descripción de la función IsIntFuzzy
          para obtener más Details). Los espacios se ignoran durante la conversión. El parámetro isStrictMode (que está establecido en false de forma Predeterminada) determina si la cadena puede contener caracteres distintos de dígitos,
          caracteres que se parecen a dígitos o espacios. Si isStrictMode = false y se encuentra un carácter que no es un dígito, se ignorarán todos los caracteres posteriores. Antes de iniciar la
          conversión, recomendamos llamar a la función IsIntFuzzy para comprobar si la cadena puede convertirse de forma segura.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Lógica ExecuteSQL( cadena connectionString, cadena queryString )</p>
      </td>

      <td>
        <p>Ejecuta la consulta SQL del usuario, queryString. El argumento connectionString define la cadena de conexión de la base de datos.</p>

        <details>
          <summary>P. ej.</summary>

          <pre>
            <code>ExecuteSQL("Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\FCS\Companies.mdb", "UPDATE Companies SET total=0");</code>
          </pre>
        </details>
      </td>
    </tr>

    <tr>
      <td>
        <p>Lógica IsInt( String inputString, Lógica isStrictMode = false )</p>
      </td>

      <td>
        <p>
          Comprueba que la cadena inputString se pueda convertir de forma segura en un número entero. El parámetro isStrictMode (de forma predeterminada = <strong>false</strong>) define si la cadena puede incluir
          caracteres distintos de dígitos y espacios.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Logic IsIntFuzzy( String inputString, Logic isStrictMode = false )</p>
      </td>

      <td>
        <p>
          Comprueba si la cadena inputString puede convertirse de forma segura en un entero, teniendo en cuenta los posibles errores de Recognition en la cadena. Este tipo de conversión convierte en enteros no solo
          los dígitos (es decir, los caracteres "0123456789"), sino también los caracteres que se parecen a dígitos (por ejemplo, “oOBsl”). El parámetro isStrictMode (que está establecido en false de forma Predeterminada) determina si la cadena puede
          contener caracteres distintos de los dígitos, de los caracteres que se parecen a dígitos o de espacios.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Lógica IsOnSameLine( Hypothesis, Hypothesis )</p>
      </td>

      <td>
        <p>Comprueba si las hipótesis se superponen verticalmente.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Lógica IsReal( String numberString, String separators = “.,”, Lógica isStrictMode = false )</p>
      </td>

      <td>
        <p>
          Comprueba que la cadena inputString se pueda convertir en un número real. La lista de separadores decimales permitidos se establece mediante el argumento “separators”. De forma predeterminada, se permiten el punto, la coma y
          el separador definido por el usuario (configurado en la configuración regional del sistema operativo; consulte RegionalDecimalPoint). El parámetro isStrictMode (de forma predeterminada = <strong>false</strong>) define si la cadena
          puede incluir caracteres distintos de dígitos, espacios y separadores.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Lógica IsRealFuzzy( String, String separators = defaultDecimalSeparators, Lógica isStrictMode = false )</p>
      </td>

      <td>
        <p>
          Comprueba si la cadena inputString puede convertirse de forma segura en un número real, teniendo en cuenta posibles errores de reconocimiento en la cadena. (consulte la descripción de la función IsIntFuzzy para
          obtener más detalles). La lista de separadores decimales permitidos se especifica mediante el argumento “separators”. De forma predeterminada, se permiten los siguientes separadores: punto, coma y el separador especificado en la
          configuración regional del sistema operativo del usuario (consulte RegionalDecimalPoint). El parámetro isStrictMode (que está establecido en false de forma predeterminada) determina si la cadena puede contener caracteres
          distintos de dígitos, caracteres que parecen dígitos, espacios o separadores.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Lógica TestDBConnection( String connectionString )</p>
      </td>

      <td>
        <p>Comprueba la conexión con la base de datos. El argumento connectionString contiene la cadena de conexión.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Logic TestDBSelect( String connectionString, String selectString )</p>
      </td>

      <td>
        <p>
          Comprueba si se puede acceder a la base de datos y si la consulta SQL es correcta (si existen la tabla y el campo especificados). El argumento connectionString contiene la cadena de conexión. El argumento selectString
          contiene la consulta SQL, que comienza con el comando SELECT.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Lógica TestFileAccess( String fileName )</p>
      </td>

      <td>
        <p>Comprueba si se puede acceder al archivo de texto.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Lógica WriteToFile( String filename, String text )</p>
      </td>

      <td>
        <p>Añade la cadena «text» al archivo «filename». Si no existe un archivo con ese nombre, se creará uno nuevo.</p>

        <details>
          <summary>P. ej.</summary>
          <p>WriteToFile("D:\FCS\logFile.txt", SearchElements.Tag.Value());</p>
        </details>
      </td>
    </tr>

    <tr>
      <td>
        <p>Page Page( Int PageNumber )</p>
      </td>

      <td>
        <p>Devuelve el tipo que describe la página especificada.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Quality ValidateByDB( String word, String connectionString, String selectString, Int maxErrors, Real maxErrorsPart, Logic ignoreSpaces, Int maxRecordsCount = 1000 )</p>
      </td>

      <td>
        <p>
          Comprueba la palabra especificada comparándola con una base de datos (consulte <a href="/es/flexi-capture/fls/language/bd-textfiles">Uso de bases de datos y archivos de texto en FlexiLayout language</a>). El
          argumento connectionString establece la cadena de conexión a la base de datos. El argumento selectString establece una consulta SQL que comienza con el comando SELECT. El argumento maxErrors establece el
          número máximo absoluto de errores en la palabra, y maxErrorsPart establece el número máximo relativo de errores en la palabra. ignoreSpaces determina si los espacios deben tenerse en
          cuenta al comparar. Para acelerar la búsqueda, solo se utilizan las primeras maxRecordsCount variantes (la configuración predeterminada es 1000). Devuelve la calidad de coincidencia entre la palabra especificada y
          la mejor coincidencia de la base de datos.
        </p>

        <details>
          <summary>P. ej.</summary>

          <p>
            <strong>if</strong> not IsNull then ValidateByDB(Value(), "Provider=Microsoft.Jet.OLEDB.4.0; Data Source=D:\FCS\Companies.mdb", "SELECT Name FROM Companies",{" "}
            <strong>1</strong>, <strong>0.3</strong>, <strong>true</strong>, <strong>500</strong>);
          </p>
        </details>

        <p>
          <strong>Nota.</strong> Esta función puede usarse en el campo <strong>Advanced Post-Search Relations</strong> para la coincidencia difusa del valor de cadena de una hipótesis devuelta por el
          método Value con las variantes especificadas.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Quality ValidateByFile( String word, String fileName, Int maxErrors, Real maxErrorsPart, Logic ignoreSpaces, Int maxRecordsCount = 1000 )</p>
      </td>

      <td>
        <p>
          Comprueba la palabra especificada comparándola con las variantes del archivo fileName, que enumera posibles variantes de frases (consulte{" "}
          <a href="/es/flexi-capture/fls/language/bd-textfiles">Uso de bases de datos y archivos de texto en FlexiLayout language</a>). El argumento maxErrors establece el número máximo absoluto de errores en la
          palabra, y maxErrorsPart establece el número máximo relativo de errores en la palabra. ignoreSpaces determina si los espacios deben tenerse en cuenta al comparar. Devuelve la
          calidad de la coincidencia entre la palabra especificada y la mejor coincidencia del archivo de texto. Para acelerar la búsqueda, solo se usan las primeras maxRecordsCount variantes (el valor predeterminado es 1000).
        </p>

        <details>
          <summary>P. ej.</summary>

          <pre>
            <code>if not IsNull then ValidateByTextFile(Value(), "Companies.txt", 1, 0.3, true, 500);</code>
          </pre>
        </details>

        <p>
          <strong>Nota.</strong> Esta función puede usarse en el campo<strong> Advanced Post-Search Relations</strong> para el emparejamiento difuso del valor de cadena de una hipótesis devuelta por el método Value
          con las variantes especificadas.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Quality ValidateByText( String word, String variants, Int maxErrors, Real maxErrorsPart, Logic ignoreSpaces )</p>
      </td>

      <td>
        <p>
          Comprueba la palabra especificada comparándola con las variantes indicadas. El argumento maxErrors establece el número máximo absoluto de errores en la palabra, y maxErrorsPart establece el
          número máximo relativo de errores en la palabra. ignoreSpaces determina si los espacios deben tenerse en cuenta al comparar. Devuelve el grado de coincidencia entre la palabra especificada y
          la mejor coincidencia entre las variantes indicadas en el argumento variants.
        </p>

        <details>
          <summary>P. ej.</summary>

          <pre>
            <code>if not IsNull then ValidateByText (Value(), "ABBYY|Flexi Capture", 1, 0.3, true);</code>
          </pre>
        </details>

        <p>
          <strong>Nota.</strong> Esta función puede usarse en el campo <strong>Advanced Post-Search Relations</strong> para la coincidencia aproximada del valor de tipo cadena de una hipótesis devuelta por el método Value
          con las variantes especificadas.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Real Min( Real d1, Real d2 )</p>
      </td>

      <td>
        <p>Devuelve el valor mínimo de d1 y d2.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Real Max( Real d1, Real d2 )</p>
      </td>

      <td>
        <p>Devuelve el valor máximo entre d1 y d2.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Real StrToReal( String numberString, String separators = “.,”, Logic isStrictMode = false )</p>
      </td>

      <td>
        <p>
          Devuelve el resultado de convertir la cadena inputString en un número real. Se omiten los espacios. El parámetro isStrictMode (de forma predeterminada = <strong>false</strong>) define si la cadena puede
          incluir caracteres distintos de dígitos, espacios y separadores. Si isStrictMode = false y la cadena contiene un segundo separador decimal o un carácter que no sea un dígito ni un espacio, se omiten todos los
          caracteres posteriores. Se recomienda comprobar si la conversión es posible antes de invocarla. Para ello, use la función IsReal.
        </p>

        <details>
          <summary>P. ej.</summary>

          <p>
            Real realValue;

            <br />

            <strong>String</strong> valueFromDocument = SearchElements.StaticText.Value();

            <br />

            Logic canBeConverted = IsReal(valueFromDocument, ".");<strong>if</strong>(canBeConverted) then realValue = StrToReal(valueFromDocument, ".");
          </p>
        </details>
      </td>
    </tr>

    <tr>
      <td>
        <p>Real StrToRealFuzzy( String, String separators = defaultDecimalSeparators, Logic isStrictMode = false )</p>
      </td>

      <td>
        <p>
          Devuelve el resultado de convertir el valor de la cadena inputString en un número real, teniendo en cuenta posibles errores de reconocimiento en la cadena (consulte la descripción de la
          función IsIntFuzzy para obtener más detalles). Los espacios se ignoran durante la conversión. El parámetro isStrictMode (establecido en false de forma predeterminada) determina si la cadena puede contener caracteres distintos de dígitos,
          caracteres que parezcan dígitos, espacios o separadores. Si isStrictMode = false y se encuentra un segundo separador decimal o un carácter distinto de un dígito, se ignorarán todos los caracteres posteriores
          a este. Antes de iniciar la conversión, recomendamos llamar a la función IsRealFuzzy para comprobar si la cadena puede convertirse de forma segura.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Rect DocumentRect()</p>
      </td>

      <td>
        <p>Devuelve el rectángulo del documento completo (en coordenadas globales).</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Rect PageRect()</p>
      </td>

      <td>
        <p>El rectángulo de toda la imagen.</p>

        <p>
          <strong>¡Importante!</strong> La función solo puede usarse si el número máximo y el mínimo de páginas del documento están establecidos en 1; es decir, el documento detectado solo tiene una página. Si usa
          esta función para un documento de varias páginas, el emparejamiento de un FlexiLayout devolverá un error. En un documento de varias páginas, esta función solo puede usarse en la sección de relaciones de búsqueda previa. Consulte{" "}
          <a href="/es/flexi-capture/fls/language/search-functions">Funciones que limitan el área de búsqueda</a>.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Region FormRegion( RectArray included, RectArray excluded )</p>
      </td>

      <td>
        <p>Crea una región que incluye el array de rectángulos incluidos y excluye el de rectángulos excluidos.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>StringArray ReadFromXML( String filename, String xPathQuery )</p>
      </td>

      <td>
        <p>Lee el array de cadenas del archivo XML “filename”. Las cadenas se obtienen al evaluar la consulta xPath “xPathQuery”.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>StringArray Record( String connectionString, String selectString, Int index )</p>
      </td>

      <td>
        <p>Recupera los datos de un record específico. Para una celda con valor NULL, se devuelve una cadena vacía.</p>

        <details>
          <summary>P. ej.</summary>

          <p>
            <strong>String</strong> connectionString = "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=D:\1.mdb;";

            <br />

            <strong>String</strong> selectString = "SELECT SearchText, LeftPos, TopPos, RightPos, BottomPos from SearchPositions WHERE ElementName = 'DocID'";

            <br />

            PrepareRecordset(connectionString, selectString);

            <br />

            Int recordCount = RecordCount(connectionString, selectString);

            <br />

            <strong>String</strong> searchString;

            <br />

            RectArray searchArea = RectArray();

            <br />

            <strong>for</strong> recordIndex from <strong>0</strong> to recordCount - <strong>1</strong> \{

            <br />

            StringArray recordArray = Record(connectionString, selectString, recordIndex);

            <br />

            <strong>if</strong> recordIndex == <strong>0</strong> then \{

            <br />

            searchString = recordArray.GetAt(<strong>0</strong>);

            <br />

            } <strong>else</strong> \{

            <br />

            searchString = searchString + "|" + recordArray.GetAt(<strong>0</strong>);

            <br />

            }

            <br />

            searchArea.Add(Rect(StrToInt(recordArray.GetAt(<strong>1</strong>)) \* dt, StrToInt(recordArray.GetAt(<strong>2</strong>)) \* dt,StrToInt(recordArray.GetAt(<strong>3</strong>)) \*
            dt, StrToInt(recordArray.GetAt(<strong>4</strong>)) \* dt));

            <br />

            }

            <br />

            SearchText: searchString;

            <br />

            RSA: searchArea;
          </p>

          <p>
            En este ejemplo, se extraen de la tabla <em>SearchPositions</em> una cadena de búsqueda, <em>SearchText</em>, y las coordenadas de los rectángulos del área de búsqueda: <em>LeftPos</em>, <em>TopPos</em>, <em>RightPos</em>, <em>BottomPos</em>. El valor del campo <em>SearchText</em> se combina en una cadena de búsqueda mediante el operador "|". Las coordenadas <em>LeftPos</em>,{" "}
            <em>TopPos</em>, <em>RightPos</em> y <em>BottomPos</em> de los campos de la tabla se usan para generar coordenadas en dots para los rectángulos. Las coordenadas generadas se agregan al
            área de búsqueda del elemento <em>DocID</em>.
          </p>
        </details>
      </td>
    </tr>

    <tr>
      <td>
        <p>Cadena Chr( Int )</p>
      </td>

      <td>
        <p>Devuelve una cadena a partir del código Unicode especificado del carácter (el código debe escribirse en sistema decimal).</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>String LCase( String )</p>
      </td>

      <td>
        <p>Devuelve una cadena obtenida a partir de la cadena especificada al convertir todos sus caracteres a minúsculas.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>String ReadSingleStringFromXML( String filename, String xPathQuery )</p>
      </td>

      <td>
        <p>Lee la cadena del archivo XML “filename”. La cadena se obtiene al evaluar la consulta xPath “xPathQuery” proporcionada.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>String RealToStrVariants( Real value, String fractionalPartSeparators, Int maxDigitsCountInFractionalPart = 2 )</p>
      </td>

      <td>
        <p>
          Crea representaciones en forma de cadena, separadas por una barra vertical (“|”), para el número real especificado “value”, los separadores decimales fractionalPartSeparators y el número máximo de dígitos en la
          parte fraccionaria. Por ejemplo, para los argumentos 19, ".,", 2 el resultado es "19|19.0|19.00|19,0|19,00".
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>
          <a id="string-str" />String Str( Int );
        </p>

        <p>String Str( Logic );</p>
        <p>String Str( Real );</p>
        <p>String Str( XInterval );</p>
        <p>String Str( YInterval );</p>
        <p>String Str( DistInterval );</p>
        <p>String Str( FuzzyRect );</p>
        <p>String Str( Hypothesis );</p>
        <p>String Str( RectArray );</p>
        <p>String Str( Region );</p>
        <p>String Str( Area );</p>
        <p>String Str( Quality );</p>
        <p>String Str( Distance );</p>
        <p>String Str( PageInterval ).</p>
      </td>

      <td>
        <p>Representación como cadena de un tipo de dato.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>String RemoveSpaces( String )</p>
      </td>

      <td>
        <p>Devuelve una cadena obtenida de la cadena especificada tras eliminar todos los espacios.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>String UCase( String )</p>
      </td>

      <td>
        <p>Devuelve una cadena obtenida a partir de la cadena especificada al convertir todos sus caracteres en mayúsculas.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void PrepareRecordset( String connectionString, String selectString, Int maxRecordsCount = 1000 )</p>
      </td>

      <td>
        <p>
          Prepara la solicitud para acceder rápidamente. Por ejemplo, consulte más abajo el ejemplo de la función <strong>Record</strong>.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void SetPagesCount( Int pagesCount )</p>
      </td>

      <td>
        <p>
          Establece el número de páginas del documento. Se utiliza en las secciones “Pre-search” o “Post-search advanced code”. Esta función debe invocarse desde los elementos Header o Footer o sus
          subelementos. La función se aplica a documentos que no tienen el indicador de fin de documento (el pie de página no existe o es opcional).
        </p>

        <details>
          <summary>P. ej.</summary>
          <p>Si se encontró el elemento indicado, el documento termina en la página siguiente:</p>

          <p>
            <strong>if</strong> IsFound then SetPagesCount(PagesCount + <strong>1</strong>);
          </p>

          <p>El número de páginas del documento se puede ver en el campo PageNum:</p>

          <p>
            <strong>if</strong> PageNum.IsFound and IsInt(PageNum.Value) then SetPagesCount: StrToInt(PageNum.Value);
          </p>
        </details>
      </td>
    </tr>

    <tr>
      <td>
        <p>XCoordinate Min( XCoordinate x1, XCoordinate x2 )</p>
      </td>

      <td>
        <p>Devuelve el valor mínimo entre x1 y x2.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>XCoordinate Max( XCoordinate x1, XCoordinate x2 )</p>
      </td>

      <td>
        <p>Devuelve el valor máximo entre x1 y x2.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>XCoordinate MiddleBetween( XCoordinate x1, XCoordinate x2 )</p>
      </td>

      <td>
        <p>Devuelve la coordenada X calculada como ( x1+ x2 ) / 2.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>XCoordinate Between( XCoordinate x1, XCoordinate x2, Real ratio )</p>
      </td>

      <td>
        <p>Devuelve la coordenada X calculada como x1 + ( x2 – x1 ) \* ratio.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>YCoordinate Min( YCoordinate y1, YCoordinate y2 )</p>
      </td>

      <td>
        <p>Devuelve el valor mínimo entre y1 e y2.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>YCoordinate Max( YCoordinate y1, YCoordinate y2 )</p>
      </td>

      <td>
        <p>Devuelve el valor máximo entre y1 e y2.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>YCoordinate MiddleBetween( YCoordinate y1, YCoordinate y2 )</p>
      </td>

      <td>
        <p>Devuelve un YInterval calculado como ( y1+ y2 ) / 2.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>YCoordinate Between( YCoordinate y1, YCoordinate y2, Real ratio )</p>
      </td>

      <td>
        <p>Devuelve un YInterval calculado como y1+ ( y2 – y1 ) \* ratio.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>XInterval MiddleBetween( Xinterval x1, XInterval x2 )</p>
      </td>

      <td>
        <p>Devuelve un XInterval calculado como ( x1+ x2 ) / 2.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>XInterval Between( Xinterval x2, Xinterval x2, Real ratio )</p>
      </td>

      <td>
        <p>Devuelve un XInterval calculado como x1+ ( x2 – x1 ) \* ratio.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>YInterval MiddleBetween( Yinterval y1, Yinterval y2 )</p>
      </td>

      <td>
        <p>Devuelve un YInterval calculado como ( y1+ y2 ) / 2.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>YInterval Between( Yinterval y1, Yinterval y2, Real ratio )</p>
      </td>

      <td>
        <p>Devuelve un YInterval calculado como y1+ ( y2 – y1 ) \* ratio.</p>
      </td>
    </tr>

    <tr>
      <td colspan="2">
        <p>
          <em>
            Las siguientes funciones invocan el prerreconocimiento durante el emparejamiento de FlexiLayout. Las líneas de texto que se cruzan con un área de prerreconocimiento determinada se reconocen en su totalidad (incluidas las
            partes de la línea que quedan fuera de los límites del área)
          </em>

          .
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RecognizeText()</p>
      </td>

      <td>
        <p>Reconoce el texto en el rectángulo relativo especificado en la propiedad “Área de prerreconocimiento” de la configuración del proyecto. En el reconocimiento se incluyen todas las páginas del documento.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RecognizeText( IntArray pages )</p>
      </td>

      <td>
        <p>
          Reconoce el texto en el rectángulo relativo especificado en la propiedad «Área de prerreconocimiento» de la configuración del proyecto. En el reconocimiento solo se incluyen las páginas especificadas en la parte «pages» de la cadena.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RecognizeText( SearchAreaPageSetType pageSetType )</p>
      </td>

      <td>
        <p>
          Reconoce el texto en el rectángulo relativo especificado en la propiedad “Área de prerreconocimiento” de la configuración del proyecto. Solo se
          incluyen en el reconocimiento las páginas especificadas por el componente “pageSetType” de la cadena.
        </p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RecognizeText( Rect rect )</p>
      </td>

      <td>
        <p>Reconoce el texto en el rectángulo «rect».</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RecognizeText( Rect rect, IntArray pages )</p>
      </td>

      <td>
        <p>Reconoce texto en el rectángulo “rect”. Solo se incluyen en el reconocimiento las páginas especificadas en la parte “pages” de la cadena.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RecognizeText( Rect rect, SearchAreaPageSetType pageSetType )</p>
      </td>

      <td>
        <p>Reconoce texto en el rectángulo “rect”. Solo en las páginas del documento especificadas por “pageSetType”.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RecognizeText( RectArray rectArray )</p>
      </td>

      <td>
        <p>Reconoce el texto del array de rectángulos “rectArray”.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RecognizeText( RectArray rectArray, IntArray pages )</p>
      </td>

      <td>
        <p>Reconoce el texto en el array de rectángulos “rectArray”. Solo se incluyen en el reconocimiento las páginas especificadas por la parte “pages” de la cadena.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RecognizeText( RectArray rectArray, SearchAreaPageSetType pageSetType )</p>
      </td>

      <td>
        <p>Reconoce el texto en el array de rectángulos «rectArray». En el reconocimiento, solo se incluyen las páginas especificadas por la parte «pageSetType» de la cadena.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RecognizeText( Region region )</p>
      </td>

      <td>
        <p>Reconoce el texto en la región «region».</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RecognizeText( Region region, IntArray pages )</p>
      </td>

      <td>
        <p>Reconoce texto en la región “region”. Solo se incluyen en el reconocimiento las páginas especificadas por la parte “pages” de la cadena.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>Void RecognizeText( Region region, SearchAreaPageSetType pageSetType )</p>
      </td>

      <td>
        <p>Reconoce texto en la Region “region”. Solo se incluyen en el reconocimiento las páginas especificadas por la parte “pageSetType” de la cadena.</p>
      </td>
    </tr>

    <tr>
      <td>
        <p>RectArray RecognizedRects()</p>
      </td>

      <td>
        <p>Una función de depuración que permite imprimir un array de rectángulos ya reconocidos.</p>
      </td>
    </tr>
  </tbody>
</table>
