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 10-12-2010
radge radge is offline
Miembro
 
Registrado: may 2008
Posts: 147
Poder: 16
radge Va por buen camino
Como hacer esto ?

Buenas tengo una duda , tengo un proyecto que es un actualizador de ficheros , lo tengo estructurado con funciones y procedimientos , pero el programa tiene que ser totalmente transparente para el usuario , así que nada más mostrar el formulario (form1.onshow() ) allí hago las llamadas a funciones y procedimientos que esto lo que hace es conectar-se a un ftp , descargar archivos , ponerlos en su sitio etc ...

Esto lo tengo con una progressbar para ver un poco el estado del mismo , el problema es que no veo el formulario (form1.onshow) hasta que se han ejecutado todas las operaciones , he probado a poner form1.refresh entre medio de las operaciones para ver si refrescava el formulario pero no lo hace.

Se os ocurre que puedo hacer ?

gracias , radge
Responder Con Cita
  #2  
Antiguo 10-12-2010
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.040
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
No lo he entendido muy bien, pero creo que si lo pones en el onactivate, se verá.

Y por cierto, amigo radge, ya llevas un montón de mensajes para que pongas ese título a tu pregunta, te recuerdo que debes poner títulos descriptivos que sirvan luego para hacer búsquedas según el tema.
¿Ya olvidaste la guía de estilo?
Responder Con Cita
  #3  
Antiguo 10-12-2010
Avatar de Chris
[Chris] Chris is offline
Miembro Premium
 
Registrado: abr 2007
Ubicación: Jinotepe, Nicaragua
Posts: 1.678
Poder: 19
Chris Va por buen camino
Usa Form.Update
__________________
Perfil Github - @chrramirez - Delphi Blog - Blog Web
Responder Con Cita
  #4  
Antiguo 10-12-2010
Avatar de ecfisa
ecfisa ecfisa is offline
Moderador
 
Registrado: dic 2005
Ubicación: Tres Arroyos, Argentina
Posts: 10.508
Poder: 36
ecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to beholdecfisa is a splendid one to behold
Cita:
el problema es que no veo el formulario (form1.onshow) hasta que se han ejecutado todas las operaciones
Hola.

Si los procesos transcurren antes o durante el evento FormShow, no veo solución en forma directa.
Pero creo que lo que te va a funcionar, es crear y capturar un mensaje AfterShow.

Ejemplo:
Código Delphi [-]
...
const
  TAREAS_AFTER_SHOW = WM_USER + 300;
type
  TForm1 = class(TForm)
    procedure FormShow(Sender: TObject);
  private
    procedure TareasAfterShow(var Msg: TMessage); message TAREAS_AFTER_SHOW;
  public
  end;
...
interface
...
procedure TForm1.FormShow(Sender: TObject);
begin
  // Lo que quieras mostrar... 
  Caption:= 'Evento OnShow';
  PostMessage(Handle, TAREAS_AFTER_SHOW, 0, 0);
end;

procedure TForm1.TareasAfterShow(var Msg: TMessage);
begin
  // Aca los procesos que quieras
  Sleep(2000); // simula  demora de procesos
  ShowMessage('Tareas finalizadas');
end;
...

Saludos.

Última edición por ecfisa fecha: 10-12-2010 a las 18:40:54.
Responder Con Cita
  #5  
Antiguo 13-12-2010
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.275
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
Pues iba a proponer lo mismo que ya ha dicho ecfisa. Creo que es la solución más simple. Por otro lado, dependiendo del tipo de operaciones y de las cosas que quieras mostrar en el form1, deberás ir refrescándolo o utilizar threads (pero ese ya es otro tema).

Prueba con lo que te ha comentado y ya dirás...

[ecfisa] + 1
__________________
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
  #6  
Antiguo 21-12-2010
radge radge is offline
Miembro
 
Registrado: may 2008
Posts: 147
Poder: 16
radge Va por buen camino
Muchas gracias por vuestras respuestas.

Al final lo hize así como me dijisteis.

saludos radge
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
Como hacer esto kurono Varios 10 25-07-2010 03:19:06
Como puedo hacer esto stynpy29 Varios 7 12-06-2010 13:06:02
como hacer esto gulder JAVA 1 15-02-2007 11:30:39
¿Como podria hacer esto? slat Conexión con bases de datos 5 26-06-2004 18:08:51
Como puedo hacer esto ? IVAND Conexión con bases de datos 1 21-07-2003 23:23:24


La franja horaria es GMT +2. Ahora son las 11:16:30.


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