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

Da Gambas-it.org - Wikipedia.
Riga 5: Riga 5:
 
   
 
   
 
   
 
   
  '''Public''' Sub Form_Open()
+
  '''Public''' Sub Main()
 
    
 
    
 
   fl = Open "/proc/uptime" For Read Watch
 
   fl = Open "/proc/uptime" For Read Watch
Riga 15: Riga 15:
 
  '''Public''' Sub File_Read()
 
  '''Public''' Sub File_Read()
 
    
 
    
Dim q As String
+
  Dim s As String
Dim qq As String[]
+
  Dim p As Pointer
    
+
   Dim ar As File
  q = File.Load("/proc/uptime")
+
 +
<FONT color=gray>' ''Apriamo nuovamente il file, ma ora per la lettura e la conseguente raccolta dei dati:''</font>
 +
  ar = Open "/proc/uptime" For Read
 +
 +
<FONT color=gray>' ''Leggiamo solo i primi 7 byte del flusso:''</font>
 +
  Read #ar, s, 7
 
   
 
   
  <FONT color=#006400>' ''Raccogliamo solo il primo dato:''</font>
+
  <FONT color=gray>' ''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:''</font>
  qq = Split(q, " ")
+
  p = VarPtr(s)
 
    
 
    
  TextLabel1.text = qq[0]
+
<FONT color=gray>' ''Viene finalmente mostrato il risultato in console:''</font>
 +
  Print String@(p)
 
   
 
   
  <FONT color=#006400>' ''Poniamo un ritardo, al fine di impedire un uso eccessivo della CPU:''</font>
+
  <FONT color=gray>' ''Poniamo ad esempio un ritardo di 5 decimi di secondo:''</font>
  Sleep 0.5
+
  Sleep 0.5
 
    
 
    
 
  '''End'''
 
  '''End'''

Versione delle 09:21, 30 giu 2015

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 senza l'uso di Shell.


Private fl As File


Public Sub Main()
 
 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:
  Sleep 0.5
 
End