PDA

Ver la Versión Completa : Ayuda con error en codigo porfa!


jorgegetafe
09-02-2007, 14:21:03
Teniendo estas declaraciones:


PROGRAM Prac_3b_1; {$APPTYPE CONSOLE}
USES
SysUtils, crt;
TYPE
nucleotidos = RECORD
abreviatura: char;
nombre: STRING [8]; (* Ponemos un limite para evitar el error: "type lista needs finalization - not allowed in file type " *)
tipo: STRING [12]; (* Ponemos un limite para evitar el error: "type lista needs finalization - not allowed in file type " *)
END;
lista = ARRAY [1..5] OF nucleotidos;
tablaNucleotidos= lista;
fichero = FILE OF tablaNucleotidos;
VAR
ficheroTablaNucleotidos: fichero;
eleccion: STRING;
yaIntroducidoTablaNucleotidos: boolean;


y este procedimiento:


(******************************************************************************)
PROCEDURE cargaManual;
VAR
i:integer;
BEGIN
assign (ficheroTablaNucleotidos, paramStr(1));
rewrite(ficheroTablaNucleotidos);
FOR i:= 1 TO 5 DO
BEGIN
clrscr();
writeln ('Introduce el nucleotico numero: ',i,'.');
read (tablaNucleotidos[i].nombre); (* ERROR DICE QUE FALTA UN PARENTESIS, PERO LO QUE FALLA ES OTRA COSA *)
write (ficheroTablaNucleotidos, tablanucleotidos[i].nombre); (* ESTO ESTA ASI BIEN? *)
clrscr();
writeln ('Su abreviatura es: ', UpCase(tablaNucleoticos[i].nombre[1]),'.');
tablaNucleoliticos[i].abreviatura:= UpCase(tablaNucleoticos[i].nombre[1];
write (ficheroTablaNucleotidos, tablaNucleoliticos[i].abreviatura);
readln;
clrscr();
writeln ('Escribe el tipo del neucleotido' ,tablaNucleotidos[i].nombre,'.');
read (tablaNucleoticos[i].tipo);
write (ficheroTablaNucleotidos, tablaNucleoticos[i].tipo);
END;
close (ficheroTablaNucleotidos);
yaIntroducidoTablaNucleotidos:= true; (* Para que la proxima vez se introduzca por fichero *)
END;
(******************************************************************************)


A ver si me podeis ayudar con el error que tengo al leer, que le he dado vueltas y nada.

Y me gustaria saber si estoy escribiendo bien en el fichero.

muchas gracias!

djemix
09-02-2007, 14:52:08
Describe por favor el error que te sale lo mas claro posible y en qué linea te sale, a ver si te podemos echar una mano

jorgegetafe
09-02-2007, 15:00:28
El error me sale en la linea en la que he puesto: (*ERROR....
Mas concretamente en: read (tablaNucleotidos[i].nombre);
me pone exactamente: " '(' expected but '[' found"
Se que no es un error de parentesis porque estan bien puestos tiene que ser otra cosa...

Y luego me gustaria saber si escribo bien en el fichero al poner: write (ficheroTablaNucleotidos, tablanucleotidos[i].nombre);

muchas gracias.

djemix
09-02-2007, 15:03:13
Has probado a quitar los corchetes y a poner parentesis?

djemix
09-02-2007, 15:04:50
Vale... el problema creo que sta en lo siguiente:
no puede llamar a nucleotidos[i]... tienes que hacerlo a lista[i]...

Prueba esto y me cuentas...

seoane
09-02-2007, 15:08:21
tablaNucleotidos y lista NO son variables.

jorgegetafe
09-02-2007, 16:24:40
tablaNucleotidos y lista NO son variables.

Ok ya esta solucionado. muchas gracias a todos.