Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   API de Windows (https://www.clubdelphi.com/foros/forumdisplay.php?f=7)
-   -   HORA de SISTEMA (https://www.clubdelphi.com/foros/showthread.php?t=66249)

D1360666 09-02-2010 20:25:51

HORA de SISTEMA
 
Hola estoy haciendo un sistema de puntos de venta, donde tengo un servidor central con ORACLE 11g y como base local ORACLE XE.
En la XE tengo las bases principales para que la caja inicie.

Lo que necesito es poder tomar la hora del servidor principal de ORACLE 11g y cambiarselo desde mi aplicación al sistema operativo de la estación del punto de venta, para tener la hora sincronizada en ambas bds.

rgstuamigo 09-02-2010 21:34:36

Bueno es cuestion de hacer una consulta SQL al servidor de Oracle consultando la hora del servidor y luego usar la API SetSystemTime para cambiar la hora de la maquina cliente.;).
En este hilo hay un ejemplo de como de cambiar la hora desde Delphi, aunque aqui va otro ejemplo pero en éste caso uso la API SetLocalTime ;)
Código Delphi [-]
procedure TForm1.Button1Click(Sender: TObject);
var
SystemTime: TSystemTime;
Newtime, NewDate: string;
begin
Newtime:='12:00:00 ';
NewDate:='01.01.2010 ';
DateTimeToSystemTime(StrToDate(NewDate)+StrToTime(newtime),SystemTime);
SetLocalTime(SystemTime);
// Indicarle a Windows el cambio
PostMessage(HWND_BROADCAST,WM_TIMECHANGE,0,0);
end;

Saludos...:)

D1360666 10-02-2010 01:11:51

Muy bueno
 
Sos un groso
Gracias mañana lo estaré probando en el proyecto.
Justamente habia encontrado algo en un sitio de Microsoft sobre .net Framework.

Desde ya muchas gracias.-

look 10-02-2010 15:34:54

Cita:

Empezado por D1360666 (Mensaje 353474)
Hola estoy haciendo un sistema de puntos de venta, donde tengo un servidor central con ORACLE 11g y como base local ORACLE XE.
En la XE tengo las bases principales para que la caja inicie.

Lo que necesito es poder tomar la hora del servidor principal de ORACLE 11g y cambiarselo desde mi aplicación al sistema operativo de la estación del punto de venta, para tener la hora sincronizada en ambas bds.


Código Delphi [-]
/// eip.text es un edit que contiene el ip del servidor

WinExec(Pchar('COMMAND.COM /C net time \\'+eip.text+' /set /yes'), SW_HIDE);


La franja horaria es GMT +2. Ahora son las 19:27:46.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi