Gestionarea fișierelor Ascii (Text) din Codul Delphi

Mai simplu spus, fișierele text conțin citire ASCII de caractere. 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ăriți în timp ce prelucrați informații sau să adăugați unele date în alt fișier la sfârșit, este indicat să folosiți un fișier text doar atunci când știm că lucrăm cu text obișnuit și nu există astfel de operațiuni necesar.

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 (a Combinație CR / LF).

TextFile și Metoda de atribuire

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 un fișier variabil.

Citirea informațiilor dintr-un fișier text

Dacă dorim să citim conținutul unui fișier într-o listă de șiruri, doar o linie de cod va face treaba.

instagram viewer

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.

EOF - End of File

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 În timp ce bucla decât bucla Până să ia în considerare (puțin probabil) posibilitatea ca fișierul să existe, dar nu conține date.

Scrierea textului într-un fișier

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 rând) ș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 la fel.

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:

Fiți conștienți de excepții

În general, ar trebui să utilizați întotdeauna excepție de manipulare 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ă:

Manipularea cu fișierele structurate

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 fișiere tipate și netipate (binare).