Alap fájl I / O a delphi, delphi, delphi komponensek, delphi forrásokból

Minden programozónak képesnek kell lennie arra, hogy szöveges fájlokkal, fájlokat tartalmazó fájlokkal és fájlokkal dolgozhasson, amelyek nem rendelkeznek egy adott struktúrával, vagy úgy kezelik, mintha nem rendelkeznének struktúrával. Először szövegfájlokat fogunk megnézni, mivel ezt a fajta fájlt leggyakrabban használják.







A szövegfájlok eléréséhez a Text type változók:

Mielőtt elkezdene dolgozni a fájllal, hozzá kell rendelnie egy Szöveg típusú változóhoz az AssignFile eljárással. Ez az eljárás két paramétert tartalmaz: a fájlváltozót és a fájlnevet.

Miután a fájlnév hozzá lett rendelve a fájlváltozóhoz, meg kell határoznia a fájlon végrehajtandó műveleteket. A fájl elkészíthető olvasásra, írásra vagy hozzáadásra.

Ahhoz, hogy elkészítsen egy fájlt a rekordhoz, használja a Rewrite eljárást, amely mindig új üres fájlt hoz létre. Ha ugyanaz a fájlnév fájl már létezik, a Rewrite eljárás először törli a meglévő fájlt, majd új üres fájlra cseréli. Ezután az eljárás megnyitja a fájlt, és beállítja a helyzetjelzőt a fájl elejére.

Szövegfájlok használatakor a Rewrite eljárásnak csak egy szöveget kell megadnia:

Amikor a fájl megnyílik, és készen áll az írásra, a szabványos WriteLn eljárással szöveges szöveget írhat. Egy szövegfájlba írva a WriteLn eljárásnak átadott első paraméternek fájlváltozónak kell lennie:

Amikor befejezte a munkát a fájllal, mindig zárja be, hogy biztosítsa a fájl helyes mentését a lemezre, és szabadítsa fel a memóriát, amelyik az írás közben van. A fájl bezárásához használja a CloseFile eljárást, amely egyetlen paramétert tartalmaz - a fájl bezárása:







Példa egy szöveges szövegsor szövegírására szolgáló programra a 8.1. Listában.

Listázás 8.1. Szöveg írása szöveges fájlba

A fájl elkészítéséhez használja a Reset műveletet. Ez az eljárás, mint a Rewrite eljárás, csak egy fájltípus paramétert tartalmaz. Biztonságosnak tekinthető abban az értelemben, hogy sikeresen működik, ha a meghajtó és / vagy a fájlnévben megadott könyvtár létezik. A Rewrite-lel ellentétben a Reset eljárás nem lesz lehetséges, ha a fájl változóhoz rendelt fájl nem létezik.

Egy szövegfájlból származó adatok olvasásához használhatja a ReadLn eljárást. Az első átadandó paraméternek egy fájlváltozónak kell lennie, a második pedig egy string változó, amely átmenetileg tárolja az értéket a fájlból.

A következő példa a szövegfájl olvasási értékeit mutatja, és megjeleníti azokat a képernyőn.

Lista 8.2. Szöveg olvasása szövegfájlból

Ez a kód jól működik, amíg az adatfájl létezik. txt. Ha ez a fájl nem létezik, a program sikertelen lesz. Az alkalmazás leállításának elkerülése érdekében fájl hiányában ellenőrizze, hogy sikerült-e megnyitni a fájlt a Reset eljárással.

Annak megállapításához, hogy vannak-e I / O hibák, közvetlenül egy I / O eljárás meghívása után, például Rewrite vagy Reset, hívja az IOResult funkciót. Az IOResult függvény az utolsó végrehajtott I / O művelet eredményét adja vissza. Ha az IOResult értéke 0, ez azt jelzi, hogy a művelet sikeres volt.

Az IOResult funkció használatával I / O ellenőrzés elvégzéséhez először le kell tiltani az automatikus I / O ellenőrzést. Az I / O hibaellenőrzés engedélyezéséhez vagy letiltásához használja a SI fordító irányelvét. Általában az automatikus I / O-ellenőrzés le van tiltva, mielőtt az I / O eljárás hívásra kerül, majd újra be lehet kapcsolni közvetlenül a hívás után:

A következő példa bemutatja, hogyan kell végrehajtani az I / O csekket, és csak akkor nyithatja meg a fájlt, ha sikeresen megnyílik.

Lista 8.3. I / O hibaellenőrzés