Deschiderea fișierului pentru ieșire
Înainte de a ieși la un fișier, trebuie să îl deschideți. Dacă programul care generează fișierul de ieșire a fost deja folosit, este posibil ca fișierul cu rezultatele programului să existe deja pe disc. De aceea, programatorul trebuie să decidă cum să se ocupe cu fișierul vechi: să înlocuiască datele vechi cu cele noi sau să adauge date noi celor vechi. Modul de utilizare a versiunii vechi este determinat în momentul deschiderii fișierului.
Sunt posibile următoarele moduri de deschidere a unui fișier pentru scrierea de date:
- suprascrie (scrie un fișier nou pe lângă unul existent sau creează un fișier nou);
- adăugarea la un fișier existent.
Pentru a deschide un fișier în modul de creare a unui fișier nou sau de înlocuire a unui fișier existent, este necesar să apelați procedura Rescrieți (f), unde f este o variabilă de fișier de tip TextFile.
Pentru a deschide un fișier în modul de adăugare la datele existente conținute în acest fișier, trebuie să apelați procedura Append (f), unde f este o variabilă de fișier de tip TextFile.
În Fig. 7.1 arată caseta de dialog a programului care scrie sau adaugă un fișier text.
Fig. 7.1. Dialogul pentru scrierea-adăugarea la un fișier
Listei 7.1 se afișează procedura care începe prin apăsarea butonului Înregistrare. Se deschide fișierul în modul de creare a unui nou sau înlocuirea unui fișier existent și scrie textul care se află în câmpul componentei Memo1.
Trebuie să introduceți numele fișierului în timp ce lucrați în câmpul Editare. Puteți specifica un nume de fișier predefinit în timpul dezvoltării formularului de aplicare. Pentru a face acest lucru, trebuie să atribuiți o valoare, de exemplu test.txt, proprietății Edit1.Text.
Listing 7.1. Crearea unui fișier nou sau înlocuirea unui fișier existent
procedura TForm1.Button1Click (expeditor: TObject);
f: TextFile; // fișier
fName: String [80]; // filename
Rescrie (f); // deschis pentru a suprascrie
pentru i: = 0 la Memol.Lines.Count do // șirurile sunt numerotate de la zero
CloseFile (f); // închideți fișierul
MessageDlg ("Date WRITTEN to file", mtlnformation, [mbOk], 0);
În lista 7.2 se afișează procedura care se pornește făcând clic pe butonul Adăugați. Se deschide un fișier al cărui nume este specificat în câmpul Edit1 și se adaugă conținutul câmpului Memol.
Listing 7.2. Adăugarea la un fișier existent
procedura TForm1.Button2Click (expeditor: TObject);
f: TextFile; // fișier
fName: String [80]; .// filename
i: întreg; începe
Adăugați (f); // deschideți pentru a adăuga
pentru i: = 0 la Memo1.Lines.Count do // șirurile sunt numerotate de la zero
CloseFile (f); // închideți fișierul
MessageDlg ("Date ADDED to file", mtInformation, [mbOk], 0);