Ver Mensaje Individual
  #16  
Antiguo 03-03-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Reputación: 21
nlsgarcia Tiene un aura espectacularnlsgarcia Tiene un aura espectacular
atani123,

Cita:
Empezado por atani123
...probé tu código y funciona correctamente pero sinceramente se complica demasiado para simplemente utilizar un ProgressBar...


Revisa este código:
Código Delphi [-]
unit Unit1;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, ComCtrls, StdCtrls;

type
  TForm1 = class(TForm)
    Button1: TButton;
    ProgressBar1: TProgressBar;
    procedure Button1Click(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

  TPBThread = class(TThread)
  private
     procedure UpdatePB;
  protected
     procedure Execute; override;
  end;

const
   Max = 100000;

var
  Form1: TForm1;
  PBThread : TPBThread;

implementation

{$R *.dfm}

procedure TPBThread.UpdatePB;
begin
   with Form1 do
      ProgressBar1.Position := ProgressBar1.Position + 1;
end;

procedure TPBThread.Execute;
var
   i : Integer;
begin
   FreeOnTerminate := True;
   for i := 1 to Max do
      Synchronize(UpdatePB)
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
   ProgressBar1.Position := 0;
   ProgressBar1.Min := 1;
   ProgressBar1.Max  := Max;
   PBThread := TPBThread.Create(False);
end;

end.
El código anterior en Delphi XE7 sobre Windows 7 Professional x32, es una versión simplificada del código sugerido en el Msg #9, como se muestra en la siguiente imagen:



Espero sea útil

Nelson.
Responder Con Cita