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 de junio0or
1
1
junio0or, Hola ... Estudio Ingenieria en Sistemas, con experiencia en...
*------------------------------------------------------------------------------------------------- * 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