Jump to content


Photo

ProgressBar en un form, en tiempo de ejecucion.


  • Please log in to reply
3 replies to this topic

#1 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4266 posts
  • LocationCosta Rica

Posted 15 November 2008 - 08:58 AM

Hola
Este código muestra como poner un progressbar en un form.
Se crea en tiempo de ejecución y se presenta justo antes de que se muestre el form.
Se puede usar en cualquier parte del programa donde se necesite.
Espero les sirva.



delphi
  1. procedure TForm1.DialogTimer(Sender: TObject) ;
  2. var
  3.   aPB : TProgressBar;
  4. begin
  5.   if NOT (Sender is TTimer) then Exit;
  6.  
  7.   if ((Sender as TTimer).Owner) is TForm then
  8.   with ((Sender as TTimer).Owner) as TForm do
  9.   begin
  10.     aPB := TProgressBar(FindComponent('Progress')) ;
  11.  
  12.     if aPB.Position >= aPB.Max then
  13.       ModalResult := mrCancel
  14.     else
  15.       aPB.StepIt;
  16.   end;
  17. end;



Cuando se crea el form:



delphi
  1. procedure TForm1.FormCreate(Sender: TObject);
  2. var
  3.   AMsgDialog : TForm;
  4.   AProgressBar : TProgressBar;
  5.   ATimer : TTimer;
  6. begin
  7.   AMsgDialog := CreateMessageDialog('El Programa se esta cargando, Espere', mtWarning, []) ;
  8.   AProgressBar := TProgressBar.Create(AMsgDialog) ;
  9.   ATimer := TTimer.Create(AMsgDialog) ;
  10.   with AMsgDialog do
  11.   try
  12.     Tag := 5; // aqui se cambian los segundos
  13.  
  14.     Caption := 'En Proceso, espere';
  15.     Height := 100;
  16.  
  17.     with AProgressBar do begin
  18.     Name := 'Progress';
  19.     Parent := AMsgDialog;
  20.     Max := AMsgDialog.Tag;
  21.     Step := 1;
  22.     Top := 50;
  23.     Left := 8;
  24.     Width := AMsgDialog.ClientWidth - 16;
  25.     end;
  26.  
  27.     with ATimer do
  28.     begin
  29.     Interval := 1000;
  30.     OnTimer:=DialogTimer;
  31.     end;
  32.  
  33.     case ShowModal of
  34.     ID_CANCEL:
  35.     //
  36.     end;
  37.   finally
  38.     ATimer.OnTimer := nil;
  39.     Free;
  40.   end;
  41. end;



Saludos

Editado por egostar: Etiquetas Delphi
  • 0

#2 V3ct0r

V3ct0r

    Member

  • Miembros
  • PipPip
  • 16 posts
  • LocationVenezuela

Posted 13 July 2009 - 11:33 AM

¿Hola como están? y como yo harí­a si quisiera utilizar un TForm al momento de imprimir un documento y me aparezca una imagen de una impresora, si no me explico bien por favor corrí­janme. Ej. Voy a imprimir una factura y cuando lo hago quisiera que aparezca un Form dándome a entender de que está mandado la información a la impresora o de que se está imprimiendo.
Gracias por su ayuda
  • 0

#3 Caral

Caral

    Advanced Member

  • Moderador
  • PipPipPip
  • 4266 posts
  • LocationCosta Rica

Posted 13 July 2009 - 02:18 PM

Hola
No entiendo muy bien lo que quieres hacer.
Me da la impresion de que lo que quieres es que al mandar a imprimir salga un form que indique que se esta imprimiendo, pero no estoy muy seguro.
Aparte no entiendo la razon del form, no servira el previw del reporte?.
Coméntanos amigo.
Saludos
  • 0

#4 V3ct0r

V3ct0r

    Member

  • Miembros
  • PipPip
  • 16 posts
  • LocationVenezuela

Posted 14 September 2009 - 10:47 AM

Hola
No entiendo muy bien lo que quieres hacer.
Me da la impresion de que lo que quieres es que al mandar a imprimir salga un form que indique que se esta imprimiendo, pero no estoy muy seguro.
Aparte no entiendo la razon del form, no servira el previw del reporte?.
Coméntanos amigo.
Saludos


Hola disculpa la tardanza :( Bueno si es como dices "mandar a imprimir salga un form que indique que se esta imprimiendo" y no saldra el preview del seporte porque manda a imprimir directamente a una impresora fiscal, pespero que lo diccho anteriormente me puedan ayudar
  • 0




IP.Board spam blocked by CleanTalk.