Newsgroup: it.comp.lang.pascal
Titolo: utilizzo di files

Ciao!
Sono studente di ingegneria e sto preparando Fond. d'Informatica usando
il Pascal su sist. op. VMS.
Qualcuno puo' spiegarmi (anche sinteticamente) come funzionano le
istruzioni "read" e "write" sui files?
Con che criterio devo inserire i nomi dei files e le variabili tra
parentesi usando le suddette istruzioni?
Se proprio non potete spiegarmelo voi, potreste indicarmi qualche sito
su cui trovare informazioni sulle istr. basilari del Pascal?
Grazie!

parentesi usando le suddette istruzioni?
Ciao,
        per scrivere leggere su un file devi assegnare una variabile al
percorso di un file tramite la Assign. Se devi scrivere/leggere dei records
da te definiti devi dichiarare il file come
var f: file of TuoRecord;
altrimenti puoi usare un file di testo usando
var f:text;
oppure usare qualcosa come:
var f:file of char;  o  var f:file of string/integer ecc ecc a seconda di
cosa devi farci/leggerci
Poi, tramite la Assign(f,'c:\il_tuo_percorso\il_tuo_file.dat'); colleghi la
tua variabile al percorso che ti interessa... ora ci puoi lavorare:
- se devi creare il file dovrai usare la Rewrite(f);
- se lo devi solo inizializzare per poi poterci leggere userai la Reset(f);
e poi usi Read(f,buffer); dove buffer è del tipo giusto (se hai un file of
TuoTipo sarà di tipo TuoTipo, se avevi usato file of Integer dovrà essere un
intero... ecc ecc)
oppure Write(f,valore); per scriverci...
alla fine dovrai chiamare la Close(f); per richiudere il file e salvarlo.
Piccolo esempio (con degli interi):
var f:file of integer;
      i:integer;
begin
Writeln;
write('Inserisci un numero intero: ');
readln(i);
Assign(f,'c:\file.dat');
Rewrite(f);
Write(f,i);
Close(f);
writeln('Dato salvato. Premi un tasto per leggere dal file...');
readln;
Reset(f);
Read(f,i);
Close(f);
writeln('Il dato memorizzato è: ',i);
readln;
end.
spero di esserti stato d'aiuto... in caso tu avessi altre domande in
proposito scrivimi pure ! :-)
Ciao
(¯`·.¸¸.·´¯`·.¸¸.-> Andrea <-.¸¸.·´¯`·.¸¸.·´¯)

you wrote :
#- se devi creare il file dovrai usare la Rewrite(f);
#- se lo devi solo inizializzare per poi poterci leggere userai la Reset(f);
Una piccola nota aggiuntiva : nel caso si utilizzi un file binario
generico e' possibile stabilire la lunghezza del record da
leggere/scrivere che, in modo standard, e' di 128 byte tramite le
istruzioni :
Rewrite(f, RecSize) ;
Reset(f, RecSize) ;
dove RecSize e' il numero intero che esprime, appunto, questa misura.
........................................................
.                                                      .
. Andrea Laforgia        (
andrea_...@bigfoot.com
) .
.                                                      .
........................................................

 istruzioni "read" e "write" sui files?
Sui file di testo ( TEXT ) puoi usare anche readl e writeln.
Allora la dichiarazione è la seguente:
			READ( file, variabile_ ).   [1]
			WRITE( file, variabile_ )   [2]
La [1] consente di leggere il carattere dove è posizionato il puntatore de
file dal file assegnato in precedenza.
La [2], invece, ti consente di scrivere un carattere o una stringa dove è
posizionato il puntantore sul file, senza il <CR>.
			READLN( file, variabile_ )  [3]
			WRITELN( file, variabile_ ) [4]
La loro unica differenza è che : [3], a differenza di [1] legge l'intera
stringa contenuta
nella riga dove si è posizionati e [4] che scrive nella riga dove si è
posizionati con il
<CR> finale.
Per quanto riguarda i record, si usa soltanto READ e WRITE.
Se ti servono ulteriori informazioni, sono a tua completa disposizione.