Foros Club Delphi

Foros Club Delphi (https://www.clubdelphi.com/foros/index.php)
-   Varios (https://www.clubdelphi.com/foros/forumdisplay.php?f=11)
-   -   Ayuda con error en codigo porfa! (https://www.clubdelphi.com/foros/showthread.php?t=40206)

jorgegetafe 09-02-2007 14:21:03

Ayuda con error en codigo porfa!
 
Teniendo estas declaraciones:

Código Delphi [-]
 
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:

Código Delphi [-]
 
(******************************************************************************)
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

Cita:

Empezado por seoane
tablaNucleotidos y lista NO son variables.

Ok ya esta solucionado. muchas gracias a todos.


La franja horaria es GMT +2. Ahora son las 06:07:38.

Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi