PC SOFT

FORUMS PROFESSIONNELS
WINDEVWEBDEV et WINDEV Mobile

Accueil → WINDEV 28 → Limitaciones con el AND y el OR
Limitaciones con el AND y el OR
Débuté par Francisco, 25 juil. 2019 18:41 - 2 réponses
Posté le 25 juillet 2019 - 18:41
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.
Membre enregistré
498 messages
Popularité : +8 (8 votes)
Posté le 26 juillet 2019 - 15:56
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
Membre enregistré
794 messages
Popularité : +40 (42 votes)
Posté le 26 juillet 2019 - 18:10
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