Differenze tra le versioni di "Visualizzare il tempo trascorso dall'ultimo avvio del sistema"

Da Gambas-it.org - Wikipedia.
Riga 1: Riga 1:
Per visualizzare il tempo trascorso dall'ultimo avvio del proprio sistema, si andrà a leggere il primo dato presente nel file: ''/proc/uptime''. Otterremo qui questo risultato <SPAN style="text-decoration:underline">senza</span> l'uso di ''Shell''.
+
Per visualizzare il tempo trascorso dall'ultimo avvio del proprio sistema, si andrà a leggere mediante l'aiuto di un ''Puntatore'' il primo dato presente nel file: ''/proc/uptime''. Otterremo qui questo risultato <SPAN style="text-decoration:underline">senza</span> l'uso di ''Shell''.
  
 +
Nella routine principale apriremo il file "''/proc/uptime''", ponendolo sotto ''osservazione'' ai soli fini di far sollevare l'evento di ''lettura'', e così di leggere con una nuova e diversa apertura del medesimo file i dati utili, ogni qual volta vi sono dati appunto da leggere.
  
 +
Una lettura diretta del file nella routine "''File_Read()''" mediante la variabile di tipo ''File'', ottenuta con l'istruzione ''Open'' della routine principale ''Sub Main()'', non risulta possibile: seppure assenti errori, non vengono restituiti dati.
 +
 +
 +
Mostriamo un esempio pratico:
 
  Private fl As File
 
  Private fl As File
 
   
 
   
Riga 7: Riga 12:
 
  '''Public''' Sub Main()
 
  '''Public''' Sub Main()
 
    
 
    
 +
<FONT color=gray>' ''Apriamo il file solo per far sollevare l'evento di lettura ogni qual volta v'è qualcosa di nuovo da leggervi:''</font>
 
   fl = Open "/proc/uptime" For Read Watch
 
   fl = Open "/proc/uptime" For Read Watch
 
   
 
   
Riga 31: Riga 37:
 
   Print String@(p)
 
   Print String@(p)
 
   
 
   
  <FONT color=gray>' ''Poniamo ad esempio un ritardo di 5 decimi di secondo:''</font>
+
  <FONT color=gray>' ''Poniamo ad esempio un ritardo di 5 decimi di secondo, anche al fine di impedire un uso eccessivo della CPU:''</font>
 
   Sleep 0.5
 
   Sleep 0.5
 
   
 
   

Versione delle 09:31, 30 giu 2015

Per visualizzare il tempo trascorso dall'ultimo avvio del proprio sistema, si andrà a leggere mediante l'aiuto di un Puntatore il primo dato presente nel file: /proc/uptime. Otterremo qui questo risultato senza l'uso di Shell.

Nella routine principale apriremo il file "/proc/uptime", ponendolo sotto osservazione ai soli fini di far sollevare l'evento di lettura, e così di leggere con una nuova e diversa apertura del medesimo file i dati utili, ogni qual volta vi sono dati appunto da leggere.

Una lettura diretta del file nella routine "File_Read()" mediante la variabile di tipo File, ottenuta con l'istruzione Open della routine principale Sub Main(), non risulta possibile: seppure assenti errori, non vengono restituiti dati.


Mostriamo un esempio pratico:

Private fl As File


Public Sub Main()
 
' Apriamo il file solo per far sollevare l'evento di lettura ogni qual volta v'è qualcosa di nuovo da leggervi:
 fl = Open "/proc/uptime" For Read Watch

End



Public Sub File_Read()
 
 Dim s As String
 Dim p As Pointer
 Dim ar As File

' Apriamo nuovamente il file, ma ora per la lettura e la conseguente raccolta dei dati:
  ar = Open "/proc/uptime" For Read 

' Leggiamo solo i primi 7 byte del flusso:
  Read #ar, s, 7

' Poiché dopo i 7 caratteri vi è un byte di valore zero (Nul), ci serviamo del "Puntatore" per escludere tutto ciò che v'è da quel valore zero in poi:
  p = VarPtr(s)
 
' Viene finalmente mostrato il risultato in console:
  Print String@(p)

' Poniamo ad esempio un ritardo di 5 decimi di secondo, anche al fine di impedire un uso eccessivo della CPU:
  Sleep 0.5

  ar.Close
 
End