Lihtsamalt öeldes sisaldavad tekstifailid loetavat ASCII tegelased. Me võime mõelda Delphis töötava tekstifailiga töötamisega analoogselt videomaki lindile esitamise või salvestamisega.
Ehkki tekstifailis on võimalik muudatusi teha, liikuge teabe töötlemisel ringi või lisage failile mõnda muud teavet, välja arvatud lõpus on soovitatav kasutada tekstifaili ainult siis, kui me teame, et töötame tavalise tekstiga ja selliseid toiminguid pole vajalik.
Tekstifaile peetakse ridadeks vormindatud tähemärkide jadadeks, kus iga rida lõpeb rea lõpu markeriga (a CR / LF kombinatsioon).
Tekstifail ja määramismeetod
Tekstifailidega töötamise alustamiseks peate linkima ketta faili oma koodi failimuutujaga - deklareerida tüüpi muutujat TextFile ja kasutage protseduuri AssignFile, et seostada kettal asuv fail failiga muutuja.
Teabe lugemine tekstifailist
Kui tahame faili sisu uuesti stringiloendisse lugeda, teeb seda ainult üks koodirea.
Failist rea kaupa teabe lugemiseks peame faili avama sisend kasutades
Lähtesta protseduur. Kui fail on lähtestatud, saame seda kasutada LoeLn failist teabe lugemiseks (loeb failist ühe tekstirida ja liigub järgmisele reale):Pärast ühe tekstirea lisamist failist memokomponendile tuleb SomeTxtFile sulgeda. Seda teostab Sulge märksõna.
Failist teabe lugemiseks võime kasutada ka protseduuri Loe. Loe toimib nagu ReadLn, välja arvatud see, et see ei vii kursorit järgmisele reale.
EOF - faili lõpp
Kasutage funktsiooni EOF ja veenduge, et te ei üritaks lugeda faili lõpust kaugemale. Oletame, et tahame faili sisu kuvada sõnumikastides - üks rida korraga, kuni jõuame faili lõppu:
Märkus. Parem on kasutada Kuigi silmus kui Kuni silmus, et võtta arvesse (ebatõenäoline) võimalust, et fail on olemas, kuid ei sisalda andmeid.
Teksti kirjutamine faili
KirjutaLn on tõenäoliselt kõige levinum viis üksikute teabe failidesse saatmiseks. Järgmine kood loeb teksti Memo1 komponendist (rida-realt) ja saadab selle mõnda vastloodud tekstifaili.
Sõltuvalt Rewrite protseduurile pakutud faili olekust loob see uue faili (avab faili väljundiks) nimega SomeTextFile. Kui samanimeline fail on juba olemas, kustutatakse see ja selle asemele luuakse uus tühi fail. Kui SomeTextFile on juba avatud, suletakse see kõigepealt ja luuakse siis uuesti. Faili praegune asukoht seatakse tühja faili algusesse.
Märkus: Memo1.Lines. SaveToFile ('c: \ MyTextFile.txt') teeb sama.
Mõnikord peame lihtsalt olemasoleva faili lõppu lisama mõned tekstiandmed. Kui see on nii, siis helistame Lisage faili avamiseks ainult kirjutusõigusega faili osutiga faili lõpus. Midagi sellist:
Olge eranditest teadlik
Üldiselt peaksite alati kasutama erandi käsitlemine failidega töötades. I / O on täis üllatusi. Kasutage alati CloseFile'i viimases plokis, et vältida kasutaja FAT-i kahjustamise võimalust. Kõik eelnevad näited tuleks ümber kirjutada järgmiselt:
Manipuleerimine struktureeritud failidega
Delphil on võime käsitleda nii ASCII-faile kui ka binaarseid andmeid hoidvaid faile. Siin on töövõtted trükitud ja kirjutamata (binaarsed) failid.