«

»

feb 03

Print this Articolo

LUA – Creare una sveglia

Per impostare una sveglia con il LUA, dobbiamo servirci della funzione Systeme.getTime(n).
Come tutti sappiamo la sveglia necessita dell’ora e dei minuti per poter funzionare, quindi andremo ad utilizzare rispettivamente Systeme.getTime(1) e Systeme.getTime(2). (Introduzione : LUA – Ora e Data)
Per settare l’orario di sveglia, dobbiamo invecie usare la funzione System.startOSK("",""), che andremo ad utilizzare due volte, una per fare inserire l’ora, e una per fare inserire i minuti, in questo modo :

ora = System.startOSK("","Inserisci ora")
minuti = System.startOSK("","Inserisci minuti")

A questo punto dobbiamo confrontare l’ora e minuti attuali con quelli inseriti dall’utente, però sorge il problema che le funzioni getTime restituiscono un valore numerico, mentre le variabili che abbiamo creato per l’inserimento manuale di ora e minuti, contengono valori di tipo stringa.
Per poter eseguire il confronto, dobbiamo convertire i dati in un tipo comune, io consiglio di convertire l’ora e i minuti inseriti dall’utente da stringhe a valori numerici interi, mediante l’utilizzo della funzione : tonumber("stringa").

Se vi interessa utilizzare il formato ora da 12 ore, dovete includere anche il controllo sui parametri AM e PM, per determinare se quello impostato sia un orario pomeridiano/serale o mattutino. Per fare il suddetto controllo possimo usare la funzione Systeme.getTime(5) che restituisce proprio AM o PM in base all’ora attuale.
Se scegliete questo metodo, ricordatevi che dovete salvare anche una terza stringa contenente il valore AM o PM, per l’orario di sveglia, da confrontare con il valore restituito dalla funzione.

Alla fine di tutto, se scegliate il primo metodo il codice dovrebbe risultare così :

oraA = Systeme.getTime(1)
minutiA = Systeme.getTime(2)

oraS = System.startOSK("","Inserisci ora")
minutiS = System.startOSK("","Inserisci minuti")

If oraA==tonumber(oraS) and minutiA==tonumber(minutiS) then
   --codice sveglia
end

Invecie se scegliete il secondo metodo :

oraA = Systeme.getTime(1)
minutiA = Systeme.getTime(2)
am_pmA = Systeme.getTime(5)

oraS = System.startOSK("","Inserisci ora")
minutiS = System.startOSK("","Inserisci minuti")
am_pmS = System.startOSK("","Inserisci AM o PM")

If oraA==tonumber(oraS) and minutiA==tonumber(minutiS) and am_pmA==am_pmS then
   --codice sveglia
end

Per quanto riguarda il codice della sveglia, potete inserire una suoneria, seguendo la guida Come inserire musica in un homebrew LUA

_____________________________________________________________________________________________ Ti è piaciuto questo articolo ? Condividilo !

Permanent link to this article: http://taketheball.altervista.org/?p=380

Lascia un Commento

L'indirizzo email non verrà pubblicato. I campi obbligatori sono contrassegnati *

Puoi usare i seguenti tag HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>