Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 07-12-2014
JuanOrtega JuanOrtega is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 130
Poder: 13
JuanOrtega Va por buen camino
Cambiar solo la hora en Delphi

Hola estoy tratando de cambiar solo la hora en delphi , me estoy basando en este codigo :

Código Delphi [-]
var
 MyNewTime: _SYSTEMTIME;
begin
// primero llenamos la estructura
 with MyNewTime do
  begin
   wYear        := 2004; // año
   wMonth       := 8;    // agosto
   wDayOfWeek   := 5;    // jueves
   wDay         := 19;   // día del mes
   wHour        := 01;   // hora
   wMinute      := 55;   // minutos
   wSecond      := 00;   // segundos
   wMilliseconds:= 00;   // milisegundos
  end;
// luego la aplicamos
 SetSystemTime(MyNewTime);

A lo que llegue a esto :

Código Delphi [-]
program test;

{$APPTYPE CONSOLE}
{$R *.res}


uses
  System.SysUtils, ShellApi, Windows,Winapi.Messages;

function change_time():string;
var
MyNewTime: _SYSTEMTIME;
begin

with MyNewTime do
begin
wHour := 1;
end;
SetSystemTime(MyNewTime)
end;

begin
  try
    change_time();
  except
    on E: Exception do
      Writeln(E.ClassName, ': ', E.Message);
  end;

end.

El tema es que este codigo no me cambia la hora ni en modo normal ni como administrador , creo que los demas parametros son obligatorios pero yo solo quiero cambiar la hora del sistema no desconfigurar todo.

Nota : Estoy usando Delphi XE2 en Windows Seven

¿ Hay alguna forma de hacer lo que quiero ?

Última edición por JuanOrtega fecha: 07-12-2014 a las 17:02:10.
Responder Con Cita
  #2  
Antiguo 07-12-2014
Avatar de mamcx
mamcx mamcx is offline
Moderador
 
Registrado: sep 2004
Ubicación: Medellín - Colombia
Posts: 3.911
Poder: 25
mamcx Tiene un aura espectacularmamcx Tiene un aura espectacularmamcx Tiene un aura espectacular
Y para que quieres hacer eso?
__________________
El malabarista.
Responder Con Cita
  #3  
Antiguo 07-12-2014
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Hola Lepuke.

Tampoco me queda en claro la finalidad... Pero intentá de este modo:
Código Delphi [-]
program test;

{$APPTYPE CONSOLE}

uses
  SysUtils, Windows;

procedure ChangeSysTime(const aTime: TDateTime);
var
  SystemTime: TSystemTime;
begin
  DateTimeToSystemTime(Date + aTime, SystemTime);
  SetLocalTime(SystemTime);
end;

// main
begin
  ChangeSysTime(StrToTime('01:39:10 pm'));
end.

Saludos
__________________
Daniel Didriksen

Guía de estilo - Uso de las etiquetas - La otra guía de estilo ....
Responder Con Cita
  #4  
Antiguo 07-12-2014
JuanOrtega JuanOrtega is offline
Miembro
NULL
 
Registrado: sep 2011
Posts: 130
Poder: 13
JuanOrtega Va por buen camino
Funciona pefecto , gracias por la ayuda efcisa.

El unico problema es que tuve que cambiar la linea a :

Código Delphi [-]
ChangeSysTime(StrToTime('09:00:00'));

Última edición por JuanOrtega fecha: 07-12-2014 a las 18:17:22.
Responder Con Cita
  #5  
Antiguo 08-12-2014
orodriguezca orodriguezca is offline
Miembro
 
Registrado: ene 2009
Posts: 221
Poder: 16
orodriguezca Va por buen camino
Para que?

No se para que lo necesite Lepuke pero en otra época, cuando aún internet era un lujo y no había mucha divulgación de servidores de tiempo esta era la forma fácil de mantener sincronizada la hora de los PCs de nuestra red local con la hora del servidor.
Responder Con Cita
  #6  
Antiguo 08-12-2014
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.043
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por orodriguezca Ver Mensaje
Para que?
No se para que lo necesite Lepuke pero en otra época, cuando aún internet era un lujo y no había mucha divulgación de servidores de tiempo esta era la forma fácil de mantener sincronizada la hora de los PCs de nuestra red local con la hora del servidor.
Nunca se me ocurrió cambiarle la hora al cliente para que esté sincronizado con el servidor, ¿por qué? hay varios motivos, pero uno importante es: ¿y si el cliente está en otro lugar y tiene una hora diferente?

Para tomar la hora del servidor lo que se hace es tomarlo del propio servidor, ejemplo, si guardas una factura con la fecha de la misma, haces un select de la propia base de datos (que está en el servidor, obviamente)
Código SQL [-]
select current_date, current_timestamp
from rdb$database;
De esa forma, da igual la fecha y hora que tenga cada cliente, ya que las fechas y horas se tomarán siempre del servidor.
Responder Con Cita
Respuesta



Normas de Publicación
no Puedes crear nuevos temas
no Puedes responder a temas
no Puedes adjuntar archivos
no Puedes editar tus mensajes

El código vB está habilitado
Las caritas están habilitado
Código [IMG] está habilitado
Código HTML está deshabilitado
Saltar a Foro

Temas Similares
Tema Autor Foro Respuestas Último mensaje
Cómo mostrar solo la hora de un campo DateTime en un grid FerCastro SQL 2 03-09-2008 17:15:35
Guardar Solo Hora usando DateTimePicker georgejg Conexión con bases de datos 6 23-03-2008 10:12:29
cambiar la hora sin am/pm?? ale_metall Varios 3 16-11-2007 13:29:04
componenete que solo te recupere la hora en delphi richy08 Varios 5 11-10-2007 09:58:59
Solo quiero la hora de un campo Fecha/Hra en Qreport suseLinux Impresión 2 12-12-2006 02:37:39


La franja horaria es GMT +2. Ahora son las 04:26:06.


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