Ascii (szöveges) fájlok kezelése a Delphi kódból

Egyszerűen fogalmazva: a szöveges fájlok olvashatóak ASCII karakterek. Úgy gondolhatjuk, hogy egy Delphi szövegfájllal dolgozzunk, mint amilyen az információ lejátszása vagy felvétele videomagnó kazettán.

Bár módosíthat egy szöveges fájlt, ugorjon az információk feldolgozásakor, vagy adjon meg valamilyen adatot a fájlhoz végén tanácsos csak egy szöveges fájlt használni, ha tudjuk, hogy rendes szöveggel dolgozunk, és nincsenek ilyen műveletek szükséges.

A szöveges fájlok sorokba formázott karaktersorozatot képviselnek, ahol minden sort sorvégjelölővel (a CR / LF kombináció).

A TextFile és az Assign Method

A szöveges fájlokkal való munka megkezdéséhez össze kell kapcsolnia egy lemezen lévő fájlt a kódban szereplő fájlváltozóval - deklarálni egy TextFile típusú változó, és az AssignFile eljárással társíthatja a lemezen lévő fájlt egy fájllal változó.

Információ olvasása egy szöveges fájlból

Ha vissza akarjuk olvasni egy fájl tartalmát egy karakterlánc-listába, csak egy sor sor fogja elvégezni a munkát.

instagram viewer

Ha fájlból soronként szeretnénk információkat olvasni, akkor meg kell nyitnunk a bemenet a Visszaállítás eljárást. Ha egy fájl visszaállítva, használhatjuk ReadLn információ olvasása egy fájlból (beolvassa a fájl egy sorát a fájlból, majd a következő sorra lép):

Miután hozzáadott egy sor szöveget egy fájlból egy emlékeztető összetevőhöz, a SomeTxtFile fájlt be kell zárni. Ezt a Bezárás kulcsszó.

Az Olvasás eljárást arra is használhatjuk, hogy fájlból információkat olvasson. Az olvasás ugyanúgy működik, mint a ReadLn, azzal a különbséggel, hogy nem mozgatja a mutatót a következő sorra.

EOF - a fájl vége

Az EOF funkcióval ellenőrizze, hogy nem próbálja-e a fájl végén túl olvasni. Tegyük fel, hogy a fájl tartalmát üzenetmezőkben szeretnénk megjeleníteni - egyenként egy sort, amíg a fájl végére nem kerülünk:

Megjegyzés: Jobb használni Míg hurok mint a hurok, hogy figyelembe vegye a (valószínűtlen) eshetőséget, hogy a fájl létezik, de nem tartalmaz semmilyen adatot.

Szöveg írása fájlba

Az WriteLn valószínűleg a leggyakoribb módszer az egyes információk egy fájlba történő továbbítására. A következő kód elolvassa a szöveget a Memo1 összetevőből (soronként), és elküldi azt egy újonnan létrehozott szövegfájlhoz.

Az újraírási eljáráshoz eljuttatott fájl állapotától függően új fájlt hoz létre (megnyitja a fájlt a kiadáshoz), a SomeTextFile névvel. Ha egy azonos nevű fájl már létezik, akkor azt törli, és a helyére új üres fájl jön létre. Ha a SomeTextFile már nyitva van, először bezárja, majd újra létrehozza. A fájl aktuális helyzetét az üres fájl elejére állítja.

Megjegyzés: Memo1.Lines. A SaveToFile ('c: \ MyTextFile.txt') ugyanezt fogja tenni.

Időnként csak szöveges adatokat kell hozzáadnunk egy meglévő fájl végéhez. Ha ez a helyzet, akkor felhívjuk hozzáfűzése annak biztosítása érdekében, hogy egy fájl csak írásos hozzáféréssel nyisson meg, amikor a fájlmutató a fájl végén van. Valami hasonló:

Vigyázzon a kivételekre

Általában mindig használnia kell kivétel kezelése amikor fájlokkal dolgozik. Az I / O tele van meglepetésekkel. Mindig használja a CloseFile-t egy végleges blokkban, hogy elkerülje a felhasználó FAT-jának megsérülését. Az összes korábbi példát a következőképpen kell átírni:

Manipulálás strukturált fájlokkal

A Delphi képes kezelni mind ASCII fájlokat, mind bináris adatokat tároló fájlokat. Itt vannak a velük való együttműködés technikái gépelt és nem gépelt (bináris) fájlok.

instagram story viewer