Ver Mensaje Individual
  #12  
Antiguo 22-08-2012
jonydread jonydread is offline
Miembro
NULL
 
Registrado: nov 2011
Posts: 157
Reputación: 15
jonydread Va por buen camino
Talking

Cita:
Empezado por jonydread Ver Mensaje
amigo escafandra estoy aprendiendo recien sobre esto y trato de buscar antes de consultar para no dar lata jejej en fin adapte el codigo y funciona de lujo la progressbar pero como sabes en este hilo busco copiar varios archivos y con copyfileext no he encontrado si conoces alguna forma o de algun ejemplo agradeceria mucho.
saludos!
Lo siento siempre que me rindo se me ilumina en todo caso aca esta por si sirve tiene detalles es de pruebas pero funciona
Copiar varios archivos con CopyFileEx y barra de progreso en delphi
Código Delphi [-]
function ProgressRoutine(TotalFileSize, TotalBytesTransferred, StreamSize, StreamBytesTransferred: LARGE_INTEGER; dwStreamNumber, dwCallbackReason: DWORD; hSourceFile, hDestinationFile: THandle; lpData: Pointer): DWORD; stdcall;
var
   Value: integer;
begin
   Application.ProcessMessages();
   if(dwCallbackReason = CALLBACK_CHUNK_FINISHED) then

    Form1.ProgressBar1.Position:= (int64(TotalBytesTransferred) * 100) div int64(TotalFileSize);

   Result:= PROGRESS_CONTINUE;

end;
Código Delphi [-]
procedure TForm1.Button2Click(Sender: TObject);
var
DestDir,SourceFile,Destino: string;
Counter: integer;
saveDialog : TSaveDialog;
begin
 for Counter := 0 to opendialog1.Files.Count - 1 do
  begin
   SourceFile := opendialog1.Files[Counter];
   saveDialog := TSaveDialog.Create(self);
   saveDialog.Filename := opendialog1.Files[Counter];

   DestDir:= extractfilepath(saveDialog.Filename);
   Destino := DestDir+'copia'+extractfilename(saveDialog.Filename);
   CopyFileEx(PChar(SourceFile),PChar(Destino), @ProgressRoutine, nil, @Cancel,0);
    ShowMessage(SysErrorMessage(GetLastError));
  end;
 end;
Responder Con Cita