Página 1 de 1

Copiar Archivos con Pascal

Publicado: 13 Feb 2010, 02:47
por D@rB-15
Hola :D, hoy simplemente vengo a compartir funciones para copiar archivos de diferentes formas en Pascal

#1 con la clase TFileStream copiando el archivo en bloques de 1 KB, funciona con Windows y Linux:

Código: Seleccionar todo

Procedure Copiar(Origen, Destino: String);
  Var
    Archivo1, Archivo2: TFileStream;
    BytesBuffer: Array[0..1024] Of Char;
    Leido: LongInt;

Begin
  Archivo1 := TFileStream.Create(Origen, FmOpenRead);
  Archivo2 := TFileStream.Create(Destino, FmOpenWrite Or FmCreate);
  Repeat
    Leido := Archivo1.Read(BytesBuffer, SizeOf(BytesBuffer));
    Archivo2.Write(BytesBuffer, Leido);
  Until (Leido <> SizeOf(BytesBuffer));
  Archivo1.Free;
  Archivo2.Free;
End;
#2 con las funciones BlockWrite/BlockRead en bloques de 1 KB, funciona para Windows y Linux:

Código: Seleccionar todo

Procedure Copiar(Archivo, Ruta: String);
  Var
    Origen, Destino: File;
    Leido, Escrito: Word;
    Buffer: Array[1..1024] Of Char;
  Begin
    Assign(Origen, Archivo);
    Reset(Origen, 1);
    Assign(Destino, Ruta);
    ReWrite(Destino, 1);
    Repeat
      BlockRead(Origen, Buffer, SizeOf(Buffer), Leido);
      BlockWrite(Destino, Buffer, Leido, Escrito);
    Until (Leido = 0) or (Escrito <> Leido);
    Close(Origen);
    Close(Destino);
  End;
End.
#3 con la API CopyFile, solo funciona en Windows:

Código: Seleccionar todo

CopyFile(PChar(Origen), PChar(Destino), True)
Bueno eso es todo :P, buenas noches

Re: Copiar Archivos con Pascal

Publicado: 15 Feb 2010, 00:56
por D@rB-15
Ok... entonces no les gusta Pascal? , miren yo lo unico que pido es por lo menos un gracias si no con que motivacion voy a seguir aportando y no solo me pasa esto cuando publico cosas que tengan que ver con Pascal, me pasa con todo incluyendo los sources que aveces publico.
bueno eso es todo, no tienen que comentar solo queria expresarme xD

Re: Copiar Archivos con Pascal

Publicado: 15 Feb 2010, 02:57
por linkgl
La motivacion es importante pero no hay que esperar nada acambio, aportemos por gusto no por agradecimientos, es mi opinion, yo no comente porque de pascal no se ni como declarar una variable entonces no vaya a meter la pata

Publicado: 27 Jul 2022, 17:00
por javierpascal
Buenos dias, Me parece muy importante cada aporte... los felicito a todos... actualmente tengo un asunto que resolver y por eso me aboco a ustedes para buscar su apoyo.
Ustedes pordian apoyarme en crear un script que busque archivos por extensión ( por ejemplo *.pdf), para luego crear una copia de cada uno y pegarlos en un directorio.