El tema es asi :
Existe una funcion en pascal que devuelve TRUE cuando termina un archivo así :
while not EOF(Archivo) do
begin
ReadLn(ArchivoOrigen,UnString);
WriteLn(ArchivoSalida,UnString);
end;
Fijate la sintaxis que estoy un poco frio con Pascal ahora.
Espero que te sirva.
Ten cuidado que solo te sirve para archivos de TEXTO UNICAMENTE