Autore Topic: Info shell  (Letto 2056 volte)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.683
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Info shell
« Risposta #15 il: 13 Dicembre 2021, 14:27:19 »
...con Shell il richiamo a un Terminale non è necessario.
 Fai semplicemente:
Codice: [Seleziona]
Dim a As String

Shell "speedtest-cli" To a

Label1.Text = a

L'uso dell'istruzione "To variabile", però, va bene se il programma lanciato ti restituisce un risultato tutto subito, in un colpo solo.
Se "speedtest-cli" ti dà vari risultati differiti nel tempo, allora dovrai porlo sotto osservazione aprendo il suo processo in Lettura:
Codice: [Seleziona]
Private pr As Process

Public Sub Form_Open()

' Lancia "speedtest-cli", ne apre il processo e lo pone sotto osservazione:
 pr = Shell "speedtest-cli" For Input As "Speed"

End

 ' Quando c'è qualcosa da leggere dal processo di "Speedtest-cli", allora viene sollevato questo Evento di lettura dei dati:
Public Sub Speed_Read()

 Dim s As String
 
 Line Input #pr, s

 Label1.Text = s

End


Al riguardo suggerisco questa pagina:
   https://www.gambas-it.org/wiki/index.php?title=Lettura_dati_da_un_Processo_e_scrittura_dati_in_un_Processo
« Ultima modifica: 13 Dicembre 2021, 16:28:04 da vuott »
« 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. »

Offline Gratisweb

  • Grande Gambero
  • ***
  • Post: 186
    • Mostra profilo
Re:Info shell
« Risposta #16 il: 13 Dicembre 2021, 16:17:58 »
 Line Input #pr, s

Indicatore sconosciuto (pr)
« Ultima modifica: 13 Dicembre 2021, 16:19:36 da Gratisweb »

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.683
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Info shell
« Risposta #17 il: 13 Dicembre 2021, 16:24:59 »
Indicatore sconosciuto (pr)
Hai inserito all'inizio del codice questa riga ?

 
Codice: [Seleziona]
Private pr As Process
« 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. »

Offline Gratisweb

  • Grande Gambero
  • ***
  • Post: 186
    • Mostra profilo
Re:Info shell
« Risposta #18 il: 13 Dicembre 2021, 16:27:06 »
Public Sub Form_Open()
' Lancia "speedtest-cli", ne apre il processo e lo pone sotto osservazione:
 pr = Shell "speedtest-cli" For Input As "Speed"
End
Public Sub Speed_Read()

 Private pr As Process
 Dim s As String
 
 Line Input #pr, s

 Label.Text1.Text = s

End

Indicatore sconosciuto (pr)

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.683
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Info shell
« Risposta #19 il: 13 Dicembre 2021, 16:32:26 »
1) Non hai copiato e quindi inserito la prima riga della dichiarazione della variabile di tipo "Process" come Globale.
Riguarda bene il mio codice all'inizio.
Essa va inserita così:
Codice: [Seleziona]
Private pr As Process

Public Sub Form_Open()

 ...etc....

2) C'è un mio errore di scrittura qua:
 Label.Text1.Text = s

che ora ho corretto.
Ovviamente va scritto così:
Codice: [Seleziona]
Label1.Text = s
« 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. »

Offline Gratisweb

  • Grande Gambero
  • ***
  • Post: 186
    • Mostra profilo
Re:Info shell
« Risposta #20 il: 13 Dicembre 2021, 16:32:49 »
Scusa, l' avevo scritto sbagliato.
Mi appare però sulla label solo il risultato del download
come faccio a far apparire il risultato del download e upload ?

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.683
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Info shell
« Risposta #21 il: 13 Dicembre 2021, 16:35:44 »
Scusa, l' avevo scritto sbagliato.
Mi appare però sulla label solo il risultato del download
come faccio a far apparire il risultato del download e upload ?
Io purtroppo non posseggo il programma "speedtest-cli" e neppure ne conosco il funzionamento.
L'unica cosa che ho potuto dirti è che la gestione dei Processi dei programmi aperti con "Shell" (o con "Exec") è in buona sostanza come sopra descritto.
...forse devi inserire qualche opzione... forse. O forse devi attendere la sua azione dell'upload... Non so.   :-\
« Ultima modifica: 13 Dicembre 2021, 16:36:55 da vuott »
« 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. »

Offline Gratisweb

  • Grande Gambero
  • ***
  • Post: 186
    • Mostra profilo
