Le veo un fallo, no recorres todo el archivo mediante EOF leyenda línea por línea, debería el codigo tener un estilo al siguiente:
Mientras no finalize la lectura del archivo, se va colocando la información en "Datos". En tu caso, has utilizado el EOF pero haciendo una asignación que no le veo sentido.
Código (pascal) [Seleccionar]
WHILE NOT EOF(Archivo) DO
BEGIN
ReadLn(Archivo, Datos);
WriteLn(Datos);
END; Mientras no finalize la lectura del archivo, se va colocando la información en "Datos". En tu caso, has utilizado el EOF pero haciendo una asignación que no le veo sentido.

, lo que consigues con un cortocircuito es descargar rapidamente la bateria, por ejemplo si coges una pila y sus bornes los unes con un cable, en poco rato adios pila. (caso como el de la bateria)