Questo sito utilizza cookies solo per scopi di autenticazione sul sito e nient'altro. Nessuna informazione personale viene tracciata. Leggi l'informativa sui cookies.
Username: Password: oppure
Pascal - salvare dati in file di testo
Forum - Pascal - salvare dati in file di testo

Avatar
mat90 (Normal User)
Newbie


Messaggi: 2
Iscritto: 24/08/2007

Segnala al moderatore
Postato alle 21:35
Venerdì, 24/08/2007
ciao a tutti, sono un programmatore alle prime armi e mi sono iscritto al sito nella speranza di accrescere le mie conoscenze di programmazione (mastico un po di pascal).volevo chiedere come si fa in un programma pascal a salvare dei dati (es. valore di una variabile longint o char) in un file .txt?:-?

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 14:46
Lunedì, 27/08/2007
E' da tanto che non programmo in pascal comunque dovrei ricordarmi le funzioni... Dichiari una variabile di tipo text, quindi assegni alla variabile un percorso di file con Assign(var, path). Puoi usare Reset(var) per aprire il file se esiste oppure Create(var) per crearlo se non esiste. Dopodiché, sempre usando lo stesso riferimento puoi usare readline e writeline per scriverci sopra, specificando però come primo paramtro il riferimento al file. Close(var) serve per chiudere il file ed eof(var) serve per sapere se si è arrivati alla fine del file.
Codice sorgente - presumibilmente Delphi

  1. program esempio;
  2. uses crt;
  3. var t:text;
  4.     s:string;
  5.  
  6. begin
  7.     clrscr;
  8. (*Assegna a t il file*)
  9. assign(t, 'file.txt');
  10. (*Apre il file*)
  11. reset(t);
  12. (*Legge una linea e la scrive a schermo*)
  13. readline(t, s);
  14. writeline(s);
  15. (*Chiude il file*)
  16. close(t);
  17. end.


PM Quote
Avatar
Anonymous (Member)
Guru


Messaggi: 1059
Iscritto: 30/07/2006

Segnala al moderatore
Postato alle 17:59
Lunedì, 27/08/2007
ci sono un po di imprecisioni nel codice..
primo non è "writeline" ma "writeln" e poi al posto di "reset" bisogna metterci "rewrite" perchè reset prepara il file alla lettura, invece la domanda era come poter salvare dei dati in un file, quindi bisogna metterci "rewrite" che prepara il file alla scrittura...
infine invece che "readline(t, s);" bisogna scriverci "writeln(t,s)"dove s deve essere una variabile di tipo string precedentemente inizializzata (perchè al momento non contiene nessun valore che è vuota)

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 12:23
Mercoledì, 29/08/2007
Scusa sono abituato con vb.net. Tuttavia il sorgente è formalmente corretto a parte i 'line' di troppo. E poi a cosa servirebbe salvare i dati se non si può rileggerli? :rotfl:

PM Quote
Avatar
Anonymous (Member)
Guru


Messaggi: 1059
Iscritto: 30/07/2006

Segnala al moderatore
Postato alle 14:17
Mercoledì, 29/08/2007
se tu prepri il file alla lettura non puoi scriverci niente capito?
se tu ci metti reset(t) dopo se tenti di scriverci qualcosa ti esce fuori un errore perchè il file è stato predisposto solo per la lettura, mentre se ci metti rewrite, si possono inserire cose nell file..
il tuo codice va bene per leggere dal file, ma la domanda era come poter scrivere in un file... capito?

PM Quote
Avatar
Il Totem (Admin)
Guru^2


Messaggi: 3635
Iscritto: 24/01/2006

Segnala al moderatore
Postato alle 12:35
Sabato, 01/09/2007
Ma l'avevo capito anche prima, solo che non... va beh lasciamo perdere... Ha ricevuto tutte le informazioni che ha chiesto.

PM Quote