Definir diferentes tipos de expresiones
Una expresión es una fórmula que especifica cómo generar un valor deseado y luego lo evalúa a un valor. Una expresión emplea términos y un operador, que puede ser unario o binario.
Con un operador unario, el operador afecta al término que le sigue directamente. Un operador binario afecta a ambos lados del operador.
Puede clasificar los operadores en uno de los siguientes tipos:
Unario
Cadena
Aritmético
Relacional
Lógico
Operadores unarios
Un operador unario solo afecta al término que sigue directamente al operador. Los valores de un operador unario son los siguientes:
+
-
NOT
Cuando utiliza el signo menos (-), se crea un valor negativo del término que viene después del signo menos. Por lo tanto, solo afecta al término que sigue al operador.
var
CustomerExists: Boolean;
MyBoolean: Boolean;
begin
CustomerExists := true;
MyBoolean := NOT CustomerExists;
// Will result in MyBoolean: false
end;
Los siguientes operadores son todos operadores binarios, que afectan a los términos a ambos lados del operador.
Operadores de cadena
El único operador de cadena es el signo más (+), que es un operador binario porque afecta a los términos a ambos lados del operador. El operador de cadena concatena dos cadenas.

Operadores aritméticos
Los operadores aritméticos se utilizan en expresiones numéricas. Una expresión numérica es una fórmula que da como resultado un valor numérico.
Están disponibles los siguientes operadores aritméticos:
Más (+)
Menos (-)
Veces (*)
Dividir (/)
División de enteros (DIV)
Módulo (MOD)
var
MyExpression: Integer;
begin
MyExpression:= 5 + 2 * 3;
// Will result in MyExpression: 11
end;
Según los tipos de datos que utilice con operadores aritméticos, puede obtener otros tipos de datos como resultado.
17/8 = 2.125
17/9 = 1.88
El operador de dividir, o división, es la división matemática normal con la que está habituado a trabajar. Si divide dos valores enteros, siempre terminará con un valor Decimal.
El operador de división entera (DIV) devuelve el cociente entero de la división entera. Es un operador binario que da como resultado un valor entero. Puede calcular el resultado de una división entera soltando todos los decimales del resultado.
17 DIV 8 = 2 The decimal portion 125 is dropped
17 DIV 9 = 1 The decimal portion 88 is dropped
El operador de módulo (MOD) encuentra el resto de la división de un número por otro número. El operador de módulo se utiliza mucho cuando se validan números como los números de cuenta bancaria.
5 MOD 2 = 1 5 = (2x2) + 1
17 MOD 9 = 8 17 = (9x1) + 8
Si compara los operadores, se producen los siguientes resultados:
5 / 2 = 2.5
5 DIV 2 = 2
5 MOD 2 = 1
El orden en que se aplican los operadores podría tener un efecto que puede influir considerablemente en los resultados de sus cálculos.
Nivel superior:
Operador unario
Segundo nivel:
* , / , DIV, MOD
Nivel inferior:
+ , - (binario)
Puede cambiar los efectos de prioridad del operador mediante el uso de subexpresiones (). Las subexpresiones siempre se evalúan primero y puede usarlas agregando paréntesis ().
5 + 3 * 6 – 2 DIV -2 = ?
First Level:
5 + 3 * 6 – 2 DIV -2
Second Level:
5 + 3 * 6 – 2 DIV -2
= 5 + 18 – (-1)
Lowest Level:
+ and –
23 -(-1) = 24
Expresiones relacionales
Están disponibles las siguientes expresiones relacionales:
= (igual a)
< (menor que)
> (mayor que)
<= (menor o igual a)
>= (mayor a o igual a)
<> (no igual a)
IN (incluir en conjunto)
Los operadores relacionales tienen la prioridad más baja de todos los operadores. Con expresiones relacionales, puede comparar valores en términos de menor o mayor, igual, menor o mayor que. Puede usar operadores relacionales para las siguientes situaciones:
Comparaciones numéricas: las comparaciones numéricas son claras; se comparan en el valor numérico.
Comparaciones de cadenas: las cadenas se comparan con la fecha Unicode para determinar qué valor viene primero.
Comparaciones de fecha y hora: el calendario se utiliza para determinar qué valor viene primero.
Comparaciones booleanas: el valor false vendrá antes que el valor true.
La Inclusión de conjunto (con el operador IN) es una lista de valores, como se muestra en el siguiente ejemplo:
[2,4,6,8,10]
[1..9,11..19]
El operador IN verifica si un valor determinado está incluido en un conjunto o no.
5 IN [2,4,6,8,10] is FALSE
5 IN [1..9,11..19] is TRUE
5 IN [2,4..6,8,10] is TRUE
10 IN [1..9,11..19] is FALSE
'M' IN ['A'..'Z'] is TRUE
Expresiones lógicas
Están disponibles las siguientes expresiones lógicas:
AND
OR
XOR
NOT
Los operadores lógicos también se evalúan en valores true y false (dan como resultado valores booleanos). Los operadores lógicos no comparan valores normales como cadenas, números o fechas; comparan valores booleanos, mientras que los operadores relacionales comparan valores basados en diferencias en sus valores.
El siguiente ejemplo muestra una comparación entre los diferentes operadores lógicos.

Con el operador NOT, todos los valores lógicos se revierten. NOT True da como resultado False, y un NOT False da como resultado True.
Con el operador OR, uno de los valores debe ser True para dar como resultado True. De lo contrario, el valor es False.
Con el operador AND, los dos valores deben ser True para dar como resultado True. De lo contrario, el valor es False.
Con el operador XOR (Exclusive OR), solo un valor puede ser True para dar como resultado True. De lo contrario, el valor es False.
El siguiente ejemplo reúne a todos los operadores.

Expresiones booleanas
Al programar o usar el lenguaje de aplicación, también encontrará expresiones booleanas. Una expresión booleana es una expresión que da como resultado un valor booleano y, para ello, puede usar una variable o constante booleana. Por lo general, las expresiones relacionales y lógicas se evalúan en valores booleanos.