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 02-03-2009
Paulao Paulao is offline
Miembro
 
Registrado: sep 2003
Ubicación: Rua D 31 Casa 1 - Inhoaíba - Rio de Janeiro - RJ - Brasil
Posts: 637
Poder: 21
Paulao Va por buen camino
Progress bar con query

He buscado el tema, pero me dice siempre que no ha tema. La pregunta es: Como hago para poner una progressBar o TGauge mientras una query es ejecutada? Gracias a todos!!
Responder Con Cita
  #2  
Antiguo 02-03-2009
Avatar de ContraVeneno
ContraVeneno ContraVeneno is offline
Miembro
 
Registrado: may 2005
Ubicación: Torreón, México
Posts: 4.738
Poder: 23
ContraVeneno Va por buen camino
¿cómo te conectas a la base de datos?

Si estas utilizando ADO, un TADOQuery por ejemplo, puedes utilizar el evento OnFetchProgress para actualizar tu barra.

La otra opción es utilizar hilos de ejecución (TThread)
__________________

Responder Con Cita
  #3  
Antiguo 02-03-2009
amadis amadis is offline
Miembro
 
Registrado: may 2005
Ubicación: San José, Colón, Entre Ríos, Argentina
Posts: 315
Poder: 19
amadis Va por buen camino
Lightbulb

Como no sabes cuanto va a demorar en cargar el contenido
Puedes poner un Ttimer cada 1 seg que incremente en 1 (hasta 100 y luego de 1 a 100) el progreso del objeto que uses.

Ese lo activarias en la linea anterior a la que activa el Tquery y pondrías visible el PrograssBar

Y en la linea siguiente (que se ejecuta tras terminar el Tquery) desactivas el Ttimer y ocultas el TprogressBar.

Espero haber ayudado
Responder Con Cita
  #4  
Antiguo 03-03-2009
Cheerpipe Cheerpipe is offline
Miembro
 
Registrado: oct 2006
Posts: 46
Poder: 0
Cheerpipe Va por buen camino
Cuando las consultas son rapidas normalmente no utilizo progressbar, en cuambio cuando son consultas gordas, ejecuto la consulta desde un hilo independiente del programa y muestro una pequeña ventana modal sin borde con un gif de progreso circular indicando que la operacion puede tardar unos segundos.

Es importante que bloquees el resto de la aplicacion para no ejecutar por error una segunda consulta a la DB desde la misma aplicacion, de forma paralela a la actual en ejecucion.

Esto lo hago creando y mostrando el modal justo despues de la linea de arranque del hilo de ejecucion de la consulta, luego al terminar la consulta envio un mensaje al formulario modal, y con ello lo cierro.
Responder Con Cita
  #5  
Antiguo 23-07-2016
ciudad54 ciudad54 is offline
Miembro
 
Registrado: oct 2008
Posts: 27
Poder: 0
ciudad54 Va por buen camino
He tratado de utilizar el evento FetchProgress pero no me funciona...

Algun ejemplo en concreto que puedan mostrar?
Responder Con Cita
  #6  
Antiguo 30-08-2016
ciudad54 ciudad54 is offline
Miembro
 
Registrado: oct 2008
Posts: 27
Poder: 0
ciudad54 Va por buen camino
Código Delphi [-]
with ADOQuery1 do
begin
SQL.Clear;
SQL.Add('select * from Tabla1');
ExecuteOptions := [eoAsyncFetch];
Open;
end;

En el Evento OnFetchProgress del ADOQuery:

ProgressBar1.Max := MaxProgress;
ProgressBar1.Position := Progress;
Application.ProcessMessages;
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
SplashScreen + Progress Bar lKinGl Varios 1 14-04-2008 02:13:15
Progress Bar personalizada Oni OOP 2 07-02-2006 16:47:44
Progress Bar al compactar BD Nbull Varios 5 28-02-2005 10:14:16
Progress - DataDirect altp Conexión con bases de datos 3 15-07-2004 10:58:27
I'm progress Neo Varios 2 19-06-2003 20:01:00


La franja horaria es GMT +2. Ahora son las 20:25:11.


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