Saltar navegación

Documentación de FlexPro 2025

Constantes

Las constantes que utiliza en FPScript están sujetas a reglas de sintaxis especiales, mediante las cuales FlexPro puede reconocer no solo el valor sino también el tipo de datos basándose en la notación.

Los enteros pueden escribirse en notación decimal, octal y hexadecimal. Los números octales se escriben con un cero a la izquierda y solo pueden contener dígitos del 0 al 7. Los números hexadecimales se introducen con la combinación 0x y pueden contener los dígitos 0 - 9 y las letras A - F. Las representaciones hexadecimal y octal son interesantes para los datos digitales porque existe una relación directa entre los dígitos y los bits que representan. Para los números octales, tres bits dan como resultado un dígito y para los números hexadecimales, cuatro bits dan como resultado un dígito. Tenga en cuenta que solo se trata de notaciones diferentes para enteros. Internamente, todos los enteros se almacenan en forma binaria.

FlexPro puede procesar números enteros con resolución de 16, 32 y 64 bits. Puede controlar la resolución añadiendo una "S" o "s" para "Short" o una "L" o "l" para "Long". Si se añade el sufijo "N" o "n", corresponde a enteros de 32 bits o enteros de 64 bits, según el formato en el que encaje la constante.

Algunos ejemplos de enteros de 64 bits son:

123s

Decimal

0427s

Octal

0x1afs

Hexadecimal

Algunos ejemplos de enteros de 32 bits son:

100000n, 12n

Decimal

01024341121, 0123

Octal

0x10A00FF, 0x1A, 0x1a

Hexadecimal

Algunos ejemplos de enteros de 64 bits son:

10000000000n, 12L

Decimal

071024341121, 0123L

Octal

0x1010A00FF, 0x1AL, 0x1aL

Hexadecimal

Los números en coma flotante constan de una mantisa con dígitos antes y después del decimal y un exponente opcional, que se introduce con e o E. Los números en coma flotante también pueden tener el valor Inválido. Este valor se representa como ?

FlexPro puede procesar números en coma flotante con una resolución de 32 y 64 bits. Los números en coma flotante de 32 bits tienen una precisión aproximada de siete decimales y los números en coma flotante de 64 bits, de quince. Aquí también puede controlar la resolución añadiendo una "S" o "s" para "Short" o una "L" o "l" para "Long". Si no añade un sufijo, siempre corresponde a números en coma flotante de 64 bits, por lo que se puede omitir el sufijo "L".

Nota El punto decimal (.) se utiliza siempre como separador decimal para el código FPScript, incluso si ha establecido como separador decimal la coma (,), utilizada en España, en las opciones de región e idioma del panel de control de Windows.

Algunos ejemplos de números en coma flotante de 32 bits son:

FlexPro no reconoce si se ha sobrepasado el rango de valores o la resolución. Si desea obtener números en coma flotante de 64 bits, debe omitir la "s".

Algunos ejemplos de números en coma flotante de 64 bits son:

En general, no se pueden utilizar espacios dentro de los números, ni siquiera entre la mantisa y el exponente. ¡Si se produce un desbordamiento durante un cálculo, FlexPro no puede reconocerlo! Debe asegurarse de que el rango de valores del tipo de datos es suficiente para realizar el cálculo.

Ejemplo:

1000s * 1000s

Genera un desbordamiento porque el resultado 1.000.000 no cabe en un entero de 16 bits. (Remedio: 1000n * 1000n)

Nota   El modo en que se interpretan los números decimales que no se han introducido con un sufijo o un punto decimal depende de la opción Interpretar números decimales sin punto decimal como números en coma flotante de la pestaña General del cuadro de diálogo de propiedades de la base de datos. La opción está activada por defecto, es decir, los números se interpretan como números en coma flotante de 64 bits. Este ajuste evita errores de redondeo accidentales que pueden producirse con la aritmética de enteros, por ejemplo, la división de enteros 1/2 devuelve como resultado 0 y no 0,5.

Los números complejos constan de una parte real y una parte imaginaria, separadas por comas y paréntesis o en el formato a + bi. Puede utilizar cualquiera de las notaciones anteriores para las constantes de la parte real y la parte imaginaria. Si esto da lugar a diferentes tipos de datos para la parte real y la parte imaginaria, estos se adaptan entre sí antes de combinarse para formar el número complejo, de modo que no haya pérdida de resolución. En FPScript, la coma (,) se utiliza siempre como separador de listas, incluso si ha establecido el punto y coma (;), que se utiliza habitualmente en España, como separador de listas en las opciones de región e idioma del panel de control de Windows.

Algunos ejemplos de números complejos son:

(1.23s, 1.234e-12s) , (1e+13, 0x1), (5.L, ?), 1 + 2i, -3.2 - 7.6i, 5.2i, ?i, 2s + 5si

Las cadenas se introducen como texto entre comillas. Existen secuencias de control especiales para caracteres especiales, como tabuladores y saltos de línea, que se introducen con el carácter '\'.

