dato un file di testo scritto cosi:

Lavabagno
0001 12.34 10
Dentifricio
0002 1.20 21
Sapone liquido
0003 2.32 10
lavapiatti
0004 1.57 20
bagnoschiuma
0005 1.23 15
devo creare un programma che leggi i dati del file e li mette in un record

codice:
Program giacenza;
type
codprodotto=0001..9999;
Prodotti =RECORD
          merce:string;
          codice:codprodotto;
          prezzo:real;
          Giacenza:integer;
          END;

Var
prodotto:array [1..100] of prodotti;
I:Integer;                      (*contatore*)
txtmagazzino:text;              (*File di testo*)

BEGIN
 Assign (txtmagazzino,'c:\miei\esercizi\magazzino.txt');    
reset (txtmagazzino);
 I:=0;                           (*poniamo I=1*)
while not eof(txtmagazzino) do 
begin
readln(txtmagazzino, prodotto[i].merce) ;
readln(txtmagazzino, prodotto[i].codice, prodotto[i].prezzo, prodotto[i].giacenza);
I:=I+1;                                (*incrementiamo I*)
end;
close(txtmagazzino);
end.
in questo modo il programma mi legge solo le prime due righe del file di testo le altre no. Dove avro sbagliato