PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2024 → Limitaciones con el AND y el OR
Limitaciones con el AND y el OR
Iniciado por Francisco, jul., 25 2019 6:41 PM - 2 respostas
Publicado em julho, 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.
Membro registado
498 mensagems
Popularité : +8 (8 votes)
Publicado em julho, 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
Membro registado
795 mensagems
Popularité : +40 (42 votes)
Publicado em julho, 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