Saltar al contenido principal
Versión: 20 R5 BETA

Boolean

Un campo, variable o expresión booleana puede ser TRUE o FALSE.

Funciones booleanas

4D provides the Boolean functions True, False, and Not in the dedicated Boolean theme. Para más información, consulte las descripciones de estos comandos.

Ejemplo

Este ejemplo define una variable booleana basada en el valor de un botón. Devuelve True en myBoolean si el botón myButton fue presionado y False si el botón no fue presionado. Cuando se hace clic en un botón, la variable del botón toma el valor 1.

 If(myButton=1) //Si se ha presionado el botón
myBoolean:=True //myBoolean toma el valor True
Else //Si el botón no fue pulsado
myBoolean:=False //myBoolean toma el valor False
End if

El ejemplo anterior puede simplificarse en una línea.

myBoolean:=(myButton=1)

Operadores lógicos

4D soporta dos operadores lógicos que trabajan sobre expresiones booleanas: la conjunción (AND) y la disyunción inclusiva (OR). Un AND lógico devuelve TRUE si ambas expresiones son TRUE. Un OR lógico devuelve TRUE si al menos una de las expresiones es TRUE. La siguiente tabla muestra los operadores lógicos:

OperaciónSintaxisDevuelveExpressionValor
ANDBoolean & BooleanBoolean("A" = "A") & (15 # 3)True
("A" = "B") & (15 # 3)False
("A" = "B") & (15 = 3)False
OBooleano | BooleanoBoolean("A" = "A") | (15 # 3)True
("A" = "B") | (15 # 3)True
("A" = "B") | (15 = 3)False

La siguiente es la tabla de verdad del operador lógico AND:

Expr1Expr2Expr1 & Expr2
TrueTrueTrue
TrueFalseFalse
FalseTrueFalse
FalseFalseFalse

La siguiente es la tabla de verdad del operador lógico OR:

Expr1Expr2Expr1 | Expr2
TrueTrueTrue
TrueFalseTrue
FalseTrueTrue
FalseFalseFalse

Tip: If you need to calculate the exclusive disjunction between Expr1 and Expr2, evaluate:

 (Expr1|Expr2) & Not(Expr1 & Expr2)  

In boolean contexts, the 4D language also supports short-circuit operators (&& and ||) and the truthy and falsy concept.