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 26-06-2014
carlosprotos carlosprotos is offline
Miembro
 
Registrado: abr 2014
Posts: 28
Poder: 0
carlosprotos Va por buen camino
Exclamation como controlar tiempo

Como seria la función para controlar tiempo , por ejemplo , quiero que mi form funcione hasta el 31/06/2014 y que a partir de esa fecha para adelante no se abra nunca mas (form1.close) , como seria la función ??.
Responder Con Cita
  #2  
Antiguo 26-06-2014
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.463
Poder: 21
newtron Va camino a la fama
Cita:
Empezado por carlosprotos Ver Mensaje
Como seria la función para controlar tiempo , por ejemplo , quiero que mi form funcione hasta el 31/06/2014 y que a partir de esa fecha para adelante no se abra nunca mas (form1.close) , como seria la función ??.
Hola.

¿Y con qué fecha piensas comparar ese día 31/06/2014? porque si es para una demo es una protección bastante pobre, si al sistema le cambian la fecha el programa seguiría funcionando.
__________________
Be water my friend.
Responder Con Cita
  #3  
Antiguo 26-06-2014
Avatar de Neftali [Germán.Estévez]
Neftali [Germán.Estévez] Neftali [Germán.Estévez] is offline
[becario]
 
Registrado: jul 2004
Ubicación: Barcelona - España
Posts: 18.276
Poder: 10
Neftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en brutoNeftali [Germán.Estévez] Es un diamante en bruto
La primera opción es utilizar la función Now() que te da la fecha y hora actual. Basta comparar eso con la fecha que quieres poner como "tope".
Eso funcionará, pero tal y como dice newtron, lo primero que va a hacer el usuario es probar a cambiar la fecha.

Habría que "estrujarse" un poco más las neuronas para mejorar un poco más...

Lo primero que se me ocurre, por ejemplo, es obtener la fecha de otro sitio:

* Servidor SGBD: SQLServer, Firebird, MySQL,...
Dependiendo de los programas que lo utilicen, no es fácil poder cambiar la Fecha del SQBD.

* Internet

* Algun fichero de sistema (pagefile.sys)


Otra cosa es guardar en el registro alguna clave con la fecha de la última ejecución. Cada vez que ejecutas si la fecha es Mayor que la almacenada, la sobreescribes, si es menor o igual no. De esta forma si "tiran" el reloj para atrás la fecha seguirá siendo la mayor. Ese valor habría que "ofuscarlo" un poquito.

Puedes seguir complicándolo mucho, todo depende del tiempo que quieras invertir...
__________________
Germán Estévez => Web/Blog
Guía de estilo, Guía alternativa
Utiliza TAG's en tus mensajes.
Contactar con el Clubdelphi

P.D: Más tiempo dedicado a la pregunta=Mejores respuestas.
Responder Con Cita
  #4  
Antiguo 26-06-2014
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.463
Poder: 21
newtron Va camino a la fama
Cita:
Empezado por Neftali Ver Mensaje
Otra cosa es guardar en el registro alguna clave con la fecha de la última ejecución. Cada vez que ejecutas si la fecha es Mayor que la almacenada, la sobreescribes, si es menor o igual no. De esta forma si "tiran" el reloj para atrás la fecha seguirá siendo la mayor. Ese valor habría que "ofuscarlo" un poquito.
esta me mola. De todas formas todavía no hemos contestado la pregunta del colega carlosprotos.
__________________
Be water my friend.
Responder Con Cita
  #5  
Antiguo 26-06-2014
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.734
Poder: 20
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Cita:
De todas formas todavía no hemos contestado la pregunta del colega carlosprotos.
Código Delphi [-]
var
  Fecha_Demo : TDateTime;
[...]
  // Establezco una fecha final (31/06/2014 23:59:59.999)
  Fecha_Demo := EncodeDateTime(2014, 06 31, 23, 59, 59, 999);
  // Si se hoy es posterior a esta fecha cierro
  if (Now > Fecha_Demo) then
     Close;
Responder Con Cita
  #6  
Antiguo 27-06-2014
Avatar de newtron
[newtron] newtron is offline
Membrillo Premium
 
Registrado: abr 2007
Ubicación: Motril, Granada
Posts: 3.463
Poder: 21
newtron Va camino a la fama
Hola de nuevo.

Yo en alguna ocasión, y para no complicarme mucho la vida, lo que hago es hacer la comparación con la última fecha de alguna tabla de la base de datos que contenga movimientos como pueden ser apuntes contables, albaranes, etc. de esta manera no tienes que preocuparte de guardar nada ni en registro ni buscar fechas por ningún sitio, la comparas con los datos que tienes en el programa y si se han colado de fecha lo cierras y a volar. El código puede ser el mismo que te apunta el amigo duilioisola pero comparando con la fecha que te comento.

Saludos
__________________
Be water my friend.
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
Controlar Tiempo e Imprimir Formulario de Informe nefore Varios 11 23-08-2013 02:39:25
Controlar componentes creados en tiempo de ejecución. damirua OOP 1 13-05-2010 14:03:58
Controlar el tiempo de ejecucion cyber_zero Varios 1 22-09-2008 01:01:05
Controlar el tiempo actual Alexis7788 Varios 3 28-09-2006 20:14:21
Controlar Tiempo de Carga en Mysql -> Zeos -> Delphi LuCkY_007 MySQL 3 07-09-2006 14:51:07


La franja horaria es GMT +2. Ahora son las 16:19:08.


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