erKURITA escribió:xeneizesiempre escribió:
- Código: Seleccionar todo
TipoAlumno=ARRAY[1..n] of Talumno;
Tfichero=bindable file of TipoAlumno;
VAR
alumnos:TipoAlumno;
f:Tfichero;
nombre:Tnombrefichero;
(*************************************************************************************************************************)
PROCEDURE modificar (VAR f:Tfichero);
VAR
encontrado:boolean value FALSE;
es:char;
I:integer value 1;
nombre:Tnombrefichero;
BEGIN
Writeln('ESCRIBA EL NOMBRE DEL ALUMNO AL CUAL DESEA MODIFICAR ALGUN DATO');
Readln(nombre);
WHILE NOT (encontrado) and (I<lastposition(f)) DO BEGIN
seekread(f,I);
IF (f^.[I].nombre=nombre) THEN
encontrado:=TRUE
ELSE
I:=I+1;
IF encontrado THEN BEGIN
seekupdate(f,I);
Write(f^.[I].nombre);
Write(f^.[I].apellido);
Write(f^.[I].login);
Write('ES ESTE?'); Readln(es);
IF (es = 's') OR (es = 'S') THEN BEGIN
WITH alumnos DO BEGIN
Write('nombre'); Readln(nombre);
Write('apellido'); Readln(apellido);
Write('login'); Readln(login);
END;
seekupdate(f,alumnos);
END;
END;
END;
END;
(******************************************************************************************************************************************************************************************************)
tal y como esta el programa me da el siguiente error:
modificar.pas: In procedure `modificar':
modificar.pas:42: error: direct access to files without declared domain is an
modificar.pas:42: error: extension of Borland Pascal, traditional Macintosh Pascal
modificar.pas:43: error: direct access to files without declared domain is an
modificar.pas:43: error: extension of Borland Pascal, traditional Macintosh Pascal
modificar.pas:44: error: syntax error before `['
Hubo un ejercicio bien bonito que hicimos en clase de Esteban, y era analizar que hacia una sentencia determinada.
Dime tu que hace esto
- Código: Seleccionar todo
writeln(f^.[I].nombre);
Y yo te digo lo que haceSpoiler: mostrar
valee, entiendo porque no funciona, pero no comprendo como hacerlo funcionar, estoy ya bloqueado de ideas.
