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 - Error 2: File not found.
Forum - Pascal - Error 2: File not found.

Pagine: [ 1 2 ] Precedente | Prossimo
Avatar
Mak (Normal User)
Rookie


Messaggi: 23
Iscritto: 17/08/2008

Segnala al moderatore
Postato alle 0:19
Giovedì, 11/09/2008
Come avrete visto nel mio topic precedente, sto seguendo la guida sul Pascal che si trova su questo sito.
Nel capitolo 7 c'è questo codice:
Codice sorgente - presumibilmente Delphi

  1. Program Esempio2;
  2. Uses Crt,WinDos;
  3. Var nome1,nome2,stringa:string;
  4.     file1,file2:text;
  5.  
  6. begin
  7.     clrscr;
  8.     write(‘Inserire il nome di un file:);
  9.     readln(nome1);
  10.     write(‘Inserire il nome del file copia:);
  11.     readln(nome2);
  12.     Assign(file1,nome1);
  13.     Assign(file2,nome2);
  14.     Reset(file1);
  15.     Rewrite(file2);
  16.     repeat
  17.     readln(file1,stringa);
  18.     writeln(file2,stringa);
  19.     until eof(file1);
  20.     Close(file1);
  21.     Close(file2);
  22.     writeln(‘Copia completata!’);
  23.     readln
  24. end.

ma quando lo eseguo, inserisco il nome del file e il nome del file copia, ma dopo questi 2 passaggi, il programma si chiude ed esce "Error 2: File not found." con il cursore che lampeggia all'inizio della stringa
Codice sorgente - presumibilmente Plain Text

  1. Reset(file1);

cosa c'è di sbagliato?

PM Quote
Avatar
John (Ex-Member)
Pro


Messaggi: 191
Iscritto: 18/11/2007

Segnala al moderatore
Postato alle 17:45
Lunedì, 15/09/2008
sei sicuro di aver scritto esatto il nome del file (compresa estensione e considerato la cartella in cui si trova):-?:-?

è l'unico errore possibile....

PM Quote
Avatar
Anonymous (Member)
Guru


Messaggi: 1059
Iscritto: 30/07/2006

Segnala al moderatore
Postato alle 18:03
Lunedì, 15/09/2008
jhon ha ragione..

ho provato io il codice e funziona.. devi solo mettere tutto il percorso...

oppure se non vuoi mettere il percorso, ma per esempio se il file da leggere sta nella stessa cartella dell'eseguibile, prima devi far salvare l'eseguibile.. cliccando su compile-->destination memory

cosi diventa "destination disk" e una volta che lo fai partire puoi scrivere semplicemente il nome del file senza tutto il percorso (purchè il file sia nella stessa cartella del programma)

PM Quote
Avatar
Mak (Normal User)
Rookie


Messaggi: 23
Iscritto: 17/08/2008

Segnala al moderatore
Postato alle 18:03
Martedì, 16/09/2008
Grazie, ma a me l'errore esce quando premo "Run".

PM Quote
Avatar
Anonymous (Member)
Guru


Messaggi: 1059
Iscritto: 30/07/2006

Segnala al moderatore
Postato alle 19:34
Martedì, 16/09/2008
non è possibile...XD

PM Quote
Avatar
Mak (Normal User)
Rookie


Messaggi: 23
Iscritto: 17/08/2008

Segnala al moderatore
Postato alle 15:36
Mercoledì, 17/09/2008
Uhm... forse sto cominciando a capire :D
comunque,se avete un po' di pazienza, potreste spiegarmi come funziona questo programma? Grazie

PM Quote
Avatar
Anonymous (Member)
Guru


Messaggi: 1059
Iscritto: 30/07/2006

Segnala al moderatore
Postato alle 15:39
Mercoledì, 17/09/2008
prima chiede di inserire il file che si vuole copiare

poi chiede di inserire il nome del file da creare (la copia)

e poi tramite il ciclo repeat until

copia riga per riga tutte le righe del primo file nel secondo file

se ancora non hai capito.. te lo posso commentare riga per riga

Ultima modifica effettuata da Anonymous il 17/09/2008 alle 15:40
PM Quote
Avatar
gigisoft (Normal User)
Newbie


Messaggi: 2
Iscritto: 09/10/2008

Segnala al moderatore
Postato alle 17:28
Giovedì, 09/10/2008
Testo quotato

Postato originariamente da Mak:

Come avrete visto nel mio topic precedente, sto seguendo la guida sul Pascal che si trova su questo sito.
Nel capitolo 7 c'è questo codice:
Codice sorgente - presumibilmente Delphi

  1. Program Esempio2;
  2. Uses Crt,WinDos;
  3. Var nome1,nome2,stringa:string;
  4.     file1,file2:text;
  5.  
  6. begin
  7.     clrscr;
  8.     write(‘Inserire il nome di un file:);
  9.     readln(nome1);
  10.     write(‘Inserire il nome del file copia:);
  11.     readln(nome2);
  12.     Assign(file1,nome1);
  13.     Assign(file2,nome2);
  14.     Reset(file1);
  15.     Rewrite(file2);
  16.     repeat
  17.     readln(file1,stringa);
  18.     writeln(file2,stringa);
  19.     until eof(file1);
  20.     Close(file1);
  21.     Close(file2);
  22.     writeln(‘Copia completata!’);
  23.     readln
  24. end.

ma quando lo eseguo, inserisco il nome del file e il nome del file copia, ma dopo questi 2 passaggi, il programma si chiude ed esce "Error 2: File not found." con il cursore che lampeggia all'inizio della stringa
Codice sorgente - presumibilmente Plain Text

  1. Reset(file1);

cosa c'è di sbagliato?


l'errore consiste nel fatto che la 'reset' pretende che il file esista già, per cui il nome che hai inserito per il file 'file1' non è corretto ( il problema potrebbe essere anche sul path ).
Inoltre vorrei darti un consiglio, per una maggiore chiarezza è meglio trattare una cosa alla volta, per cui è preferibile avere:

[...]

    write(‘Inserire il nome di un file: ‘);
    readln(nome1);
    Assign(file1,nome1);
    Reset(file1);

    write(‘Inserire il nome del file copia: ‘);
    readln(nome2);
    Assign(file2,nome2);
    Rewrite(file2);

[...]
Ciao.
Luigi

PM Quote
Avatar
Anonymous (Member)
Guru


Messaggi: 1059
Iscritto: 30/07/2006

Segnala al moderatore
Postato alle 19:22
Giovedì, 09/10/2008
Testo quotato

Postato originariamente da gigisoft:

l'errore consiste nel fatto che la 'reset' pretende che il file esista già, per cui il nome che hai inserito per il file 'file1' non è corretto ( il problema potrebbe essere anche sul path ).



non è vero.. perchè infatti lui prima di scrivere reset (file1) lo aveva creato con l'operazione assignfile(file1,blabla)

quindi la sintassi è corretta e non ci sono errori di compilazione...

infatti come ho detto io l'ho compilato e testato.. e funzionava..

l'errore era solo quello della path sbagliata

PM Quote
Pagine: [ 1 2 ] Precedente | Prossimo