Ir al contenido


Foto

Progressbar con porcentaje


  • Por favor identifícate para responder
5 respuestas en este tema

#1 monchito_elroro

monchito_elroro

    Advanced Member

  • Miembros
  • PipPipPip
  • 259 mensajes

Escrito 03 julio 2015 - 07:13

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 mensajes
  • LocationEspaña

Escrito 04 julio 2015 - 04:41

Muchas gracias por el aporte...

 

¡A probarlo!

 

:ap:


  • 0

#3 cram

cram

    Advanced Member

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

Escrito 04 julio 2015 - 02:42

Gracias por el aporte.

Eso es muy útil.

 

Saludos


Editado por cram, 04 julio 2015 - 02:54 .

  • 0

#4 egostar

egostar

    missing my father, I love my mother.

  • Administrador
  • 14.448 mensajes
  • LocationMéxico

Escrito 06 julio 2015 - 10:02

Muy buen aporte, muchas gracias.

 

Saludos


  • 0

#5 monchito_elroro

monchito_elroro

    Advanced Member

  • Miembros
  • PipPipPip
  • 259 mensajes

Escrito 06 julio 2015 - 10:40

Gracias amigos, me alegra que les haya gustado :)


  • 0

#6 AngelF

AngelF

    Advanced Member

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

Escrito 10 septiembre 2015 - 02:23

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.