Club Delphi  
    FTP   CCD     Buscar   Trucos   Trabajo   Foros

Retroceder   Foros Club Delphi > Principal > OOP
Registrarse FAQ Miembros Calendario Guía de estilo Temas de Hoy

Grupo de Teaming del ClubDelphi

Respuesta
 
Herramientas Buscar en Tema Desplegado
  #1  
Antiguo 18-08-2012
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Poder: 13
jonydread Va por buen camino
Lightbulb progressbar avance segun demore proceso

amigos me veo en la obligacion de solicitar una luz
el problema es el sgte tengo la progressbar pero solo he logrado que avance de a uno ProgressBar1.StepIt; pero necesito que avance gradualmente como podria hacerlo?
esto es lo que tengo
Código Delphi [-]
procedure TForm1.btintClick(Sender: TObject);
var
  destino,dir : String;
  archivo : Tstrings;
  i : integer;
  T0: TDateTime;
begin
  T0 := Now;
  progressbar1.Max :=2;
  ProgressBar1.Step := 1;
  ProgressBar1.Position := 0;
  destino := ruta1.Text+'\App';
  dir := ruta1.Text;
  for i:= 0 to Opendialog1.Files.Count -1 do
    XCopy(Handle, openDialog1.Files[i], destino);
  ProgressBar1.StepIt;
  if not DirectoryExists(dir) or not fileexists(dir+'archiv.ext') then 
  begin
    ForceDirectories(dir);
    archivo := TStringList.Create;
    archivo.Add('CLS');
    archivo.Add('@echo off');
    archivo.Add('Exit');
    archivo.SaveToFile(ruta);
    if fileexists(ruta) then 
    begin
      EditArchivo(ruta);
      ProgressBar1.StepIt;
      ListView2.Clear;
      ListView1.Clear;
    end else
      showmessage('error al crear archivo');
  end else
  begin
    EditArchivo(ruta);
    ProgressBar1.StepIt;
    ListView2.Clear;
    ListView1.Clear;
    ShowMessage(TimeToStr(Now - T0));
  end;
end;

gracias saludos!

Última edición por Casimiro Notevi fecha: 18-08-2012 a las 18:12:26.
Responder Con Cita
  #2  
Antiguo 18-08-2012
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Poder: 13
jonydread Va por buen camino
encontre lo que necesitaba
http://www.clubdelphi.com/foros/showthread.php?t=40339
Código Delphi [-]
procedure TForm1.BitBtn1Click(Sender: TObject);
var
  i: Integer;
begin
  ProgressBar1.Step := 1;
  For i := 1 to 100 do begin
     ProgressBar1.StepIt;
     sleep(300); //Espera 300 milisegundos, solo para ver el movimiento.
  end;
end;
Responder Con Cita
  #3  
Antiguo 18-08-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.074
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Cita:
Empezado por jonydread Ver Mensaje
encontre lo que necesitaba
¿Pero tú qué quieres hacer?, eso no tiene ninguna lógica ni utilidad real.
Responder Con Cita
  #4  
Antiguo 18-08-2012
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Poder: 13
jonydread Va por buen camino
necesito una progressbar a la medida que vaya realizando las acciones avance,algo asi como que calcule el tiempo restante y avance, y la unica forma que me ha resultado mas o menos lo que quiero lograr es
Código Delphi [-]
procedure TForm1.btintClick(Sender: TObject);
var
destino,dir : String;
archivo : Tstrings;
i,j : integer;
T0: TDateTime;
begin
T0 := Now;
ProgressBar1.Step := 1;
destino := ruta1.Text+'\App';
dir := ruta1.Text+'\sources';
for i:= 0 to Opendialog1.Files.Count -1 do
XCopy(Handle, openDialog1.Files[i], destino);
if not DirectoryExists(dir) or not fileexists(dir+'\arch.ext')
 then begin
ForceDirectories(dir);
archivo := TStringList.Create;
archivo.Add('CLS');
archivo.Add('@echo off');
archivo.Add('Exit');
archivo.SaveToFile(ruta1.Text);
if fileexists(ruta1.Text)
then begin
EditArchivo(ruta1.Text);
ListView2.Clear;
ListView1.Clear;
For i := 1 to 100 do begin
     ProgressBar1.StepIt;
     sleep(10);
  end;
ShowMessage(TimeToStr(Now - T0));
end else
showmessage('error al crear archivo');
end else
begin
EditArchivo(ruta1.Text);
ListView2.Clear;
ListView1.Clear;
For i := 1 to 100 do begin
     ProgressBar1.StepIt;
     sleep(10);
  end;
ShowMessage(TimeToStr(Now - T0));
end;
end;
lo malo es que al terminar de hacer todo espera y avanza la barra, y del modo que lo tenia antes avanza por parte pero no gradualmente

Última edición por jonydread fecha: 18-08-2012 a las 19:08:57.
Responder Con Cita
  #5  
Antiguo 18-08-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.074
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Es que no veo el proceso que quieres controlar con la barra de progreso.
Responder Con Cita
  #6  
Antiguo 18-08-2012
Avatar de escafandra
[escafandra] escafandra is offline
Miembro Premium
 
Registrado: nov 2007
Posts: 2.197
Poder: 20
escafandra Tiene un aura espectacularescafandra Tiene un aura espectacular
Ciertamente no está claro lo que quiere.

Usa mi finción XCopy diseñada para copiar de golpe una lista de archivos, pero la modifica para ir de archivo a archivo... perdió el sentido de la función.

Por otro lado, si quiwre controlar el progreso de la copia tiene varias opciones. Un ejemplo lo puede encontrar siguiendo este hilo.


Saludos.

Última edición por escafandra fecha: 18-08-2012 a las 22:37:11.
Responder Con Cita
  #7  
Antiguo 18-08-2012
Avatar de Casimiro Notevi
Casimiro Notevi Casimiro Notevi is offline
Moderador
 
Registrado: sep 2004
Ubicación: En algún lugar.
Posts: 32.074
Poder: 10
Casimiro Notevi Tiene un aura espectacularCasimiro Notevi Tiene un aura espectacular
Hola, al principio pones:
Código Delphi [-]
progressbar1.Max :=2;
Por lo tanto, de ahí no va a pasar.
Responder Con Cita
Respuesta



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
Enviar Mail con Indy + mostrar avance progressbar amadis Internet 7 03-02-2010 14:12:07
Actualizar ProgressBar segun se rellena una StringGrid ó DBGrid jaimeh Varios 8 19-12-2007 13:35:51
problemas avance locate anubis Tablas planas 1 16-06-2007 05:27:17
Barra de Avance de Proceso natalinuyo Varios 5 13-02-2007 20:57:35
Barra de avance JorgeBec Varios 1 30-06-2004 23:41:27


La franja horaria es GMT +2. Ahora son las 19:39:27.


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