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;