Ver Mensaje Individual
  #2  
Antiguo 05-12-2008
Avatar de xEsk
[xEsk] xEsk is offline
Miembro Premium
 
Registrado: feb 2006
Posts: 454
Reputación: 19
xEsk Va por buen camino
Código Delphi [-]
procedure TForm16.FTPWork(ASender: TObject; AWorkMode: TWorkMode; AWorkCount: Integer);
begin
  Barra.Position:=AWorkCount;
end;

procedure TForm16.BitBtn1Click(Sender: TObject);
var
  FTP: TIdFTP;
begin
  FTP := TIdFTP.Create( nil );
  // solo tienes que poner el nombre, ya que el componente usara 
  // este puntero para envierte la informacion
  FTP.OnWork := FTPWork;                                    
  FTP.Username := usuario.Text;
  FTP.Password := pass.Text;
  FTP.Host := host.Text;
  FTP.Port:=21;
  try
    FTP.Connect;
  except
    ShowMessage( 'No se ha podido conectar con el servidor ' + FTP.Host );
  end;
  if FTP.Connected then
  begin
        //showmessage('estoy conectado');
        barra.Position:=0;
        Barra.Max := FTP.Size('BPWOK.MDB') div 1024;
        FTP.Get('BPWOK.MDB','c:\BPWOK.MDB',true);
        FTP.Disconnect;
        FTP.Free;
  end
  else
      showmessage('No estoy conectado');
end;

Lo unico que te faltaba era programar el evento "OnWork" del componente FTP.

Cuando asignas eventos, solo tienes que pasarle el nombre de la funcion a llamar... ya que es el emisor el encargado de rellenar los parametros y mandartelo a ti.

Espero que se entienda un poquitin xD

Saludos

P.D.: No se si el codigo que has puesto funciona correctamente o no, pero la parte que te faltaba del progress bar deberia ser algo asi a lo que te he puesto yo.
Responder Con Cita