TODOPIC
Microcontroladores PIC => Lenguaje Basic para microcontroladores PIC => Mensaje iniciado por: Abago en 28 de Abril de 2004, 07:19:00
-
Hola a todos...
Estoy usando la sentencia While, para crear un bucle por doble comparación...
Y para mi desgracia, no se porque no funciona..
cont = 0
gosub leedato
While ((var1 <> 34) or (cont1<10))
gosub leedato
cont = cont + 1
wend
Pretendo ir leyendo los datos de un array hasta encontrar el caracter 34, y salir del buble en caso de encontrarlo, o de haber leido 10 caracteres....
Pero tal y como lo planteo en el ejemplo... No funciona!!!
No se si es problema mio, o de que el PBP, no acepta la doble comparación en la sentencia WHILE!
-
---------------------------- prueba así --------------------
cont = 0
gosub leedato
While ((var1 <> 34) and (cont1<10))
gosub leedato
cont = cont + 1
wend
-------------------------- tambien ----------------------
for cont=0 to 9
gosub leedato
if var1=34 then goto sal
next cont
-
Gracias sispic...
Con tu primera aportación, puedo decir, que al poner AND...
Solo se cumplirá en el momento en el que el caracter leido sea distinto a 34, y el contador se encuentre a memos de 10 no???
Pero siempre que se cumplan las dos opciones a la vez!!!
La idea, es que por cualquiera de ellas, se salga del bucle.
Sobre la segunda idea, aunque menos refinada, creo que puede ser válida...
Pero me queda la intriga de porque no funciona el OR 
TNKS
-
Traducido es así
While ((var1 <> 34) and (cont1<10))
Estate en el bucle mientras se cumpla que (var1 <> 34) y (cont1 < 10)
si var1 llega a ser 34 saldra
y si cont1 > 9 tambien sale
Asegurate que antes de entrar var1 sea <> a 34 , con cont1 ya lo haces
--------------------------------------------------------------------------------
Tu lo ponias así:
While ((var1 <> 34) or (cont1<10))
Estate en el bucle mientras se cumpla que (var1 <> 34) ó (cont1 < 10)
solo saldra si var1=34 y cont1 > 9
Solo tienes que pensar en binario y no te preocupes por lo refinado mientras funcione .
Otra cosa es que consuma menos recursos ó no , cosa que con basic es dificil de saber .
-
Gracias SisPic...
Voy a ver... si lo hago funcionar a lo largo de la tarde....
Por cierto... Te mande un privado, con la configuración del polivalente para el winpic8000...