PROGRAM TextEditor;
USES crt;
VAR
filetesto: TEXT; {variabile che realizza il file di testo}
PercorsoFileFisico, riga,italiano,matematica,informatica,scienze: String; {variabili di input}
Linea: Integer; {varaibile ausiliaria}
fineDiScrivere: Boolean; {varaibile ausiliaria}
scelta,scelt: Char; {varaibile ausiliaria}
BEGIN
Write('Percorso e nome del file = ');
Readln(percorsoFilefisico);
Assign(filetesto, percorsofilefisico); {connessione filetesto->filefisico}
Writeln('MENU: 1.Nuova tabella voti 2.Apri e modifica tabella voti');
Write('scelta (N o A) = ');
readln(scelta);
CASE scelta OF
'N', 'n': Rewrite(filetesto); {creazione nuovo file di testo posizone BOF}
'A', 'a': Append(filetesto) {apertura alla fine del file di testo EOFETX};
END;
writeln('Editor di testo o editor dei voti? (T o V)');
readln(scelt);
if (scelt='V') or (scelt='v') then
begin
linea:=0; {inizializzazione variabili}
finediscrivere:= false;
Writeln('per terminare digita solo INVIO');
Write('Italiano: ');
readln(italiano);
italiano:=concat('Italiano: ',italiano);
Write('Matematica: ');
readln(matematica);
matematica:=concat('Matematica: ',matematica);
Write('Scienze: ');
readln(scienze);
scienze:=concat('Scienze: ',scienze);
Write('Informtica: ');
readln(informatica);
informatica:=concat('Informatica: ',informatica);
Writeln(filetesto, italiano); {aggiungo la riga al file di testo}
Writeln(filetesto, matematica); {aggiungo la riga al file di testo}
Writeln(filetesto, scienze); {aggiungo la riga al file di testo}
Writeln(filetesto, informatica); {aggiungo la riga al file di testo}
Close(filetesto);
writeln('Chiusura programma.....');
delay(3000);
HALT;
end
else
begin
linea:=0;{inizializzazione variabili}
finediscrivere:=false;
Writeln('per terminare digita solo INVIO');
REPEAT
linea:=linea+1;{nuova linea}
Write('Linea',linea,': ');
readln(riga);
IF riga = '' THEN
finediscrivere := true{utente ha digitato solo un invio, stringa nulla}
ELSE
Writeln(filetesto, riga);{aggiungo la riga al file di testo}
UNTIL finediscrivere;{fine ciclo quando finediscrivere= true}
Close(filetesto);
end;
END.