Oppure

Loading
10/09/08 22:19
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:
 Program Esempio2;
Uses Crt,WinDos;
Var nome1,nome2,stringa:string;
    file1,file2:text;

begin
    clrscr;
    write(‘Inserire il nome di un file: ‘);
    readln(nome1);
    write(‘Inserire il nome del file copia: ‘);
    readln(nome2);
    Assign(file1,nome1);
    Assign(file2,nome2);
    Reset(file1);
    Rewrite(file2);
    repeat
    readln(file1,stringa);
    writeln(file2,stringa);
    until eof(file1);
    Close(file1);
    Close(file2);
    writeln(‘Copia completata!’);
    readln
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
Reset(file1);
cosa c'è di sbagliato?
aaa
15/09/08 15:45
John
sei sicuro di aver scritto esatto il nome del file (compresa estensione e considerato la cartella in cui si trova):-?:-?

è l'unico errore possibile....
aaa
15/09/08 16:03
Anonymous
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)
aaa
16/09/08 16:03
Mak
Grazie, ma a me l'errore esce quando premo "Run".
aaa
16/09/08 17:34
Anonymous
non è possibile...XD
aaa
17/09/08 13:36
Mak
Uhm... forse sto cominciando a capire :D
comunque,se avete un po' di pazienza, potreste spiegarmi come funziona questo programma? Grazie
aaa
17/09/08 13:39
Anonymous
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 17/09/08 13:40
aaa
09/10/08 15:28
gigisoft
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:
 Program Esempio2;
Uses Crt,WinDos;
Var nome1,nome2,stringa:string;
    file1,file2:text;

begin
    clrscr;
    write(‘Inserire il nome di un file: ‘);
    readln(nome1);
    write(‘Inserire il nome del file copia: ‘);
    readln(nome2);
    Assign(file1,nome1);
    Assign(file2,nome2);
    Reset(file1);
    Rewrite(file2);
    repeat
    readln(file1,stringa);
    writeln(file2,stringa);
    until eof(file1);
    Close(file1);
    Close(file2);
    writeln(‘Copia completata!’);
    readln
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
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
aaa