Ver Mensaje Individual
  #4  
Antiguo 24-07-2007
Avatar de seoane
[seoane] seoane is offline
Miembro Premium
 
Registrado: feb 2004
Ubicación: A Coruña, España
Posts: 3.717
Reputación: 24
seoane Va por buen camino
Bien, así que se trata de copiar archivos. Pues como ya has visto, el TMemo no es la mejor opción. Hay algunas mejores.

Tenemos la evidente:
Código Delphi [-]
  CopyFile(PChar('Origen.exe'),PChar('Destino.exe'),FALSE);

Esta otra hace un buen uso de los stream:
Código Delphi [-]
var
  Origen, Destino: TFileStream;
begin
  Origen:= TFileStream.Create('Origen.jpg', fmOpenRead or fmShareDenyWrite);
  try
    Destino:= TFileStream.Create('Destino.jpg', fmCreate);
    try
      Destino.CopyFrom(Origen,0);
    finally
      Destino.Free;
    end;
  finally
    Origen.Free;
  end;
end;

Y por que no, siempre quedan los clasicos:
Código Delphi [-]
var
  Buffer: Array[1..10*1024] of Char;
  Origen, Destino: File;
  Leidos, Escritos: Cardinal;
begin
  Filemode:= 0;
  AssignFile(Origen,'Origen.jpg');
  {$I-}
    Reset(Origen,1);
  {$I+}
  if IOResult = 0 then
  try
    AssignFile(Destino,'Destino.jpg');
    {$I-}
      Rewrite(Destino,1);
    {$I+}
    if IOResult = 0 then
    try
      repeat
        BlockRead(Origen,Buffer,Sizeof(Buffer),Leidos);
        BlockWrite(Destino,Buffer,Leidos,Escritos);
      until Leidos < Sizeof(Buffer);
    finally
      CloseFile(Destino);
    end;
  finally
    CloseFile(Origen);
  end;
end;
Responder Con Cita