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 08-12-2009
rufo rufo is offline
Miembro
 
Registrado: jul 2006
Posts: 240
Poder: 18
rufo Va por buen camino
Question Ver el proceso de carga de un formulario

Hola amigos aqui de nuevo consultando a ustedes,resulta que tengo una aplicacion que uso Mainmenu en el cual cada menu se enlaza al formulario pero dichos formularios se conecta a una base de datos en el cual funciona bien, mi pregunta es la siguiente como puedo hacer que cuando le de un clic en el menu que elija me aparesca un progressbar indicando al usuario que esta cargando la aplicacion y cuando termine me muestre el formulario que elegi, quiero hacer incapie que no tengo ni la menor idea de como ponerlo, espero que me auxilien y de antemano muchas gracias.

Uso delphi 5
Responder Con Cita
  #2  
Antiguo 09-12-2009
Avatar de Ñuño Martínez
Ñuño Martínez Ñuño Martínez is offline
Moderador
 
Registrado: jul 2006
Ubicación: Ciudad Catedral, Españistán
Posts: 6.000
Poder: 25
Ñuño Martínez Tiene un aura espectacularÑuño Martínez Tiene un aura espectacular
Pues fácil: Creas la barra de progreso asignándole como valor máximo el número de acciones que va a realizar. Luego, después de cada acción incrementas el estado de dicha barra, llamando a "Application.ProcessMessages" justo después para que se actualice.
__________________
Proyectos actuales --> Allegro 5 Pascal ¡y Delphi!|MinGRo Game Engine
Responder Con Cita
  #3  
Antiguo 09-12-2009
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.285
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
Para colocar una barra de progreso, debes tener un proceso que se pueda dividir en pasos, de esa forma en cada paso puedes incrementar la posición de la barra.
Si tu formulario hace muchas cosas al cargar, puedes mostrar un formulario con una barra e incrementar la posición de esa barra después de cada operación, pero para eso se debe cumplir lo que antes te he dicho.

Lo que te quiero explicar es que si haces esto no se puede colocar una barra:

Código Delphi [-]
  Form1.Open;

Si tivueras algo así:

Código Delphi [-]
  op1;
  op2,
  op3;
  op4;
  ...

Podrías ir incrementando después de cada operación ese progreso.

Hay otras opciones como utilizar hilos o componentes de tipo "waitbar", pero si no das más detalles o colocas algo de código, es difícil saber cual de estas opciones (y otras que puede haber) es la que puede resultar útil en tu caso.
__________________
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 09-12-2009
rufo rufo is offline
Miembro
 
Registrado: jul 2006
Posts: 240
Poder: 18
rufo Va por buen camino
Gracias amigos por responder pero quede igual como al principio, ya que no tengo nada de codigo y queria ver si ustedes me pueden facilitar esa parte ya que en si quiero cuando elija una opcion de un submenu para que me abra una ventana me aparesca el proceso de carga, bueno espero que me ayuden
Responder Con Cita
  #5  
Antiguo 09-12-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Cuando no se conoce las operaciones o no se puede determinar en que momento incrementar el ProgressBar, creo que lo mejor que veo es usar un ProgressBar Infinito igual al que sale al inciar Windows, de esa manera te evitarias tantos lios y demasiada programacion.
Podrias mostrar la ventana con el progressbar Infinito al momemto de llamar al formulario que se esta cargando y cuando termine simplemete deshabilitarlo..
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #6  
Antiguo 09-12-2009
rufo rufo is offline
Miembro
 
Registrado: jul 2006
Posts: 240
Poder: 18
rufo Va por buen camino
gracias pero como lo hago ese es la cuestion????
Responder Con Cita
  #7  
