Obtener la Hora del Server

Hola buenas tardes, algien me puede ayudar con un ejemplo de como obtener la fecha y la hora de un servidor win server 2003, tengo una aplicacion en red y necesito obtener estos datos del server.

1 Respuesta

Respuesta
1
*-------------------------------------------------------------------------------------------------
*    Procedimiento:    ServerTime
*    Descripción:    Devuelve la hora del servidor especificado, Null si no encuentra el servidor.
*    Sintaxis:        ServerTime("\\NombreDeServidor")
*    Desarrollado:    Marvin R. Mendez Barrios
*-------------------------------------------------------------------------------------------------
Function ServerTime
    Parameters tcServerName
    Declare Integer NetRemoteTOD In NetApi32 String @, Integer @
    Declare Integer RtlMoveMemory In Win32Api String @OutBuffer, Integer InBuffer, Integer Bytes2Copy
    tdBuffOut = Replicate(Chr(0), 48)
    tdBuffIn = 0
    lcTryServerName = StrConv(tcServerName, 5)
    xBoolean = .F.
    rcx = NetRemoteTOD(@lcTryServerName, @tdBuffIn)
    If rcx = 0
        =RtlMoveMemory(@tdBuffOut, tdBuffIn, 48)
    Else
        lcTryServerName = StrConv("\\" + tcServerName, 5)
        rcx = NetRemoteTOD(@lcTryServerName, @tdBuffIn)
        If rcx = 0
            = RtlMoveMemory(@tdBuffOut, tdBuffIn, 48)
        Else
            xBoolean = .T.  && *-- Error al encontrar el servidor, devuelve DateTime local.
        EndIf
    EndIf
    If !xBoolean
        Tod_Mes = Str2Long(Substr(tdBuffOut, 37, 4))
        Tod_Dia = Str2Long(Substr(tdBuffOut, 33, 4))
        Tod_Ano = Str2Long(Substr(tdBuffOut, 41, 4))
        Tod_Hrs = Str2Long(Substr(tdBuffOut, 9, 4))
        Tod_Mns = Str2Long(Substr(tdBuffOut, 13, 4))
        Tod_Scs = Str2Long(Substr(tdBuffOut, 17, 4))
        Tod_TZn = Str2Long(Substr(tdBuffOut, 25, 4)) * 60
        ServerDateTime = DateTime(Tod_Ano, Tod_Mes, Tod_Dia, Tod_Hrs, Tod_Mns, Tod_Scs) - Tod_TZn
    Else
        ServerDateTime = Datetime()
    Endif
    Return ServerDateTime    
EndFunc
*/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
*-------------------------------------------------------------------------------------------------
*    Procedimiento:    Str2Long
*    Descripción:    Complemento de la funcion ServerTime.
*    Desarrollado:    Marvin R. Mendez Barrios
*-------------------------------------------------------------------------------------------------
Function Str2Long(tcLongStr)
    Local ln, lnRetVal
    lnRetVal = 0
    For ln = 0 To 24 Step 8
        lnRetVal = lnRetVal + (Asc(tcLongStr) * (2^ln))
        tcLongStr = Right(tcLongStr, Len(tcLongStr) - 1)
    EndFor
    Return lnRetVal
EndFunc
*/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
Te dejo una obra de arte jajaja pero bueno espero que la sepas usar, mira que fue dificil

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas