Visualizzazione stampabile
-
Quote:
Originariamente inviato da
Folliassoluta
Ciao, ho letto il tuo post (nr.3122 del 23-11-14 16:08 a pag. 313) e vorrei chiederti visto che io non conosco la riga desiderata c'è la possibilità di cercare nel file.txt una deterninata parola?
Sì, lo puoi fare. In pratica devi usare una azione Read File (che trovi in File). Il file "letto" viene inserito in una variabile. A questo punto ti serve una seconda azione e cioè Variable Search and Replace. In questa azione, inserisci nel campo Variable il nome della variabile che hai creato con l'azione precedente. Nel campo search inserisci la parola che deve essere cercata. Sotto hai varie opzioni come Ignore Case, Multi case ecc che abiliterai a seconda del risultato che vuoi ottenere. Poi, in Store Matches In devi scrivere il nome di una viariabile nella quale sarà salvato il risultato. Fai attenzione perché Tasker crea questa variabile come Array (quindi più variabili). Mettiamo che tu indichi come variabile di ritorno %ret in pratica alla fine avrai %ret1 , %ret2 ecc. Se hai ottenuto un solo risultato questo sarà contenuto in %ret1. Se la ricerca non porta nessun risultato (la parola cercata non esiste nel file) allora l'array sarà vuoto.
-
Io ho un file contatti.csv con nella prima riga i nomi (zio paperone - zio paperino - pippo - pluto ...).
Quando mi arriva un whatsapp con notification listener ottengo il titolo nella variabile %nltitle dopo di che cerco la variabile leggondo la linea 1 del file contatti.csv e salvo il risultato in una variabile %nomi però se mi arrivano due whatsapp dalla stessa persona il titolo è "zio paperone (2 messaggi)" quindi avendo bisogno di una corrispondenza esatta del mittente ho provato a dividere la variabile %nltitle nell'array %titolo ma non so come ottenere %titolo1 = "zio paperone" pioche se uso come divisore lo spazio mi da %titolo1 = zio ed %titolo2 = paperone mentre se uso come divisore la parentesi tonda aperta ottengo %titolo1 = "zio paperone " con lo spazio vuoto dopo paperone e quindi non viene trovata la corrispondenza.
Suggerimenti per risolvare il problema
-
Quote:
Originariamente inviato da
Folliassoluta
Io ho un file contatti.csv con nella prima riga i nomi (zio paperone - zio paperino - pippo - pluto ...).
Quando mi arriva un whatsapp con notification listener ottengo il titolo nella variabile %nltitle dopo di che cerco la variabile leggondo la linea 1 del file contatti.csv e salvo il risultato in una variabile %nomi però se mi arrivano due whatsapp dalla stessa persona il titolo è "zio paperone (2 messaggi)" quindi avendo bisogno di una corrispondenza esatta del mittente ho provato a dividere la variabile %nltitle nell'array %titolo ma non so come ottenere %titolo1 = "zio paperone" pioche se uso come divisore lo spazio mi da %titolo1 = zio ed %titolo2 = paperone mentre se uso come divisore la parentesi tonda aperta ottengo %titolo1 = "zio paperone " con lo spazio vuoto dopo paperone e quindi non viene trovata la corrispondenza.
Suggerimenti per risolvare il problema
Allora, la soluzione più semplice che posso consigliarti è questa: mettiamo che tu hai una variabile %titolo che contiene la stringa zio paperone (2 messaggi). Ora hai due possibilità. Possibilità N.1: Puoi fare uno split variabile usando come splitter il simbolo di parentesi aperta ( In questo modo otterrai due nuove variabili : %titolo1 che contiene Zio paperone e %titolo2 che contiene 2 messaggi)
Possibilità N. 2: Oppure, se vuoi utilizzare come splitter uno spazio otterrai 4 variabili. A questo punto imposti una nuova variabile che chiamerai per es. %nome e come valore scrivi %titolo1 %titolo2 (naturalmente lasciando uno spazio tra %titolo1 e %titolo2).
In questo modo la variabile %nome conterrà zio paperone. ;)
-
Con la Possibilità N.1 ottengo %titolo1 = "zio paperone_" con uno spazio dopo la parola paperone quindi la ricerca non va a buon fine
La Possibilità N.2 seppur attuabile ha troppe incognite d'uso perchè il titolo originale potrebbe essere "pippo (2 messaggi)" ed in questo caso unendo %titolo1 %titolo2 torneri al titolo originale.
-
Quote:
Originariamente inviato da
Folliassoluta
Con la Possibilità N.1 ottengo %titolo1 = "zio paperone_" con uno spazio dopo la parola paperone quindi la ricerca non va a buon fine
La Possibilità N.2 seppur attuabile ha troppe incognite d'uso perchè il titolo originale potrebbe essere "pippo (2 messaggi)" ed in questo caso unendo %titolo1 %titolo2 torneri al titolo originale.
Se nella possibilità n. 1 ol problema è dato solo da uno spazio di troppo, puoi facilmente risolvere aggiungendo un'azione javascriptlet in cui nel campo code devi scrivere:
codice:
titolo1 = titolo1.trim();
Questa azione elimina qualsiasi spazio presente sia all'inizio che alla fine del testo contenuto nella variabile %titolo1.
A questo punto, però, ti prospetterei una soluzione secondo me migliore.
In pratica, tu hai la variabile %titolo che contiene zio paperone (2 messaggi). Ora, su questa variabile fai un'azione variable Search and Replace dove nel campo Search scrivi esattamente:
\(\d+\s\w+\) Questa stringa dice a Tasker di cercare all'interno della variabile %titolo una stringa in cui sia presente una parentesi tonda aperta seguita da uno o più numeri, uno spazio, una serie di caratteri e infine una parentesi tonda chiusa. Sempre nella finestra di configurazione di questa azione devi abilitare l'opzione Replace Matches e devi lasciare vuoto il campo Replace With. In questo modo la stringa (2 messaggi) viene eliminata dalla variabile e quindi alla fine la variabile %titolo che in partenza conteneva per esempio zio paperone (2 messaggi) ora conterrà solo zio paperone. Aggiungi poi l'azione javascriptlet che ti detto prima per eliminare eventuali spazi e ora hai la variabile pronta all'uso. Qui sotto ti ho messo la decrizione delle azioni che ti ho detto e inoltre ti allego uno screenshot per farti vedere come va configurata l'azione Variable Search and Replace.
codice:
A1: Variable Set [ Name:%titolo To:Zio Paperone (2 messaggi) Recurse Variables:Off Do Maths:Off Append:Off ]
A2: Variable Search Replace [ Variable:%titolo Search:\(\d+\s\w+\) Ignore Case:Off Multi-Line:Off One Match Only:Off Store Matches In: Replace Matches:On Replace With: ]
A3: JavaScriptlet [ Code:titolo = titolo.trim() Libraries: Auto Exit:On Timeout (Seconds):45 ]
A4: Flash [ Text:%titolo Long:Off ]
https://i.postimg.cc/xCpV74yt/Screen...8-09-18_13.png
-
Buongiorno a tutti,
ho un problema, in questi giorni e soprattutto dopo l'aggiornamento ufficiale mi continuava ad uscire a schermo
"Il programma google play continua ad interrompersi", preso dal nervoso sono andato in impostazioni e ho fatto "arresto forzato",
da quel momento google play non mi è più partito, clicco e mi esce "google play continua ad interrompersi", ho provato a scaricare l'apk originale da più siti internet, ma da file manager non me lo fa installare dicendo sempre la stessa frase.
Come risolvo?
-
Quote:
Originariamente inviato da
Odysseos
In pratica, tu hai la variabile %titolo che contiene zio paperone (2 messaggi). Ora, su questa variabile fai un'azione variable Search and Replace dove nel campo Search scrivi esattamente:
\(\d+\s\w+\)
Ho provato con i tuoi suggerimenti ma non funziona probabilmente ho scritto male lo javascriptlet, allora ho incluso lo spazio prima della parentesi tonda ossia \s\(\d+\s\w+\) così da evitare lo javascriptlet ma non capisco perchè pur restituendomi il giusto valore nella variabile %titolo non me la trova nella varibile %nomi.
Ho anche provato a dividere la variabile %titolo usando come divisore " (" spazio parentesi tonda chiusa e di persè ottengo "zio paperone" ma non sempre funziona.
In verità penso sia un bug di notification listener nel leggere le informazioni %nltitle infatti come ultima soluzione ho voluto utilizzare la variabile %nlkey per ottenere il numero di telefono del mittente per poi confrontarlo con la mia lista dei numeri di telefono dei miei contatti e funziona ma solo dopo il secondo whatsapp poichè non aggiorna subito la variabile %nlkey. :angry:
Grazie comunque per le informazioni che hanno ampliato la mia conoscenza sulle funzioni di task.
-
Ragazzi, conoscete un modo per far scattare a Tasker una foto senza accendere il display?
Avevo pensato a un tasto hardware tipo volume ma non esiste nel menu Eventi questa posssibilità oppure alla rilevazione dello scuotimento, questo esiste ma sembra non funzionare sul mio telefono. Avete esperienze?
-
Quote:
Originariamente inviato da
gialandra
Ragazzi, conoscete un modo per far scattare a Tasker una foto senza accendere il display?
Avevo pensato a un tasto hardware tipo volume ma non esiste nel menu Eventi questa posssibilità oppure alla rilevazione dello scuotimento, questo esiste ma sembra non funzionare sul mio telefono. Avete esperienze?
Per come ricordo io, l'azione Take photo di Tasker (si trova nella cartella Media) anche se lo schermo è off, lo accende e scatta la foto. Se poi, desideri che la foto sia scattata tenendo il display spento, lo puoi fare tranquillamente, basta che abiliti l'opzione discreet che si trova nella pagina di configurazione dell'azione take photo.
-
Ho trovato il comando per scattare la foto ma come si può fare per dargli il comando di scattare a display spento?
I tasti volume non possono essere usati e lo scuotimento non sembra funzionare, come si può risolvere secondo te?