Differenze tra le versioni di "Gmtime()"
Da Gambas-it.org - Wikipedia.
(Creata pagina con 'La funzione della libreria di C struct tm *gmtime(const time_t *timer); utilizza il valore puntato dalla funzione ''timer()'' per riempire una struttura con i valori che rapp...') |
|||
Riga 36: | Riga 36: | ||
<FONT color=Gray>' ''time_t time(time_t *t)'' | <FONT color=Gray>' ''time_t time(time_t *t)'' | ||
' ''Poiché la funzione "time" ha lo steso nome della funzione "Time" i Gambas, le cambiamo nome,'' | ' ''Poiché la funzione "time" ha lo steso nome della funzione "Time" i Gambas, le cambiamo nome,'' | ||
− | ' 'ma contestuamente dichiariamo il vero nome con "Exec":''</font> | + | ' ''ma contestuamente dichiariamo il suo vero nome con "Exec":''</font> |
Private Extern Ora(t As Pointer) As Integer Exec "time" | Private Extern Ora(t As Pointer) As Integer Exec "time" | ||
Versione delle 16:50, 10 set 2014
La funzione della libreria di C
struct tm *gmtime(const time_t *timer);
utilizza il valore puntato dalla funzione timer() per riempire una struttura con i valori che rappresentano il tempo corrispondente, espressi in tempo universale coordinato (UTC) o GMT fuso orario.
In Gambas, bisognerà innanzitutto dichiarare la prevista Struttura tm:
Public Struct tm tm_sec As Integer ' secondi (0 - 59) tm_min As Integer ' minuti (0 - 59) tm_hour As Integer ' ore (0 - 23) tm_mday As Integer ' Giorno del mese (1 - 31) tm_mon As Integer ' Mese (1 - 12) tm_year As Integer ' Anno (numero di anni dal 1900) tm_wday As Integer ' Giorno della Settimana (0 - 6) tm_yday As Integer ' Giorno nell'Anno (0 - 365) tm_isdst As Integer ' ora legale End Struct
inoltre si dovrà dichiarare la fuzione gmtime() con Extern, nonché dichiarare la libreria di C: libc.so.6, nella quale la funzione è contenuta:
Private Extern gmtime(time_p As Pointer) As Tm) As Integer In "libc:6"
Semplice esempio di uso in Gambas insieme con la funzione di C Time() per ottenere l'orario corrente:
Public Struct tm tm_sec As Integer ' secondi (0 - 59) tm_min As Integer ' minuti (0 - 59) tm_hour As Integer ' ore (0 - 23) tm_mday As Integer ' Giorno del mese (1 - 31) tm_mon As Integer ' Mese (1 - 12) tm_year As Integer ' Anno (numero di anni dal 1900) tm_wday As Integer ' Giorno della Settimana (0 - 6) tm_yday As Integer ' Giorno nell'Anno (0 - 365) tm_isdst As Integer ' ora legale End Struct Library "libc:6" ' time_t time(time_t *t) ' Poiché la funzione "time" ha lo steso nome della funzione "Time" i Gambas, le cambiamo nome, ' ma contestuamente dichiariamo il suo vero nome con "Exec": Private Extern Ora(t As Pointer) As Integer Exec "time" ' struct tm *gmtime(const time_t *timer) Private Extern gmtime(time_p As Pointer) As Tm Public Sub Main() Dim nunc As Pointer Dim tempus As New Tm ' Legge il corrente orario del sistema: ora(VarPtr(nunc)) ' Converte l'orario del sistema in GMT (ora UTC): tempus = gmtime(VarPtr(nunc)) ' Mostra l'orario corrente valido per l'Italia: Print "Orario: "; (tempus.tm_hour + 2) Mod 24; ":"; Format(tempus.tm_min, "00"); ":"; Format(tempus.tm_sec, "00") End