Autore Topic: [RISOLTO[Istruzione USE in gambas script  (Letto 1053 volte)

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
[RISOLTO[Istruzione USE in gambas script
« il: 07 Maggio 2020, 10:26:40 »
Ciao
Vorrei includere un timer in uno script gambas che genera un evento ogni tot secondi
per iniziare non ho ben capito l'uso della funzione USE
http://gambaswiki.org/wiki/lang/use?l=it
con questa dovrei includere  tutti gli oggetti che intendo usare nello script
potete aiutarmi ?
Grazie

« Ultima modifica: 08 Maggio 2020, 08:51:48 da Akrobaticone »
"e il naufragar m'è dolce in questo mar"

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re:Istruzione USE in gambas script
« Risposta #1 il: 07 Maggio 2020, 14:39:32 »
Facendo un po di prove mi è venuta fuori una cosa così

Codice: [Seleziona]
Use "gb.form"      ' aggiungi il componente che contiene il timer

Public Sub Main()

  Dim a As Timer

  With a = New Timer As "Obj" ' Crea il nuovo timer
    a.Delay = 1000
    a.enabled = True
  End With
 
  Do While (1)      ' Ciclo infinito, ma non so se è corretto
    Wait
  Loop

End

Public Function obj_Timer()
   
  Print "Ciao"  ' cattura l'evento timer

End
« Ultima modifica: 07 Maggio 2020, 14:41:11 da Akrobaticone »
"e il naufragar m'è dolce in questo mar"

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re:Istruzione USE in gambas script
« Risposta #2 il: 07 Maggio 2020, 14:48:56 »
Aggiungo  che lo scopo dello script è controllare periodicamente un pin GPIO di Raspberry che monitora la tensione di rete
se va a zero invia una mail al sottoscritto, naturalmente raspy e modem sono sotto UPS
La stessa cosa si puo ottenere con Cron che lancia lo script a intervalli regolari, ma a scopo didattico vorrei realizzarlo anche con un timer
I pin GPIO li controllo con le librerie WiringPi (anche se non piu sviluppate)
"e il naufragar m'è dolce in questo mar"

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Istruzione USE in gambas script
« Risposta #3 il: 07 Maggio 2020, 15:16:35 »
il timer non ha bisogno di USE

Ti allego due script Gambas, uno col timer e uno con USE

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re:Istruzione USE in gambas script
« Risposta #4 il: 07 Maggio 2020, 19:23:23 »
Grazie Gianluigi
Ho capito come funzionano gli script
Purtroppo non partono poichè non trova l'interprete
Dove è finito?
Gambas è da PPA
« Ultima modifica: 07 Maggio 2020, 19:26:09 da Akrobaticone »
"e il naufragar m'è dolce in questo mar"

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Istruzione USE in gambas script
« Risposta #5 il: 07 Maggio 2020, 19:28:51 »
Da terminale dai il comando:
~:$ gbs3 <nome dello script>.sh oppure . gbs oppure .pippo oppure...  :P

Sempre che io abbia capito cosa mi stai chiedendo.
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re:Istruzione USE in gambas script
« Risposta #6 il: 07 Maggio 2020, 19:35:12 »
allora
per prima cosa avevo provato da terminalecon
Codice: [Seleziona]
./timer.sh
e mi da
Codice: [Seleziona]
bash: ./timer.sh: /usr/bin/gbs3: interprete errato: File o directory non esistente

In /usr/bin e limitrofi non c'è gbs3
anche con
Codice: [Seleziona]
gbs3 timer.sh
e con numerose varianti di gb
mi sembra proprio che non trova l'interprete gbs3


« Ultima modifica: 07 Maggio 2020, 19:42:53 da Akrobaticone »
"e il naufragar m'è dolce in questo mar"

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Istruzione USE in gambas script
« Risposta #7 il: 07 Maggio 2020, 20:03:03 »
Per lanciare gli script che ho allegato ti devi trovare nella stessa cartella dello script.

Altrimenti prova con #!/usr/bin/env gbs3 al posto di #!/usr/bin/gbs3

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re:Istruzione USE in gambas script
« Risposta #8 il: 07 Maggio 2020, 20:11:51 »
Ero gia nella cartella dello script e ho gia provato con
Codice: [Seleziona]
bash: ./timer.sh: /usr/bin/env gbs3: interprete errato: File o directory non esistente
"e il naufragar m'è dolce in questo mar"

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Istruzione USE in gambas script
« Risposta #9 il: 07 Maggio 2020, 23:29:53 »
Prova a dare questi comandi:
Codice: [Seleziona]
sudo apt-get update
sudo apt-get install gambas3-scripter

notte  :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re:Istruzione USE in gambas script
« Risposta #10 il: 08 Maggio 2020, 08:51:13 »
con scripter funziona!
compilando dall'ide si ottinene il file timer.gambas
da terminale ./timer.gambas parte anch'esso
posso ritardare l'apprendimento di python :)
Una curiosità
Print CInt(Timer) restituisce il numero di eventi generati da Timer?
Grazie
« Ultima modifica: 08 Maggio 2020, 08:56:19 da Akrobaticone »
"e il naufragar m'è dolce in questo mar"

Offline Gianluigi

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 4.244
  • Tonno verde
    • Mostra profilo
Re:Istruzione USE in gambas script
« Risposta #11 il: 08 Maggio 2020, 09:17:42 »
Una curiosità
Print CInt(Timer) restituisce il numero di eventi generati da Timer?

No restituisce i secondi (dal numero a virgola mobile di Timer) che in quel caso corrispondono agli eventi (delay 1000).

Se vuoi contare gli eventi devi fare così:

Codice: [Seleziona]
Public hConsoleTimer As Timer
Private $iCont As Integer

Public Sub Main()

  hConsoleTimer = New Timer As "MyTimer"
  hConsoleTimer.Delay = 500  '<-------------- corrisponde a mezzo secondo
  hConsoleTimer.Enabled = True

End

Public Sub MyTimer_Timer()

  Inc $iCont
  Print "Evento n. "; $iCont
  Print CInt(Timer);; "Hello Gambas"

End

 :ciao:
nuoto in attesa del bacio di una principessa che mi trasformi in un gambero azzurro

Offline akrobaticone

  • Gran Maestro dei Gamberi
  • *****
  • Post: 983
    • Mostra profilo
Re:[RISOLTO[Istruzione USE in gambas script
« Risposta #12 il: 08 Maggio 2020, 09:33:04 »
 :ok: :ok:
"e il naufragar m'è dolce in questo mar"