Re:Info shell
« Risposta #22 il: 13 Dicembre 2021, 16:38:20 »
Siccome lo devo inserrire in un bottone ma sbaglio qualcosa

Public Sub Button1_Click()
' Lancia "speedtest-cli", ne apre il processo e lo pone sotto osservazione:
 Dim s As String
 pr = Shell "speedtest-cli" For Input As "Speed"
  Line Input #pr, s
 Label1.Text = s

End

Offline Gratisweb

  • Grande Gambero
  • ***
  • Post: 186
    • Mostra profilo
Re:Info shell
« Risposta #23 il: 13 Dicembre 2021, 16:40:08 »
Siccome lo devo inserrire in un bottone ma sbaglio qualcosa

Public Sub Button1_Click()
' Lancia "speedtest-cli", ne apre il processo e lo pone sotto osservazione:
 Dim s As String
 pr = Shell "speedtest-cli" For Input As "Speed"
  Line Input #pr, s
 Label1.Text = s

End

Basta installarlo, si trova su synaptic
sudo apt-get install speedtest-cli

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.683
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Info shell
« Risposta #24 il: 13 Dicembre 2021, 16:50:55 »
Va be'... l'ho installato. Mannaggia !  :violent:

Ho fatto la prova con il mio codice sopra mostrato, facendo però scrivere tutto in console.
A me funziona completamente.
Ecco i risultati:

Testing download speed................................................................................
Download: 44.53 Mbit/s
Testing upload speed...
Upload: 5.74 Mbit/s


Devi attendere un po' per ottenere i risultati.
Fai la prova in console, per ora, come ho fatto io:
 
Codice: [Seleziona]
Print s
« Ultima modifica: 13 Dicembre 2021, 16:54:19 da vuott »
« 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. »

Offline Gratisweb

  • Grande Gambero
  • ***
  • Post: 186
    • Mostra profilo
Re:Info shell
« Risposta #25 il: 13 Dicembre 2021, 17:01:23 »
sistemato, adesso voglio che sulla label vengono riportate tutte le voci

Tipo così
Retrieving speedtest.net configuration...
Testing from Telecom Italia (XX.XXX.XXX.XXX)...
Retrieving speedtest.net server list...
Selecting best server based on ping...
Hosted by Fly Network (Novi Velia) [304.38 km]: 70.526 ms
Testing download speed................................................................................
Download: X.XX Mbit/s
Testing upload speed...
.
Upload: X.XX Mbit/s

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.683
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Info shell
« Risposta #26 il: 13 Dicembre 2021, 17:08:06 »
Eh... e quindi ? ....come faresti ?
Fai delle prove. Cerca di risolvere tu la questione (...'sto programma lo devi fare tu, o io ?  :violent: )
Se hai problemi, li vediamo insieme.  :)
« 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. »

Offline Gratisweb

  • Grande Gambero
  • ***
  • Post: 186
    • Mostra profilo
Re:Info shell
« Risposta #27 il: 13 Dicembre 2021, 17:12:01 »
ok
scrivendo così Label1.Text = Label1.text + s
va in errore sarà sbaglio qualcosa. Una volta ma parlo di 25 anni fa circa programmavo in visual basic.

Offline Gratisweb

  • Grande Gambero
  • ***
  • Post: 186
    • Mostra profilo
Re:Info shell
« Risposta #28 il: 13 Dicembre 2021, 17:16:28 »
Ci sto riuscendo.....
Grazie

Offline vuott

  • Moderatore globale
  • Senatore Gambero
  • *****
  • Post: 11.683
  • Ne mors quidem nos iunget
    • Mostra profilo
Re:Info shell
« Risposta #29 il: 13 Dicembre 2021, 17:18:29 »
scrivendo così Label1.Text = Label1.text + s
va in errore sarà sbaglio qualcosa.
Per aggiungere una stringa ad un'altra precedente devi usare l'operatore "&".
Nel tuo caso però devi anche aggiungere il ritorno a capo, altrimenti la Label ti scrive tutto su una riga.

Codice: [Seleziona]
Label1.Text &= s & "\n"
Ossia: alla Label va assegnato il suo testo posseduto con l'aggiunta di quello presente nella variabile "s", alla fine della stringa va altresì aggiunto il comando escape di nuova riga a capo.

Su come andare a capo in un oggetto di testo, suggerisco questa pagina:
   https://www.gambas-it.org/wiki/index.php?title=%22Andare_a_capo%22_in_un_oggetto_di_testo
« Ultima modifica: 13 Dicembre 2021, 17:22:45 da vuott »
« 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. »