Ecco trovato l'errore...
Quando hai cretato le procedure, gli hai inserito, vado a spiegarmi meglio:
PROCEDURE leggidati (var prodottorodotti; i:integer) <---
PROCEDURE aggiorna (var i:integer; prodottorodotti) <---
quelli in rosso.
Quando hai fatto la chiamata nel main di queste due procedure, tu non gli hai inserito nessun argomento:
leggidati;
aggiorna;
e qui ti da l'errore, perchè praticamente ti dice che sulle procedure hai passato degli argomenti, e mentre sul main non gli passi nessun argomento e quindi ti dice che ci sono troppi argomenti per queste due procedure... non so se mi hai capito....
Cmq un altro consigli che ti darei è quello di fare un controllo se il file del testo sia pieno o no se al limite devi inserire dei nuovi nuovi record.
Se hai problemi contattami pure, ti saprò dare aiuti quando ho tempo libero e spero al più presto

rodotti; i:integer) <---
Rispondi quotando