Differenze tra le versioni di "Visualizzare il tempo trascorso dall'ultimo avvio del sistema"
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