CISA FotoGallery

Statistiche

Tot. visite contenuti : 927932
Home Articoli tecnici API Determinare ORA LEGALE/SOLARE

Determinare ORA LEGALE/SOLARE

Ho pensato a questo metodo per discriminare se è in corso l'ora legale piuttosto che quella solare si basa sulla differenza tra l'ora Locale e GMT che quando = 2 è indice di ora Legale:

CODICE

' Codice da mettere in un Modulo
' Dichiarazioni API
Private Declare Sub GetLocalTime Lib "kernel32" _
            (lpSystemTime As SYSTEMTIME)
Private Declare Sub GetSystemTime Lib "kernel32"_
            (lpSystemTime As SYSTEMTIME)

' Dichiarazione della variabile strutturata da passare alle funzioni API
Private Type SYSTEMTIME
    wYear As Integer
    
wMonth As Integer
    
wDayOfWeek As Integer
    
wDay As Integer
    
wHour As Integer
    
wMinute As Integer
    
wSecond As Integer
    
wMilliseconds As Integer
    
wAM As Integer
End Type

' FUNZIONE DA CHIAMARE
' Restituisce:
' "LEGALE"
' "SOLARE"
' Come stringa
Public Function DisplayClock()
    Dim MyLTime As SYSTEMTIME
    Dim MySTime As SYSTEMTIME
    Dim dif As Integer
    
GetLocalTime MyLTime
    GetSystemTime MySTime
    If MyLTime.wHour > MySTime.wHour Then
        
dif = MyLTime.wHour - MySTime.wHour
    Else
        
dif = (24 + MyLTime.wHour) - MySTime.wHour
    End If
    If
dif = 2 Then
        
DisplayClock = "LEGALE"
    Else
        
DisplayClock = "SOLARE"
    End If
End Function