|
||
|
![]() |
![]() |
Tasker Para hablar de todo lo relacionado con la aplicación tasker |
![]() |
|
Herramientas |
#1
|
||||
|
||||
![]()
La amiga Viki sigue con sus preguntas del millón...
Uso AutoVoice para capturar una frase que contiene uno o dos números. La frase puede de esta forma ...Como supongo que no todo el mundo tiene/usa AutoVoice vamos a cambiar un poco la primera premisa y partiremos de estas dos cadenas de texto ... %textouno=si tienes 5 y te quito 3 te quedan %textodos=no tienes valor a quitarme 3 Venga que esta es muy fácil. ![]()
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
Gracias de parte de: | ||
|
#2
|
||||
|
||||
¿Nadie tiene una idea para solucionar esto?
![]() ![]()
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
#3
|
||||
|
||||
No uso Autovoice.
Desde el punto de vista de Tasker, se me ocurre empezar estableciendo %primero=0 y %segundo=0. Luego hacer un blucle recorriendo los caracteres de la frase y comprobando la coincidencia del carácter con alguno de los elementos 0/1/2/3/4/5/6/7/8/9; en caso afirmativo... A) comprobar si la variable %primero sigue a cero; en ese caso o guardar ahí el carácter encontrado, en caso contrario guardarlo en %segundo. B) hacer un push para meter ese carácter en un array; al terminar pasar los valores del array a %primero y %segundo (solo los valores que hayan sido establecidos en el array).
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
|
Gracias de parte de: | ||
#4
|
||||
|
||||
Otra idea en esa línea...
-Convertir la frase en un array (separando por los espacios) -Recorrer el array con un bucle comprobando si el elemento es un número* -Si es un número usar tus soluciones A o B *Mejor eso que comparar con caracteres. De esa forma cubres la posibilidad de que el número tenga más de un dígito. Todo esto usando acciones de Tasker, aunque en este caso creo la mejor solución es tirar de regex. ![]()
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
#5
|
||||
|
||||
Por los ejemplos que habías puesto, yo había deducido que los números solo tendrían un dígito.
Un array con separación por espacios abrevia bastante, pero no lo contemplé porque me pareció que en algunas ocasiones puede ocurrir que un número no esté rodeado de espacios. %textouno=si tienes 5, y te quito 3... te quedan En algunos problemas, ciertos detalles de este tipo pueden determinar cuál es la solución adecuada.
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
|
#6
|
||||
|
||||
Pues tienes razón con lo de la coma.
![]() La verdad es que la Taskera no comentaba nada de eso.
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
#7
|
||||
|
||||
En el caso de AutoVoice eso no ocurre a no ser que digas "coma" y se añade a la frase.
Última edición por GraphicAdventure Día 05/07/18 a las 11:08:01. |
Gracias de parte de: | ||
#8
|
||||
|
||||
![]()
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
#9
|
||||
|
||||
He puesto al principio cuatro frases para probarlas. La que juega es la que está colocada en la última posición. Cambiándolas de orden puedo probar las otras.
Código:
A1: Establecer variable [ Nombre:%texto A:si tienes 5 y te quito 3 te quedan Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A2: Establecer variable [ Nombre:%texto A:no tienes valor a quitarme 3 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A3: Establecer variable [ Nombre:%texto A:tengo 30 y 50 y 70 y más Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A4: Establecer variable [ Nombre:%texto A:No tengo nada Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A5: Establecer variable [ Nombre:%texto A:Tengo 0 pero debo 25 Recurse Variables:Apagado Calcular:Apagado Añadir:Apagado ] A6: Establece Array [ Matriz de Variables (array):%txtarray Values:%texto Separador: ] A7: For [ Variable:%item Ítems:%txtarray() ] A8: Si (if) [ %item > 0 | %item ~ 0 ] A9: Si (if) [ %primero No ajust. ] A10: Establecer variable [ Nombre:%primero A:%item Recurse Variables:Apagado Calcular:Encendido Añadir:Apagado ] A11: Else Si (if) [ %segundo No ajust. ] A12: Establecer variable [ Nombre:%segundo A:%item Recurse Variables:Apagado Calcular:Encendido Añadir:Apagado ] A13: Ir a acción [ Tipo:Etiqueta Acción Número:1 Etiqueta:Exit ] A14: Fin si (End if) A15: Fin si (End if) A16: End For A17: Establecer variable [ Nombre:%primero A:0 Recurse Variables:Apagado Calcular:Encendido Añadir:Apagado ] Si (if) [ %primero No ajust. ] A18: Establecer variable [ Nombre:%segundo A:0 Recurse Variables:Apagado Calcular:Encendido Añadir:Apagado ] Si (if) [ %segundo No ajust. ] <Exit> A19: Flash [ Texto:%txtarray() %primero %segundo Largo:Apagado ] %texto = si tienes 5 y te quito 3 te quedan %primero=5 %segund0=3 %texto = no tienes valor a quitarme 3 %primero=3 %segund0=0 %texto = tengo 30 y 50 y 70 y más %primero=30 %segund0=50 %texto = Tengo 0 pero debo 25 %primero=0 %segund0=25 Es aceptable? Un aprobadillo, espero. ![]()
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
|
#10
|
||||
|
||||
Traducción literal del proceso mental ...
![]() Y una vez que tenemos un algoritmo que funciona nos podemos entretener en afinarlo. Con un poco de práctica lo haces/afinas al vuelo, pero esa es la forma de hacerlo. Al manos es la que yo he seguido siempre. ![]() ![]()
__________________
Miembro del equipo que promueve el [Subforo de Tasker]
Si das pescado a un hombre hambriento le nutres una jornada. Si le enseñas a pescar le nutrirás toda la vida. (Lao-Tsé - Filósofo chino) |
![]() |
![]() |
||||||
|