PC SOFT

PROFESSIONAL NEWSGROUPS
WINDEVWEBDEV and WINDEV Mobile

Home → WINDEV 28 → Limitaciones con el AND y el OR
Limitaciones con el AND y el OR
Started by Francisco, Jul., 25 2019 6:41 PM - 2 replies
Posted on July, 25 2019 - 6:41 PM
Hola,

Alguien sabe como hacer una regla de inferencia sin tener que poner varias veces el "IF"
Este código simple NO funciona en Windev Mobile 24 y tampoco en Windev.

nProba1 is int = 1
nProba2 is int = 1

IF nProba1 = 1 AND nProba2 = 1 _OR_ ....
nProba1 =7 AND nProba2 = 4 THEN
Info("aaa")
END

Debería mostrar el "aaa" porque cumple la primera condición, PERO NO LO MUESTRA, simplemente quitando la segunda parte, la del "OR" si funciona. Pero es un "OR" DEBERÍA MOSTRAR EL "aaa".
He probado con todas las combinaciones posibles del _AND_ y _OR_ con los mismos resultados nefastos.
Si que funcionaría anidando varios IF XXX y después poniendo otro IF, pero esto es una chapuza cuando se tiene varios condicionantes. Conozco otros lenguajes de programación y en ninguno pasa esto.
Registered member
498 messages
Popularité : +8 (8 votes)
Posted on July, 26 2019 - 3:56 PM
Hola Francisco

Prueba con lo siguiente:

nProba1 is int = 1
nProba2 is int = 1

IF (nProba1 = 1 AND nProba2 = 1) OR (nProba1 =7 AND nProba2 = 4) THEN
Info("aaa")
END


--
Best Regards
ARV
Registered member
794 messages
Popularité : +40 (42 votes)
Posted on July, 26 2019 - 6:10 PM
Hola. Deberias definir las prioridades de los operadores logicos porque esa combinacion que operadores logicos nunca te va a funcionar por el ultimo AND asi como lo escribes. La unica opcion sería:

nProba1 is int = 1
nProba2 is int = 1

IF nProba1 = 1 AND (nProba2 = 1 _OR_ (nProba1 =7 AND nProba2 = 4)) THEN
Info("aaa")
END

Un saludo

Rubén