Autore Topic: Timer inattività  (Letto 712 volte)

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Timer inattività
« il: 15 Marzo 2019, 10:56:04 »
Ciao
Ho utilizzato Raspberry e un display touch per costruire una consolle sul quale gira il programmino Gambas
da un form principale che fa da menu si aprono altri form
Ciò che devo fare è creare un timer di inattività che, dopo un po di tempo che non si utilizza la consolle, fa ritornare il programma alla schermata iniziale di login
Userei un timer che viene resettato ogni volta che viene eseguita qualsiasi operazione sulla consolle
Quale può essere la via più semplice per rilevare gli eventi del programma, considerando che esso si svolge su più form?
Inserire una funzione Resetta_timer() in ogni evento di tutti gli oggetti di tutti i form mi sembra alquanto complicato.
Avete qualche idea?
"e il naufragar m'è dolce in questo mar"

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.243
  • Tonno verde
    • Mostra profilo
Re:Timer inattività
« Risposta #1 il: 15 Marzo 2019, 11:09:04 »
Forse impostando un osservatore?
In questo campo vuott è il più esperto.
Mi sa che comunque dovrai inserire un bel po di controlli...
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re:Timer inattività
« Risposta #2 il: 15 Marzo 2019, 11:51:41 »
Ciao
avevo fatto una cosa simile per un salvaschermo personalizzato

ti basta una variabile integer dichiarata in un modulo. la variabile è quella che incrementi nel timer per esempio MyTim  dichiarata pubblica nel modulo M1.
e un'altra variabile sempre integer o nel modulo oppure nel form dove si trova il timer che Chiameremo TempoMax dove tu inserisci il valore massimo
nel timer metti una struttura if
Codice: [Seleziona]
If M1.Mytim = TempoMax Then
'esegui il tuo codice
else
inc M1.Mytim
End if

Nel main o in altri form intercetti i movimenti del mouse o della tastiera e ci metti M1.MyTim = 0

Praticamente resetti la variabile e il conto riparte, se non fai movimento quando M1.Mytim arriva a quel valore esegue



Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re:Timer inattività
« Risposta #3 il: 15 Marzo 2019, 15:58:26 »
il timer è una buona soluzione
il problema è intecettare gli eventi nei form
l'evento mouse_move viene chiamato dal movimento del mouse con il tasto sinistro premuto
gli eventi click sono relativi agli oggetti che popolano il form
non ho ben chiaro come funziona la classe observer, cerco di documentarmi meglio
Grazie Dex e Gianluigi
"e il naufragar m'è dolce in questo mar"

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.243
  • Tonno verde
    • Mostra profilo
Re:Timer inattività
« Risposta #4 il: 15 Marzo 2019, 16:47:57 »
Visto che il silente vuott è preso dalla macchina del tempo, dovresti allegare un progetto minimo che dia l'idea di cosa vuoi ottenere.
Così posso (possiamo) fare dei tentativi per aiutarti.
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline dex

  • Gran Maestro dei Gamberi
  • *****
  • Post: 872
    • Mostra profilo
Re:Timer inattività
« Risposta #5 il: 15 Marzo 2019, 17:18:30 »
Quello è un mio vecchio progetto, avevo intercettato anche il solo movimento del mouse, ora non mi ricordo come, provo a vedere se trovo il vecchio codice

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re:Timer inattività
« Risposta #6 il: 15 Marzo 2019, 17:27:19 »
Visto che il silente vuott è preso dalla macchina del tempo, dovresti allegare un progetto minimo che dia l'idea di cosa vuoi ottenere.
Così posso (possiamo) fare dei tentativi per aiutarti.
Tra oggi e domani provo  a creare un progettino di esempio
"e il naufragar m'è dolce in questo mar"

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.721
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Timer inattività
« Risposta #7 il: 15 Marzo 2019, 18:47:28 »
In questo campo vuott è il più esperto.

« Chiunque, non ricorrendo lo stato di necessità, nel proprio progetto Gambas fa uso delle istruzioni Shell o Exec, è punito con la sanzione pecuniaria da euro 20,00 a euro 60,00. »