Nota   Si desea utilizar el propio carácter '\', debe escribirlo dos veces. La ruta del archivo C:\Datos.txt debe escribirse como la cadena "C:\\Datos.txt", por ejemplo.

Secuencia de control

Significa

\b

Retroceso (Backspace)

\f

Salto de página (Form feed)

\n

Salto de línea (New line)

\r

Retorno de carro (Carriage return)

\t

Tabulación horizontal (Horizontal tab)

\v

Tabulación vertical (Vertical tab)

\'

Comilla simple

\"

Comilla doble

\\

Barra inversa

\oooooo

Carácter UNICODE en notación octal

\xhhhh

CaractCarácter eres UNICODE en notación hexadecimal

Algunos ejemplos de cadenas son:

"Un texto", "C:\\Data\\File.txt", "Dos\r\nlíneas"

El tipo de datos Empty también puede utilizarse como constante, por ejemplo, para vaciar variables utilizadas dentro de una fórmula. Para ello, basta con asignar Empty:

Result = Empty

Los valores de tiempo del calendario consisten en la fecha y la hora, pudiendo especificar opcionalmente los segundos con decimales. En FPScript solo se permiten tres formatos. Si separa los elementos de fecha con '.', entonces se asume la secuencia día.mes.año; si utiliza '/' como separador, se interpreta como mes/día/año y si utiliza '-' como separador, entonces se interpreta como año/mes/día. Puede introducir el año con dos o cuatro dígitos. En el formato de dos cifras, se añade 2000 para los valores inferiores a 70 y 1900 en caso contrario. En cuanto a los tipos de datos en coma flotante, también existe el valor inválido para el tiempo de calendario, que se muestra como '?/?/?'. Los elementos de hora se especifican siempre en la forma HH:MM:SS.ss. Puede omitir los elementos temporales de la derecha, que se considerarán nulos. Las constantes en formato de tiempo de calendario deben escribirse generalmente entre comillas simples.

Opcionalmente, puede especificar la zona horaria en la que debe interpretarse la constante de valor de tiempo del calendario. Para ello, añada el desfase horario al Tiempo Universal Coordinado (UTC) en horas, por ejemplo, "UTC+1". Si no especifica una zona horaria, las constantes de valor de tiempo del calendario se interpretan como hora local, es decir, se convierten al formato UTC utilizado para el almacenamiento interno, teniendo en cuenta la zona horaria establecida en Windows y, si procede, el horario de verano.

'23.10.2004 12:13:24.123'

Valor de tiempo del calendario con resolución de 1 ms

'10/23/2011 12:13:24.123'

Valor de tiempo del calendario en notación inglesa con resolución de 1 ms

'2004-10-23 12:13:24.123'

Valor de tiempo del calendario en la disposición año-mes-día

'23.10.2004 12'

Valor de tiempo del calendario 23.10.2004, doce del mediodía

'23.10.2004'

Valor de tiempo del calendario 23.10.2004, cero en punto

'1.1.24'

Valor de tiempo del calendario 1.1.2024, cero en punto

'1.1.98'

Valor de tiempo del calendario 1.1.1998, cero en punto

'?/?/?'

Valor de tiempo del calendario inválido

'1.2.2021 13:14'

1.2.2021, 13:14 hora local

'1.2.2021 13:14 UTC'

1.2.2021, 13:14 en tiempo universal coordinado (UTC)

'1.2.2021 13:14 UTC-2'

1.2.2021, 13:14 en UTC menos 2 horas

'1.2.2021 13:14 UTC+2:30' o '1.2.2021 13:14 UTC+2.5'

1.2.2021, 13:14 en UTC más 2 horas, 30 minutos

Los valores de intervalo de tiempo constan de los elementos día, hora, minuto y segundo, pudiendo especificar opcionalmente el segundo con decimales. Los elementos se especifican en la forma D:HH:MM:SS.ss. No es necesario especificar todos los elementos. Si introduce dos elementos, se interpreta como HH:MM. Si introduce tres elementos, se interpretará como HH:MM:SS y cuatro elementos se interpretará como D:HH:MM:SS. FlexPro utiliza tres o cuatro elementos como estándar para la salida. El día se omite si el intervalo de tiempo es inferior a 24 horas. Las constantes en el formato de intervalo de tiempo deben escribirse generalmente entre comillas simples:

'12:13:24.123'

Valor de intervalo de tiempo con resolución de 1 ms

'13:24'

Valor de intervalo de tiempo de 13 horas y 24 minutos

'2:01:30:00' o '49:30'

Valor de intervalo de tiempo 2 días, 1 hora y 30 minutos

'?:?:?'

Valor de intervalo de tiempo inválido

Nota Los valores de tiempo del calendario y de intervalo de tiempo tienen la unidad implícita de segundos. Sin embargo, no aparece el símbolo de la unidad.

Constantes predefinidas

FPScript reconoce una serie de constantes predefinidas. No puede utilizar los nombres de las constantes como nombres de objetos o nombres de variables. Se trata de las constantes matemáticas PI = 3.141592654L y E = 2.718281828L, así como de una serie de constantes que tienen un significado predefinido como parámetros de funciones.