Club Delphi  
    Paypal   FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > Varios
Registrarse FAQ Miembros Calendario Guía de estilo Buscar Temas de Hoy Marcar Foros Como Leídos

Coloboración Paypal con ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 02-03-2015
Avatar de Casimiro Noteví
Casimiro Noteví Casimiro Noteví is offline
Merodeador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.711
Poder: 10
Casimiro Noteví Tiene un aura espectacularCasimiro Noteví Tiene un aura espectacular
Cita:
Empezado por atani123 Ver Mensaje
.. probé tu codigo y funciona correctamente pero siceramente se complica demasiado para simplemente utilizar un progressbar.
Es que el código lo único que hace es poner un progresbar, que es lo que necesitas. ¿Exactamente qué quieres conseguir?, mejor dicho, de qué otra forma más fácil se te ocurre que pueda hacerse lo que necesitas. Es que a lo mejor no hemos comprendido bien lo que estás buscando.
Responder Con Cita
  #2  
Antiguo 03-03-2015
Avatar de nlsgarcia
[nlsgarcia] nlsgarcia is offline
Miembro Premium
 
Registrado: feb 2007
Ubicación: Caracas, Venezuela
Posts: 2.206
Poder: 23
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
  #3  
Antiguo 03-03-2015
atani123 atani123 is offline
Miembro
 
Registrado: jul 2006
Posts: 63
Poder: 21
atani123 Va por buen camino
Os cuento, es simplemente un compresor que utiliza el TZipMaster y muestra el progreso parcial y total de la compresion.

Lo he solucionado de la siguiente forma (chapuza, pero funciona y de momento no puedo perder mas tiempo con esto). El progressbar actuaba mal con el Style=pbsNormal, si se ponia a psbError o psbPaused funcionaba bien, si ponia referesh o repaint tambien iba mal asi que al final poniendo el codigo de esta forma funciona:

Código Delphi [-]
PB.Position := nPos;
PB.StepBy(-1);
PB.StepBy(1);

Debe de ser que asignando directamente a Position el paint tiene que tener algun bug, y forzando con StepBy parece que se fuerza correctamente el pintado.

Lo propuesto por nlsgarcia funcionaba perfectamente, y seguramente es una opcion mas elegante que la que he adoptado pero considero que es mas simple a la hora de interpretar el codigo en un futuro. aun asi la guardo en mi biblioteca porque nunca se sabe.

Bueno gente, muchas gracias a todos y espero no haberos mareado mucho
Responder Con Cita
Respuesta


Herramientas Buscar en Tema
Buscar en Tema:

Búsqueda Avanzada
Desplegado

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
Problema TProgressBar e IdFTP jlrdz OOP 1 14-06-2011 14:19:21
Generar TProgressBar en Forma Dinámica GerTorresM OOP 1 12-04-2009 04:02:04
TProgressBar cíclico nativo (marquee) (añadida solución 3) xEsk Trucos 11 04-12-2008 22:13:58
TProgressBar Delphius OOP 2 09-12-2004 06:31:46


La franja horaria es GMT +2. Ahora son las 14:07:54.


Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi
Copyright 1996-2007 Club Delphi