Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Conexión con bases de datos
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Conexión con bases de datos

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 13-11-2007
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Poder: 21
BuenaOnda Va por buen camino
Thumbs up Gracias por sus respuestas..

lo que dice duilioisola es lo que estoy haciendo, pero la consulta , al ejecutarse, no permite que se refresque el timer, eso es lo que busco solo poder refrescar el timer, para mostrar el tiempo transcurrido..muchas gracias por su ayuda compañeros..
Responder Con Cita
  #2  
Antiguo 13-11-2007
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Poder: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
Puedes poner el código que tienes dentro de OnTimer, para poder ver porqué no refresca el timer.
Quizás te podamos ayudar si vemos un error o una omisión o ... quién sabe qué.
Responder Con Cita
  #3  
Antiguo 14-11-2007
Avatar de boreg
boreg boreg is offline
Miembro
 
Registrado: oct 2007
Ubicación: México, México
Posts: 76
Poder: 19
boreg Va por buen camino
Saludos, supongo que lo que hace falta es usar el metodo refresh del formulario (Formulario.refresh que redibuja el formulario completo con el OnTimer, es solo una suposicion la verdad es que me estoy iniciando en la programacion con delphi y no le se mucho al respecto.
Espero sea de ayuda SUERTE!!!!!
Responder Con Cita
  #4  
Antiguo 14-11-2007
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Poder: 21
BuenaOnda Va por buen camino
Hola...
Este es el Código del Timer..


Código Delphi [-]
procedure TfrmMontosFacturadosPorFamilia.Timer1Timer(Sender: TObject);
begin
     Application.ProcessMessages;
     Tiempo:=Tiempo + 0.00001;
     lblTiempo.Caption:=FormatDateTime('hh:nn:ss',Tiempo);
     lblTiempo.Refresh;
     Application.ProcessMessages;
end;

Gracias por sus respuestas compañeros..
Responder Con Cita
  #5  
Antiguo 14-11-2007
Avatar de duilioisola
[duilioisola] duilioisola is offline
Miembro Premium
 
Registrado: ago 2007
Ubicación: Barcelona, España
Posts: 1.806
Poder: 22
duilioisola Es un diamante en brutoduilioisola Es un diamante en brutoduilioisola Es un diamante en bruto
En el procedimiento veo un error al darle formato a lblTiempo.Caption.
Los minutos están puesto con dos "N" y deben ser dos "M".

De todos modos, yo haría lo siguiente:

La variable Tiempo debe ser global. O sea, definida en la parte Private o Public del Form.

Código Delphi [-]
   public
      Tiempo : TDateTime;
Justo antes de ejecutar la consulta pones la variable Tiempo a la hora actual y activas el timer.
Código Delphi [-]
   [...]
   Tiempo := Now;
   Timer1.Enabled := True;
   Table.Open;   
   Timer1.Enabled := False;
   [...]
En el procedimiento OnTimer, cada vez que se ejecuta, debes deshabilitarlo, por las dudas tarde demasiado en ejecutarse y se ejecute otra vez antes de terminar la primera ejecución. Al finalizar lo que deba hacer lo habilitas nuevamente.

Lo que debes mostrar luego es la diferencia entre la hora actual y la hora a la que lo lanzaste (Now-Tiempo)

Recuerda lo que dije antes del formato "hh:mm:ss"
Código Delphi [-]
procedure TfrmMontosFacturadosPorFamilia.Timer1Timer(Sender: TObject);
begin
     Timer1.Enabled := False;
     lblTiempo.Caption:=FormatDateTime('hh:mm:ss',Now-Tiempo);
     lblTiempo.Refresh;
     Application.ProcessMessages;
     Timer1.Enabled := True;
end;

Dime si ahora, con este cambio te sale bien...
Responder Con Cita
  #6  
Antiguo 15-11-2007
Avatar de BuenaOnda
BuenaOnda BuenaOnda is offline
Miembro
 
Registrado: feb 2006
Ubicación: La Serena - Chile
Posts: 347
Poder: 21
BuenaOnda Va por buen camino
eso es lo que hago..(este formato 'hh:nn:ss' si funciona), lo que pasa es que al ejecutar la consulta SQL el evento OnTimer no se ejecuta, gracias por tu respuesta..
Responder Con Cita
  #7  
Antiguo 15-11-2007
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 31
Lepe Va por buen camino
Es un problema muy común. Mientras está buscando los datos en la base de datos, no podrás hacer nada.

Una solución es crear un Thread (un segundo hilo de ejecución) y ahí muestras el tiempo o lo que necesites. Obviamente tienes que crear y lanzar el thread y después abrir el sql.

Por otra parte 50 segundos me parece mucho. Marathon es un programa gratuito como Ib Expert, que permite ver el plan de ejecución de una consulta, estudiando eso, puedes saber si utiliza índices y claves primarias para la unión y selección de datos, o utiliza el plan "NATURAL".

duilioisola: Para el formato de hora, MM se utiliza para el mes en dos dígitos, como esas letras ya están pilladas, se usa nn para minutos. Cierto que usando hh:mm:ss no da error y muestra "aparentemente la hora", pero verás que los minutos se actualizan una vez al mes

Edito: Al parecer no he dicho nada nuevo, Neftali y tefots ya te lo dijeron (no leí el hilo al completo). El camino por el que vas no es el correcto.

Además, ¿para qué quieres mostrar un cronómetro?, ¿para que los usuarios vean lo ineficiente que es tu programa y así decir que tarda 53.88 segundos ?.

Saludos
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.

Última edición por Lepe fecha: 15-11-2007 a las 12:30:08.
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Tiempo de Espera barrauda Varios 4 16-07-2007 02:28:01
Tiempo de Espera Agotado eduardoemh SQL 0 28-06-2007 21:40:41
Tiempo de espera emeritos Varios 1 29-06-2006 11:49:26
Incrementar el tiempo de espera en ADO mvelgar Conexión con bases de datos 4 14-07-2005 21:43:05
Valor de tiempo de espera caducado senpiterno MS SQL Server 3 01-05-2005 02:50:03


La franja horaria es GMT +2. Ahora son las 07:30:10.


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
Copyright 1996-2007 Club Delphi