Mai simplu spus, fișierele text conțin caractere ASCII lizibile. Ne putem gândi să lucrăm cu un fișier text în Delphi ca fiind analog cu redarea sau înregistrarea informațiilor pe o bandă VCR.
Deși este posibil să efectuați modificări într-un fișier text, să săriți atunci când prelucrați informații sau să adăugați anumite date în fișier, altele decât la final, este recomandabil să folosiți un fișier text doar atunci când știm că lucrăm cu text obișnuit și nu sunt necesare astfel de operațiuni.
Fișierele de text sunt considerate a reprezenta o secvență de caractere formatate în linii, unde fiecare linie este terminată de un marker de sfârșit de linie (o combinație CR / LF).
Pentru a începe să lucrați cu fișiere text, trebuie să conectați un fișier de pe disc la o variabilă de fișier din codul dvs. - declarați o variabilă de tip TextFile și utilizați procedura AssignFile pentru a asocia un fișier pe un disc cu o variabilă de fișier.
Dacă dorim să citim conținutul unui fișier într-o listă de șiruri, doar o linie de cod va face treaba.
Pentru a citi informațiile dintr-un fișier linie rând, trebuie să deschidem fișierul pentru intrare prin utilizarea Resetați procedură. Odată resetat un fișier, putem folosi readln pentru a citi informațiile dintr-un fișier (citește o linie de text dintr-un fișier, apoi trece la linia următoare):
După adăugarea unei linii de text dintr-un fișier într-o componentă memo, SomeTxtFile trebuie să fie închis. Acest lucru este realizat de către Închide cuvinte cheie.
Putem folosi, de asemenea, procedura de citire pentru a citi informațiile dintr-un fișier. Citirea funcționează la fel ca ReadLn, cu excepția faptului că nu mișcă indicatorul la următoarea linie.
Utilizați funcția EOF pentru a vă asigura că nu încercați să citiți dincolo de sfârșitul fișierului. Să zicem că vrem să afișăm conținutul fișierului în căsuțele de mesaje - o linie la un moment dat până ajungem la sfârșitul unui fișier:
Notă: este mai bine să folosiți bucla while decât bucla până când să țineți cont (puțin probabil) de fișierul existent, dar nu conține date.
WriteLn este probabil cea mai frecventă modalitate de a trimite informații individuale într-un fișier. Codul următor va citi un text dintr-o componentă Memo1 (linie cu linie) și îl va trimite unui fișier text nou creat.
În funcție de starea fișierului furnizat procedurii de rescriere se creează un nou fișier (deschide fișierul pentru ieșire) cu numele atribuit SomeTextFile. Dacă un fișier cu același nume există deja, acesta este șters și un nou fișier gol este creat la locul său. Dacă SomeTextFile este deja deschis, acesta este mai întâi închis și apoi re-creat. Poziția curentă a fișierului este setată la începutul fișierului gol.
Notă: Memo1.Lines.SaveToFile ('c: \ MyTextFile.txt') va face același lucru.
Uneori va trebui doar să adăugăm câteva date text la sfârșitul unui fișier existent. Dacă acesta este cazul, vom apela Adăuga pentru a vă asigura că un fișier este deschis cu acces numai pentru scriere cu indicatorul de fișier poziționat la sfârșitul fișierului. Ceva asemănător cu:
În general, ar trebui să utilizați întotdeauna tratarea excepțiilor atunci când lucrați cu fișiere. I / O este plin de surprize. Utilizați întotdeauna CloseFile într-un bloc în sfârșit pentru a evita posibilitatea de a corupe FAT-ul unui utilizator. Toate exemplele anterioare trebuie rescrise după cum urmează:
Delphi are capacitatea de a gestiona atât fișierele ASCII, cât și fișierele care conțin date binare. Iată tehnicile de lucru cu fișierele tipate și neterpate (binare).