Pascal/Turbo Pascal - Como copiar un archivo

 
Vista:

Como copiar un archivo

Publicado por Javier Iván Robles Soqui (8 intervenciones) el 16/04/2001 03:05:56
Soy principiante en esto de la programaci´+on y quisiera que me ayudaran.

¿Como puedo copiar un archivo cualquiera(imagen, word, power point, html) en pascal?

se los agradecere
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

RE:Como copiar un archivo

Publicado por Diego Romero (282 intervenciones) el 16/04/2001 12:21:37
Si usas Turbo Pascal 7.0 te sugiero que leas el ejemplo de utilización del procedimiento BlockRead() y BlockWrite() incluido en la ayuda en linea del IDE. Allí hay un ejemplo concreto de cómo hacer un programa que copie un archivo de un lugar a otro, solo tiene un prequeño inconveniente y es con los nombres largos de Windows.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como copiar un archivo

Publicado por DickM (23 intervenciones) el 16/04/2001 14:44:30
Eso en teoría es imposible, pues Windows y DOS no son compatibles, pero tendrías que averiguar el algoritmo de lectura de de ese tipo de archivos para mostrarlos en tu programa, mas no en Pascal.
Perdona pero esa pregunta en cierto aspecto no tiene sentido; tendría sentido si estuviéramos trabajando con programas como Word que permite la inserción de objetos dentro de sus documentos, mientras que Pascal sólo es una editor de caracteres ASCII o documentos planos o como se les quiera llamar a loa}s archivos de texto.
Sea como sea si tienes alguna duda aquí me tienes...
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

RE:Como copiar un archivo

Publicado por yo (1 intervención) el 09/07/2001 21:19:03
program copiar;

uses
wincrt,windos;
const
MaxBloque=100;

var
FromF, ToF: file;
NumRead, NumWritten: Word;
Buf: array[1..MaxBloque] of Char;
IAvance, ITramos, Maxlecturas,lecturas:Real;


begin
Assign(FromF, 'c:\origen\13.arj'); { Open input file }
Reset(FromF, 1); { Record size = 1 }
Assign(ToF, 'c:\destino\13.arj'); { Open output file }
Rewrite(ToF, 1); { Record size = 1 }
Writeln('Copying ', FileSize(FromF), ' bytes...');
IAvance:= 0;
ITramos:= FileSize(FromF)/100;
Lecturas:=0;
MaxLecturas:= ITramos/MaxBloque;
Writeln(ITRamos:10:1,'...',MaxLecturas:4:0,'....',IAvance:3:0);
repeat
BlockRead(FromF, Buf, SizeOf(Buf), NumRead);
lecturas:=lecturas+1;
BlockWrite(ToF, Buf, NumRead, NumWritten);

if lecturas >= MaxLecturas then
Begin
lecturas:=0;
IAvance:=IAvance + 1;
gotoxy(10,10); write('...',IAvance:3:0,'%');
End;
until (NumRead = 0) or (NumWritten <> NumRead);
gotoxy(10,10); write('...100%');
Close(FromF);
Close(ToF);
end.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar