Declaración de un 'IF'

#1
Hola amigos, tengo una duda para programar una rutina 'IF':

tengo dos condiciones que deben cumplirse, A y B, para que cierto trozo de programa comience a correr, debe cumplirse primero la A y luego la B, habia pensado en:

If A=1 and B=1 then.....

end if

pero esto implicaría A y B iguales a 1 al mismo tiempo...lo cuál no es lo que yo necesito, necesito que simplemente se cumplan.

Será utilizar variables auxiliares que guarden el estado de estas variables la solución??

Saludos!
 
#2
hola compañero....ps podrias probar introducir otro if para separar las condiciones y que se atienda una de ellas primero, asi:
>> if A==1 then
>> if B==1 then
>> statement;
>> else statement;
>> end
>> end
 
#3
Si la resolución es atemporal, sí, necesitás guardar las variables, o sea, un evento x que provoca que A=1 y otro evento que haga que B=1 y si en algún momento se dieron ambas variables aunque hayan variado de valor, es necesario que se guarden en algún registro.
Cuando hacés If A=1 and B=1 then, salvo que A y B hayan sido previamente cargadas, solo compara los estados actuales de A y B.
Lo que hice en alguna rutina era enviar a efectos de la comparación, A y B, en donde si, y solo sí, A<>x, acualizaba A, en B, exactamente lo mismo, y la función, me devolvía la lógica de la comparación. A y B eran variables estáticas dentro de la función.
 
Arriba