Newsgroup: it.comp.lang.pascal
Titolo: AIUTO!!! Runtime Error

Ho creato un programma, ma in fase di lettura del file mi compare la scritta
Runtime Error 100: Disk Read Error (nonostante la compilazione non abbia
evidenziato problemi) qualcuno sa darmi una spiegazione??
Ecco la parte del programma incriminata...
***
uses dos;
type ciao=record
         g:string;
         r:real;
         l:longint;
         end;
var passo,e:ciao; u:string; a,b,c,d,i:longint; f,p:file of ciao;
lettera:char;
begin
assign (f,'input.txt');
reset(f);
read(f,passo); {RIGA DELL'ERRORE}
close(f);
assign (p,'output.txt');
rewrite(p);
***

 evidenziato problemi) qualcuno sa darmi una spiegazione??
gli errori di runtime, come gia' dice il nome, si presetano durante
l'esecuzione del programma, errori a design-time invece sono quelli che
avvengono durante la compilazione, insomma, quelli che turbo pascal ti
mostra.
-- 
Ciao
Gianfranco Marchese
http://www.Turbo-Pascal.cjb.net
http://www.VScientifico.cjb.net
e-mail dgruma@NOPUBBLICITA'
tin.it
 (Da togliere NOPUBBLICITA' se vuoi
rispondermi in privato)
UIN icq 117743990

 read(f,passo); {RIGA DELL'ERRORE}
E' possibile che il fai f che hai assegnato non esista oppure non lo
trova... nel senso che non hai inserito il path giusto
Ciao ReDiCuori
-- 
L'informatica è un arte
---------------------------------------------------------
 
www.pascallike.too.it
 
http://utenti.lycos.it/pascallike
 il sito sulla programmazione pascal
 sorgenti, tutorial ed utility
---------------------------------------------------------

Si, questo lo sapevo, ma non capisco perchč compaia questo errore di
lettura...
cmq Grazie!
"Marchese Gianfranco" <dgr...@tinNOSPAZZATURA.it> ha scritto nel messaggio
news:TSXLb.69881$VW.29...@news3.tin.it...


Disk read error vuol dire che il file è usato da un'altra
applicazione o che la variabile specificata da leggere nel file non è
del tipo di quella che c'è scritta nel file.
Per esempio, se io scrivo in un file una variabile di tipo integer e
poi leggo il contenuto per "depositarlo" in una variabile di tipo byte
mi produce errore, perchè è impossibile depositare il valore di una
variabile integer in una variabile di tipo byte.

Grazie per l'aiuto!!

 del tipo di quella che c'è scritta nel file.
mmmmh... ecco... no. Disk read error vuol dire solo che sei arrivato
alla fine del file e stai cercando di leggere altri dati che non
esistono. Forse aprire un file aperto da un'altra applicazione (sotto
dos ?) puo' darti un 5:File access denied.
Una volta su file i dati non hanno un tipo, quindi non puoi avere un
errore se cerchi di leggerli nel modo sbagliato.  Se scrivi in un file
di testo un numero e rileggendolo lo metti in una variabile troppo
piccola per contenerlo otterrai un numero sbagliato, ma nessun errore.
Idem se lo scrivi in un file binario.
-- 
Dreadnaut
(Life would be easier if I had the source code)

 ha scritto nel messaggio
news:dad40748.04012...@posting.google.com...


 until eof
in genere si, sopratutto se stai leggendo byte per byte,riga per riga
o carattere per carattere... se invece leggi a blocchi di qualche genere
non e' detto che basti:  e.g. se cerchi di leggere 10 tutti assieme
e nel file ne restano sono 5, eof() ritorna falso perche' in effetti
_non_ sei all'esatta fine del file, pero' ottieni cmq un Disk Read E.
In generale prima di leggere dovresti essere sempre sicuro che ci
sia qualcosa da leggere :-)
-- 
Dreadnaut
[ 
http://dreadnaut.servebeer.com/
 ]

 ha scritto nel messaggio
news:dad40748.04020...@posting.google.com...
