Hola buenos días. ¿Hay alguna función de como cambiar la fecha y hora del Sistema Operativo utilizando un Visual FoxPro? De antemano muchas gracias. Saludos
1 respuesta
Respuesta de tigrefox
1
1
tigrefox, Colaborador, Solidario y Amigo, Ingeniero de Sistemas,...
AMIGO TE ENVIO UN CODIGO QUE FUNCIONA ANALICELO Y APLICALO SET PROCEDURE TO fecha LOCAL tide, tide1 tide=DATETIME() ?tide tide1=tide-1000000 ?tide1 WAIT WINDOW "hola" writeLocalTime(tide1) // esta es el llamodo de la funcion que realmente cambia la fecha tide1 debe ser tipo datetime return *======================== FUNCTION WriteLocalTime(ltDateTime) *======================== * Escribe mediante API el GetLocalTime * Parametro: Debe pasarse una variable del tipo DateTime * Retorno: .T. si pudo cambiar fecha y hora * .F. envio un parámetro no válido o error * Autor: LMG - 1998.09.14 *======================== IF TYPE("ltDateTime") # "T" RETURN .F. ENDIF LOCAL lcCadena lcCadena = _10to256(YEAR(ltDateTime),2) + ; _10to256(MONTH(ltDateTime),2) + ; _10to256(DOW(ltDateTime),2) + ; _10to256(DAY(ltDateTime),2) + ; _10to256(HOUR(ltDateTime),2) + ; _10to256(MINUTE(ltDateTime),2) + ; _10to256(SEC(ltDateTime),2) + ; _10to256(000,2) + SPAC(24) DECLARE SetLocalTime IN win32api ; STRING lcCadena RETURN SetLocalTime(lcCadena) ENDFUNC *======================== FUNCTION _10to256(lnNumero, lnCant) *======================== * Toma número en base 10 y lo convierte * en "lnCant" caracteres en base 256 * Usada por: WriteLocalTime() * Autor: LMG - 1998.09.14 *======================== LOCAL lcRetorno, lnAscii lcRetorno='' DO WHILE lnNumero >= 256 lnAscii=MOD(lnNumero,256) lcRetorno=lcRetorno + CHR(lnAscii) lnNumero=INT(lnNumero / 256) ENDDO lnAscii=lnNumero lcRetorno=lcRetorno + CHR(lnAscii) RETURN PADR(lcRetorno, lnCant, CHR(0)) Endfunc