- Código: Seleccionar todo
VAR
alumnos:TipoAlumno;
f:Tfichero;
nombre:Tnombrefichero;
seguir:char;
(*************************************************************************************************************************)
PROCEDURE modificar (VAR f:Tfichero);
VAR
encontrado:boolean value FALSE; es:char; I:integer; nombre:Tnombre;
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^.nombre=nombre) THEN BEGIN (***********************DONDE DA EL ERROR*******************)
encontrado:=TRUE;
ELSE
I:=I+1;
END;
IF encontrado THEN
seekupdate(f,I);
Write(f^.nombre);
Write(f^·apellido);
Write(f^.login);
Write('ES ESTE?'); Readln(es);
IF es = 's' OR es = 'S' THEN BEGIN
WHILE alumnos DO BEGIN
Write('nombre'); Readln(nombre);
Write('apellido'); Readln(apellido);
Write('login'); Readln(login);
END;
seekupdate(f,registro);
END;
END;
END;
END.
(******************************************************************************************************)
ese es el pseudocodigo de mi procedimiento de la practica para modificar datos, esta tal cual Esteban lo hizo en clase pero con un problema parecido a la practica, solo que puso como ejemplo una escalera de vecinos, al compilarlo me da solo un error y es el siguiente:
modificaar.pas: In procedure `modificar':
modificaar.pas:43: error: request for field `nombre' in something not
modificaar.pas:43: error: a record, schema or object
modificaar.pas:45: error: syntax error before `ELSE'
le mande un email a esteban hace ya mas de una semana y no me contesto nada, estoy atascado en este procedimiento de la practica, el de introducir datos sta perfecto y este en teoria deberia estarlo porque esta copiado de clase, si alguien tiene alguna idea...


). Pero lo estoy haciendo porque: