Jump to content


Photo

Progressbar con porcentaje


  • Please log in to reply
5 replies to this topic

#1 monchito_elroro

monchito_elroro

    Advanced Member

  • Miembros
  • PipPipPip
  • 260 posts

Posted 03 July 2015 - 07:13 PM

Buenas amigos les comparto dos códigos que unidos son dinamita:

 

El 1ro combina un label dentro de un progressbar (dando una mejor aparciencia).

El 2do muestra el porcentaje del progressbar conforme avanza.

 

Comenzemos....

 

Combinar un Label y un progress bar;

 

Primero colocamos un Label a nuestro form, en la propiedad "Autosize"  del label lo ponemos en FALSE, luego cambiar su "Alignment" a "taCenter" y su Layout  a "tlCenter", luego ponen los siguientes códigos en el "FormCreate" (o donde más gusten):


php
  1. Label1.Parent := progressBar1;
  2. Label1.AutoSize := False;
  3. Label1.Transparent := True;
  4. Label1.Top :=  0;
  5. Label1.Left :=  0;
  6. Label1.Width := progressBar1.ClientWidth;
  7. Label1.Height := progressBar1.ClientHeight;
  8. Label1.Alignment := taCenter;
  9. Label1.Layout := tlCenter;

Eso es todo cuando creen el form saldra el label en el interior del progressbar centrado :) :)

 

Ahora para obtener el porcentaje conforme avanza el progressbar usan el siguiente código:


php
  1. var
  2.   Form1: TForm1;
  3.   i, total: integer;
  4.  
  5. ------------
  6. procedure TForm1.Button1Click(Sender: TObject);
  7. begin
  8.   total:=15000; // total de archivos
  9.   ProgressBar1.Max:=total;  // el max del progressbar es igual total de archivos (total=15000)
  10.   for i:=1 to total do // el progressbar se divide en pequeños trozos
  11.       begin
  12.       Application.ProcessMessages; // ayuda a no colgarse y que se vean los números de progreso
  13.       ProgressBar1.Position:=i;
  14.       Label1.Caption:=inttostr(i);
  15.       Label2.Caption:= IntToStr(ProgressBar1.Position * 100 div ProgressBar1.Max) + '%';    // funciona, saca el porcentaje
  16.  
  17.       //ShowMessage('hola');  // funciona
  18.       end;

Y LISTO :D :D :D , probado en windows 7, algunos códigos fueron sacados de web en inglés y español, espero les pueda servir este mi pequeño aporte, espero sus sugerencias, aportes y correcciones, con permiso.

 


  • 1

#2 ELKurgan

ELKurgan

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 566 posts
  • LocationEspaña

Posted 04 July 2015 - 04:41 AM

Muchas gracias por el aporte...

 

¡A probarlo!

 

:ap:


  • 0

#3 cram

cram

    Advanced Member

  • Miembro Platino
  • PipPipPip
  • 832 posts
  • LocationMisiones, Argentina

Posted 04 July 2015 - 02:42 PM

Gracias por el aporte.

Eso es muy útil.

 

Saludos


Edited by cram, 04 July 2015 - 02:54 PM.

  • 0

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14448 posts
  • LocationMéxico

Posted 06 July 2015 - 10:02 AM

Muy buen aporte, muchas gracias.

 

Saludos


  • 0

#5 monchito_elroro

monchito_elroro

    Advanced Member

  • Miembros
  • PipPipPip
  • 260 posts

Posted 06 July 2015 - 10:40 AM

Gracias amigos, me alegra que les haya gustado :)


  • 0

#6 AngelF

AngelF

    Advanced Member

  • Miembros
  • PipPipPip
  • 100 posts
  • LocationValencia - España

Posted 10 September 2015 - 02:23 AM

Muchas gracias por el aporte, llevaba tiempo buscando hacer algo así, pero no tanto para mostrar el % en la barra de progreso, sino para hacer una barra de progreso que muestre mensajes, tipo el explorer de win7 que mientras está cargando los archivos, de fondo aparece el progreso sobre la misma barra.

 

Esto viene muy bien para ahorrar espacio en formularios pequeños que están saturados de información. Podemos poner "Cargando ficheros" sobre la misma barra de progreso.

 

Buen aporte.


  • 0




IP.Board spam blocked by CleanTalk.