|
||
|
|
|
|||||||
| Tasker Para hablar de todo lo relacionado con la aplicación tasker |
![]() |
|
|
Herramientas |
|
#21
|
||||
|
||||
|
Hola... Siento coger este hilo para mis dudas pero lo veo mejor que abrir otro... Si os parece mejor que abra otro me avisáis. Aquí vengo con otra dudilla :
Saliendo De Casa (13) A1: Red móvil [ Establecer:Encendido ] Si (if) [ %BATT > 30 ] A2: Volumen del timbre [ Nivel:7 Mostrar:Apagado Sonido:Apagado ] Si (if) [ %TIME > 15 ] A3: Volumen de notificación [ Nivel:7 Mostrar:Apagado Sonido:Apagado ] Si (if) [ %TIME > 15 ] El caso es que el último paso me sale en rojo y no se porqué, el de arriba si esta en verde. Gracias de antemano. Última edición por stewartbatallas Día 05/01/14 a las 16:26:57. |
|
|
|
#22
|
||||
|
||||
|
Bueno he estado probando lo de la dos variables, en el perfil que tengo de despertar me dice cuanto tiempo he dormido.
%Digohoras me dice las horas %Separador dice «y» o nada en caso de que los minutos o las horas sean 0 %Digominutos me dice los minutos Entonces tengo una línea que dice: establecer variable %Separador A: «_» Si %Digohoras%Digominutos ~R 0 El caso es que sólo me funciona si pongo ~R, no me funciona ni con = ni con ~ La tarea me funciona pero no entiendo porque, porque funciona con ~R (coincide regex) y no con = (matem igual) ni con ~ (coincide). Teóricamente no debería funcionar con todos? |
|
#23
|
||||
|
||||
|
Lo que sí se puede ver claro es el motivo de que no te funcione con una equivalencia convencional ni con una igualdad. Supongamos que la variable %Digohoras contiene un 8 (ocho), y que la variable %Digominutos contiene un 0 (cero). En tal caso, la concatenación %Digohoras%Digominutos da como resultado 80 y en todo caso el resultado de la concatenación siempre serán dos dígitos o más (al menos un dígito por cada variable). Y entonces resulta evidente que la condición siguiente es falsa Si %Digohoras%Digominutos ~ 0 Por otro lado, la concatenación de dos variables numéricas siempre dará una cifra de dos dígitos, al estilo de "80" o al estilo de "08". El caso es que la coincidencia matemática (igualdad) con el valor 0 (cero) solo se producirá si ambas variables contienen un cero cada una "00", pero eso es muy improbable porque entonces no habrías dormido nada. Esto explica que la condición siguiente también sea siempre falsa: Si %Digohoras%Digominutos = 0 Yo te sugiero utilizar una multiplicación de ambas variables y el resultado lo comparas matemáticamente con cero, supongo que funcionará Si %Digohoras*%Digominutos = 0
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
|
| Gracias de parte de: | ||
|
#24
|
||||
|
||||
|
Creo que la comparación de tipo ~R es una equivalencia de tipo Expresion-Regular (REGEX = REGular EXpresion). Si quieres entender cómo funciona tienes que comenzar estudiando las expresiones regulares, puedes comenzar por la wikipeida o por este mensaje del compañero Maid450 http://www.htcmania.com/showthread.php?p=11752344
Lo que sí se puede ver claro es el motivo de que no te funcione con una equivalencia convencional ni con una igualdad. Supongamos que la variable %Digohoras contiene un 8 (ocho), y que la variable %Digominutos contiene un 0 (cero). En tal caso, la concatenación %Digohoras%Digominutos da como resultado 80 y en todo caso el resultado de la concatenación siempre serán dos dígitos o más (al menos un dígito por cada variable). Y entonces resulta evidente que la condición siguiente es falsa Si %Digohoras%Digominutos ~ 0 Por otro lado, la concatenación de dos variables numéricas siempre dará una cifra de dos dígitos, al estilo de "80" o al estilo de "08". El caso es que la coincidencia matemática (igualdad) con el valor 0 (cero) solo se producirá si ambas variables contienen un cero cada una "00", pero eso es muy improbable porque entonces no habrías dormido nada. Esto explica que la condición siguiente también sea siempre falsa: Si %Digohoras%Digominutos = 0 Yo te sugiero utilizar una multiplicación de ambas variables y el resultado lo comparas matemáticamente con cero, supongo que funcionará Si %Digohoras*%Digominutos = 0 ![]() Última edición por darkopro Día 08/01/14 a las 12:59:38. |
![]() |
Estás aquí
|
||||||
|
||||||