Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   OOP (https://www.clubdelphi.com/foros/forumdisplay.php?f=5)
-   -   Operaciones matematicas con tiempo (https://www.clubdelphi.com/foros/showthread.php?t=50295)

CoCaInE 14-11-2007 04:27:41

Operaciones matematicas con tiempo
 
Buenas, estoy intentando hacer saber a el usuario el tiempo restante que le queda para cerrar un formulario...estoy trabajando en un sistema de loteria y me gustaria que tiempo restante le queda para cerrar el sorteo intente esto.... pero no me sale :(

//Exacta es una variable que almacena el tiempo tomado de un query Edit5.Text:=timetostr(Exacta-1));

estaria muy agradecido si me echan una manito..:)

dec 14-11-2007 08:17:05

Hola,

Pues así, a bote pronto, parece cosa de utilizar un "TTimer", ¿no? Con el "TTimer" en marcha, puedes incrementar o decrementar el valor de una determinada variable, hacer "algo" cuando dicha variable contenga la cifra "esperada", e incluso mostrar el valor de la variable al usuario, desde el propio evento "OnTimer" del "TTimer". Dices que "no te sale", pero, ¿qué es lo que esperas y qué es lo que obtienes? Intenta concretar algos.

CoCaInE 14-11-2007 15:46:21

Cita:

Empezado por CoCaInE (Mensaje 245995)
Buenas, estoy intentando hacer saber a el usuario el tiempo restante que le queda para cerrar un formulario...estoy trabajando en un sistema de loteria y me gustaria que tiempo restante le queda para cerrar el sorteo intente esto.... pero no me sale :(

//Exacta es una variable que almacena el tiempo tomado de un query Edit5.Text:=timetostr(Exacta-1));

estaria muy agradecido si me echan una manito..:)


Pues si estoy utilizando ttimer en su respectivo evento , lo que no me sale es que al tiempo que le queda restante para cerrar el sistema, ejemplo tengo almacenada en una tabla la hora especifica del cierre del sistema.... y restando la hora actual de la aplicacion me diga que tiempo me queda especificamente para que el sistema se cierre..claro ambas horas la tomo del servidor de base de datos Mysql

Delphius 14-11-2007 15:57:40

Disculpa CoCaInE,
Pero no termino de comprenderte

¿Lo que tu deseas hacer es esto?

Código Delphi [-]
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  if Now = HoraCierre
     then close;
end;

En HoraCierre se tiene almacenado la hora en que debe finalizarse el trabajo. Ya sea que provenga el valor de un archivo, de una tabla... de lo que sea... es independiente de donde venga.

Como opción, para evitar que el usuario cierre el aplicativo haría:
Código Delphi [-]
procedure TForm1.FormCloseQuery(Sender: TObject; var CanClose: Boolean);
begin
  CanClose = False; //O también Now = HoraCierre
end;

Como he dicho, no se si te he entendido... dime si me he equivocado.
Saludos,

jhonny 14-11-2007 16:04:17

Bueno, pero si lo que quieres es visualizarlo en alguna parte, puedes hacer uso de la siguiente función:

Código Delphi [-]
function TiempoRestante(HoraHasta :TTime):String;
begin
  Result := FormatDateTime('HH:MM:SSSS', Time - HoraHasta);
end;

Para probarla coloque un TDateTimePicker con su prpiedad Kind en dtkTime, un TEdit y un TTimer, al OnTimer le puse esto:

Código Delphi [-]
procedure TForm1.Timer1Timer(Sender: TObject);
begin
  Edit1.Text  :=  TiempoRestante(DateTimePicker1.Time);
end;

Espero te sirva de algo :).

CoCaInE 18-11-2007 07:54:20

Gracias a todos me han servido de mucha ayuda...

CoCaInE 18-11-2007 08:15:04

Oh Oh tengo problemas al tratar de tomarla convertida del servidor por ejemplo utilizo la conversion de la siguiente manera
Código SQL [-]
Select time_format((Select now()),'%r')
no me deja salir porque interpreta el %r como si no perteneciera a la consulta.... alguna idea... es que necesito mostrarla en el formato de 12 horas....:o

CoCaInE 18-11-2007 08:45:51

Cita:

Empezado por CoCaInE (Mensaje 246905)
Oh Oh tengo problemas al tratar de tomarla convertida del servidor por ejemplo utilizo la conversion de la siguiente manera

Código SQL [-]Select time_format((Select now()),'%r')


no me deja salir porque interpreta el %r como si no perteneciera a la consulta.... alguna idea... es que necesito mostrarla en el formato de 12 horas....:o

ya lo eh resuelto sustituyendo las tilde por " gracias de todas maneras


La franja horaria es GMT +2. Ahora son las 05:39:00.

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