Antiguo 09-12-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Cita:
Empezado por rufo Ver Mensaje
gracias pero como lo hago ese es la cuestion????
Pues chequea este foro, aunque creo que el tema ya se ha tocado en el club en alguna otra oportunidad, seria bueno que hicieras una busqueda. con palabras clave como "ProgressBar" ó "ProgressBar Infinito"
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #8  
Antiguo 09-12-2009
rufo rufo is offline
Miembro
 
Registrado: jul 2006
Posts: 240
Poder: 18
rufo Va por buen camino
Ok amigos les podre en donde quiero poner o aparecer el progressbar este es el codigo de mi Mainmenu

Código:
procedure TSUPERMERCADO.Modificaciones2Click(Sender: TObject);
begin
 modificacion_proveedor.Show;
 supermercado.Enabled:=false;
end;
entonces cuando yo le de clic al submenu modificacion_proveedor como esta conectada a una tabla que contiene registros tarda un poco entonces para que el usuario no piense que esta congelada su compu o el programa que me muestre el Progressbar indicandole que esta cargando, espero que me ayuden por que me esta volviendo loco, ya que es la primera vez que hago esto y gracias.
Responder Con Cita
  #9  
Antiguo 09-12-2009
Avatar de rgstuamigo
rgstuamigo rgstuamigo is offline
Miembro
 
Registrado: jul 2008
Ubicación: Santa Cruz de la Sierra-Bolivia
Posts: 1.646
Poder: 17
rgstuamigo Va por buen camino
Arrow

Buscando en foro he encontrado un ProgressBar Ciclico en el truco nro 471.
Ahora otra solucion a tu problema es poner otro cursor al puntero del Raton al momento de cargar tu formulario,para que el usario sepa que se esta cargando, y al terminar volver a poner el cursor que se tenia antes;
Mas o menos asi siguiendo tu ejemplo:

Código Delphi [-]
procedure TSUPERMERCADO.Modificaciones2Click(Sender: TObject);
var aux:TCursor; 
begin
  aux:=Screen.Cursor;
   try
    Screen.Cursor:=crHourGlass;//cambio de cursor
    modificacion_proveedor.Show;
    supermercado.Enabled:=false;
  finally
   Screen.Cursor:=aux;//recupero el anterior cursor
  end;
end;
Saludos...
__________________
"Pedid, y se os dará; buscad, y hallaréis; llamad, y se os abrirá." Mt.7:7
Responder Con Cita
  #10  
Antiguo 09-12-2009
Avatar de Lepe
[Lepe] Lepe is offline
Miembro Premium
 
Registrado: may 2003
Posts: 7.424
Poder: 29
Lepe Va por buen camino
Retrasando los eventos...

Supongo haces las operaciones en el evento OnCreate del form que se está creando y claro... antes de crearse no puede mostrarse, así que no puedes mostrar el progressbar.

En el foro se habló de crear un evento nuevo llamado afterShow http://www.clubdelphi.com/foros/show...11&postcount=2 con eso puedes hacer que se muestre y después mostrar el progressbar.

En ese mismo hilo, también tienes otra forma con una ventana Always ontop que se activa antes de crear la ventana lentorra http://www.clubdelphi.com/foros/show...2&postcount=16
__________________
Si usted entendió mi comentario, contácteme y gustosamente,
se lo volveré a explicar hasta que no lo entienda, Gracias.
Responder Con Cita
  #11  
Antiguo 09-12-2009
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.285
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
¿Qué haces en el OnCreate y/o en el OnShow del form?
__________________
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
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
Carga del servidor CoCaInE SQL 3 29-11-2007 13:17:40
Cambiar propiedad de componente del formulario padre al cerrar el formulario hijo jzginez OOP 5 22-06-2007 21:40:51
pasar datos de un formulario vista a cualquier formulario @-Soft OOP 2 28-09-2004 21:56:01
Carga rápida de jpg xflo Gráficos 0 28-07-2004 10:38:38
Carga de Delphi jmselesan Varios 1 29-07-2003 00:30:58


La franja horaria es GMT +2. Ahora son las 22:44:54.


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