Fiecare programator ar trebui să fie capabil să lucreze cu fișiere text, fișiere care conțin înregistrări și fișiere care nu au o structură specifică, sau sunt tratate ca și cum ar avea nici o structură. Mai întâi vom examina fișierele text, deoarece acest tip de fișier este folosit cel mai des.
Pentru a accesa fișierele text sunt variabile de tip Text:
Înainte de a putea începe să lucrați cu fișierul, trebuie să îl atribuiți unei variabile de tip Text utilizând procedura AssignFile. Această procedură are doi parametri: variabila fișierului și numele fișierului.
După ce numele fișierului este atribuit variabilei de fișier, trebuie să definiți acțiunile care trebuie efectuate în fișier. Fișierul poate fi pregătit pentru citire, scriere sau adăugare.
Pentru a pregăti un fișier pentru înregistrare, trebuie să utilizați procedura de rescriere, care va crea întotdeauna un nou fișier gol. Dacă există deja un fișier cu același nume de fișier, procedeul Rewrite șterge mai întâi fișierul existent și apoi îl înlocuiește cu un nou fișier gol. Apoi procedura deschide fișierul și setează indicatorul de poziție la începutul fișierului.
Atunci când lucrați cu fișiere text, procedura de Rewrite trebuie doar să treacă o variabilă de tip Text:
Când fișierul este deschis și este pregătit pentru scriere, puteți utiliza procedura standard WriteLn pentru a scrie text într-un fișier text. Când scrieți într-un fișier text, primul parametru trecut la procedura WriteLn trebuie să fie o variabilă de fișier:
Când terminați lucrul cu fișierul, trebuie să îl închideți întotdeauna pentru a vă asigura că fișierul este salvat corect pe disc și eliberați orice memorie care este în proces de scriere. Pentru a închide fișierul, utilizați procedura CloseFile, care ia un singur parametru - fișierul de închis:
Un exemplu de program pentru scrierea unei linii de text într-un fișier text este prezentat în Lista 8.1.
Listing 8.1. Scrierea textului într-un fișier text
Pentru a pregăti fișierul pentru citire, utilizați procedura Resetare. Această procedură, la fel ca procedura Rewrite, ia doar un parametru de tip de fișier. Acesta poate fi considerat sigur în sensul că funcționează cu succes dacă există unitatea și / sau directorul specificat în numele fișierului. Spre deosebire de Rewrite, procedura de resetare nu va fi posibilă dacă fișierul alocat variabilei de fișier nu există.
Pentru a citi datele dintr-un fișier text, puteți utiliza procedura ReadLn. Primul parametru care trebuie să treacă trebuie să fie o variabilă de fișier, iar al doilea este o variabilă de șir care va memora temporar valoarea citită din fișier.
Următorul exemplu prezintă citirea valorilor dintr-un fișier text și afișarea acestora pe ecran.
Listing 8.2. Citirea textului dintr-un fișier text
Acest cod va funcționa bine atâta timp cât fișierul de date există. txt. Dacă acest fișier nu există, programul va eșua. Pentru a evita oprirea aplicației în absența unui fișier, trebuie să verificați dacă fișierul a fost deschis cu succes utilizând procedura Resetare.
Pentru a determina dacă există erori I / O, imediat după apelarea unei proceduri I / O, cum ar fi Rescrieți sau Resetați, apelați funcția IOResult. Funcția IOResult returnează rezultatul ultimei operații I / O efectuate. Dacă IOResult returnează 0, aceasta indică faptul că operația a avut succes.
Pentru a efectua o verificare I / O utilizând funcția IOResult, mai întâi trebuie să dezactivați verificarea I / O automată. Pentru a activa sau a dezactiva verificarea erorilor I / O, utilizați directiva SI compilator. În mod normal, verificarea automată I / O este dezactivată înainte ca procedura I / O să fie apelată și apoi activată imediat după efectuarea apelului:
Următorul exemplu ilustrează modul de efectuare a unei verificări I / O și citirea textului dintr-un fișier numai dacă a fost deschis cu succes.
Listing 8.3. Verificarea erorilor I / O