PC SOFT

FOROS PROFESIONALES
WINDEVWEBDEV y WINDEV Mobile

Inicio → WINDEV 28 → Limitaciones con el AND y el OR
Limitaciones con el AND y el OR
Iniciado por Francisco, 25,jul. 2019 18:41 - 2 respuestas
Publicado el 25,julio 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.
Miembro registrado
498 mensajes
Popularité : +8 (8 votes)
Publicado el 26,julio 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
Miembro registrado
794 mensajes
Popularité : +40 (42 votes)
Publicado el 26,julio 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