Upravljanje Ascii (tekstualnim) datotekama s Delphi Code

click fraud protection

Jednostavno rečeno, tekstualne datoteke sadrže čitljivost ASCII znakova. Rad s tekstualnom datotekom u Delphiju možemo smatrati analognim reprodukciji ili snimanju podataka na VCR vrpcu.

Iako je moguće napraviti izmjene u tekstualnoj datoteci, preskočite ih tijekom obrade podataka ili dodajte neke podatke u datoteku koja nije na kraju je korisno koristiti tekstualnu datoteku samo kad znamo da radimo s običnim tekstom i nema takvih operacija potrebno.

Smatra se da tekstualne datoteke predstavljaju niz znakova oblikovanih u retke, pri čemu je svaki redak završen markerom kraja (a CR / LF kombinacija).

TextFile i metoda pridruživanja

Za početak rada s tekstualnim datotekama morate povezati datoteku na disku s varijablom datoteke u vašem kodu - izjavite varijablu tipa TextFile i koristite AssignFile postupak za pridruživanje datoteke na disku datoteci promjenjiva.

Čitanje podataka iz tekstualne datoteke

Ako želimo ponovo pročitati sadržaj datoteke na popisu niza, samo će jedan redak koda obaviti posao.

instagram viewer

Da bismo pročitali podatke iz datoteke redak po red, moramo otvoriti datoteku za ulazni pomoću Reset postupak. Kad se datoteka resetira, možemo je koristiti ReadLn za čitanje podataka iz datoteke (čita jedan redak teksta iz datoteke, a zatim prelazi na sljedeći redak):

Nakon dodavanja jednog retka teksta iz datoteke komponenti podsjetnika SomeTxtFile treba zatvoriti. To je učinio Zatvoriti ključne riječi.

Također možemo koristiti Pročitati postupak za čitanje podataka iz datoteke. Read radi poput ReadLn-a, osim što kazaljku ne pomiče na sljedeći redak.

EOF - Kraj datoteke

Upotrijebite funkciju EOF kako biste bili sigurni da ne pokušavate pročitati dalje od kraja datoteke. Recimo da želimo prikazati sadržaj datoteke u okvirima s porukama - jedan red po jedan dok ne dođemo do kraja datoteke:

Napomena: Bolje je koristiti Dok petlje nego petlja Do dok uzmete u obzir (malo vjerojatnu) mogućnost da datoteka postoji, ali ne sadrži nikakve podatke.

Pisanje teksta u datoteku

WriteLn vjerojatno je najčešći način slanja pojedinačnih podataka u datoteku. Sljedeći kôd čita tekst iz komponente Memo1 (redak po redak) i šalje ga u novu stvorenu tekstualnu datoteku.

Ovisno o stanju datoteke koja je data u postupku Rewrite, stvara novu datoteku (otvara datoteku za izlaz) s imenom dodijeljenim SomeTextFile. Ako datoteka s istim nazivom već postoji, briše se i na nju se stvara nova prazna datoteka. Ako je SomeTextFile već otvoren, prvo se zatvara, a zatim ponovo kreira. Trenutačni položaj datoteke postavljen je na početak prazne datoteke.

Napomena: Memo1.Lines. SaveToFile ('c: \ MyTextFile.txt') će učiniti isto.

Ponekad ćemo samo trebati dodati neke tekstualne podatke na kraj postojeće datoteke. Ako je to slučaj, nazvat ćemo Dodati kako bi se osiguralo otvaranje datoteke s pristupom samo za pisanje s pokazivačem datoteke smještenim na kraju datoteke. Nešto kao:

Pazite na iznimke

Općenito, uvijek biste trebali koristiti rukovanje izuzetkom pri radu s datotekama. U / I je pun iznenađenja. Uvijek koristite CloseFile u konačnom bloku da biste izbjegli mogućnost korumpiranja FAT-a korisnika. Svi prethodni primjeri trebaju se preraditi na sljedeći način:

Manipuliranje sa strukturiranim datotekama

Delphi ima mogućnost upravljanja ASCII datotekama i datotekama koje sadrže binarne podatke. Evo tehnika za rad tipkane i netipizirane (binarne) datoteke.

instagram story viewer