Ver Mensaje Individual
  #9  
Viejo 26/05/13, 20:49:24
Array

[xs_avatar]
Caravantes Caravantes no está en línea
Usuario muy activo
· Votos compra/venta: (1)
 
Fecha de registro: feb 2011
Mensajes: 2,200
Modelo de smartphone: Samsung Galaxy S9
Tu operador: Lowi
 Cita: Originalmente Escrito por KchoPrro Ver Mensaje
Si %VOICE no es ~ ni "música", ni "radio" hacer una 3ª Acción. No se si me explico. Quiero hacer la tarea para que se realice una acción cuando una varible sea diferente a dos valores.
Hola Perro.
Tienes varias maneras de plantear tareas con ese tipo de elecciones.

1 Anidando varias condiciones Si(if), unas dentro de otras. Te copio el esquema de una tarea en la que se ejecutan acciones específicas para cada una de las opciones (música y radio; opciónA y opciónB) y también otras acciones específicas para cuando no se cumple ninguna de las dos opciones previstas.

Código:
Si(if) %variable ~ opciónA (la variable coincide con la opciónA)
  Acción1 correspondiente a la opciónA
  Acción2 correspondiente a la opciónA
Else (else de opciónA, o sea cuando no se cumple la opciónA)
  Si(if) %variable ~ opciónB (la variable coincide con la opciónB)
    Acción1 correspondiente a la opciónB
    Acción2 correspondiente a la opciónB
  Else (else de opciónB, o sea cuando no coincide con la opciónA ni tampoco con la opciónB)
      Acción1  correspondiente a OTRA opción
      Acción2 correspondiente a OTRA opción
  Fin si (endif) (respecto a la opciónB)
Fin si (endif) (respecto a la opciónA)
Se pueden hacer más de dos niveles de anidamiento, no hay límite en este aspecto.

2 Por otro lado, si te interesan un mismo conjunto de acciones para cualquiera de dos opciones, puedes hacerlo así:
Código:
Si(if) %variable ~ opciónA/opciónB (la variable coincide con la opciónA o bien con la opción B)
  Acción1 correspondiente a cualquiera de las dos opciones A/B
  Acción2 correspondiente a cualquiera de las dos opciones A/B
Else (else de opciónA y de opción B, o sea cuando no se cumple ninguna)
  Acción1 correspondiente a cualquier otra opción distinta de A/B
  Acción2 correspondiente a cualquier otra opción distinta de A/B
Fin si (endif) (respecto a opciónA/opciónB)
El esquema expueto también es extensible a situaciones en las que tengamos muchas opciones: opciónA/opciónB/opciónC/opciónD... Por otro lado, también se podría haber suprimido la parte ELSE (y las dos acciones siguientes).

3 Te puede interesar solo el caso inverso, cuando no se cumplen ninguna de las dos opciones previstas:
Código:
Si(if) %variable !~ opciónA/opciónB (la variable NO coincide con la opciónA ni con la opción B)
  Acción1 correspondiente a cualquier otra opción distinta de A/B
  Acción2 correspondiente a cualquier otra opción distinta de A/B
Fin si (endif) (respecto a NO coincidencia con opciónA/opciónB)
 Cita: Originalmente Escrito por KchoPrro Ver Mensaje
he hecho lo mismo pero en vez de hacerlo con subtareas lo hecho como Dios Manda.
Una aclaración: lo de las subtareas es totalmente correcto, igual que este otros método al que voy a llamar método directo. En el ejemplo, yo he puesto DOS acciones en cada grupo de acciones (Acción1 y Acción2). Cuando tienes pocas acciones en el grupo, suele ser preferible este método directo, para no complicarse añadiendo más tareas independientes. Cuando un grupo tiene muchas acciones puede ser más lógico separarlas en una subtarea para que la tarea principal no se haga excesivamente larga y compleja de manejar (compleja para nosotros, Tasker no tiene ningún problema con tareas de muchas acciones). Las subtareas son especialmente adecuadas cuando tienes un grupo de acciones que van a ser ejecutadas desde distintas tareas.

Perro, lamentamos la muerte de tu SGS3. Supongo que Samsung asumirá el problema como suyo y te dará otro aparato. Tennos informados, solo por curiosidad (y por saber si nos conviene evitar compras de aparatos Samsung). Gracias.
__________________
Firmado: Caravantes, miembro del equipo que promueve el Subforo de Tasker
Responder Con Cita
Gracias de parte de: