Cita:
Empezado por maugescully
Me saltan los siguientes errores:
[Error] Unit2.pas(52): Incompatible types: 'Alumno' and 'ShortString'
[Error] Unit2.pas(53): Incompatible types: 'Alumno' and 'ShortString'
|
Bueno, un poco tarde, pero...
Lo que está pasando es que declaraste el archivo como "file of Alumno". Eso es un archivo binario que solamente acepta que vos escribas variables de tipo Alumno.
Para escribir Alumno.Nombre deberías tener un archivo de tipo "TextFile".
Por ejemplo:
Código Delphi
[-]
var Archi: file of Alumno;
...
Write(Archi, Alumno); Write(Archi, Alumno.Nombre);
var Archi: TextFile;
...
Wirte(Archi, Alumno); Write(Archi, Alumno.Nombre); Write(Archi, Alumno.DNI);
Cita:
Empezado por maugescully
[Error] Unit2.pas(53): Illegal type in Write/Writeln statement
[Error] Unit2.pas(54): Illegal type in Write/Writeln statement
|
El Writeln sólo funciona con TextFile, con un archivo binario (como "file of Alumno") no tiene ningún sentido escribir "una linea" (que es la diferencia entre un Write y un Writeln).
En el link que te paso Caral explican muy bien cómo es el tema con los archivos de texto.
Otro link por si las dudas.
Saludos.