Správa ASCII (textových) souborů z Delphi kódu

Jednoduše řečeno, textové soubory obsahují čitelné ASCII postavy. Můžeme myslet na práci s textovým souborem v Delphi jako na analogii s přehráváním nebo zaznamenáváním informací na kazetu VCR.

Přestože je možné provést změny v textovém souboru, při zpracování informací přeskočte nebo přidejte do souboru jiná data než na konci je vhodné použít textový soubor pouze tehdy, když víme, že pracujeme s běžným textem a žádné takové operace nejsou nutné.

Za textové soubory se považuje sekvence znaků formátovaná do řádků, kde je každý řádek zakončen značkou konce řádku (a Kombinace CR / LF).

Textový soubor a metoda přiřazení

Chcete-li začít pracovat s textovými soubory, musíte propojit soubor na disku s proměnnou souboru ve vašem kódu - deklarovat proměnná typu TextFile a pomocí postupu AssignFile přiřadíte soubor na disku k souboru proměnná.

Čtení informací z textového souboru

Pokud chceme načíst obsah souboru do seznamu řetězců, provede úlohu pouze jeden řádek kódu.

Abychom mohli číst informace ze souboru po řádku, musíme soubor otevřít

instagram viewer
vstup pomocí Resetovat postup. Jakmile je soubor resetován, můžeme použít Číst číst informace ze souboru (přečte jeden řádek textu ze souboru a poté se přesune na další řádek):

Po přidání jednoho řádku textu ze souboru do komponenty poznámky SomeTxtFile musí být uzavřen. To se provádí pomocí Zavřít klíčové slovo.

Můžeme také použít postup čtení pro čtení informací ze souboru. Čtení funguje stejně jako čtení, ale nepřesune ukazatel na další řádek.

EOF - konec souboru

Pomocí funkce EOF se ujistěte, že se nepokoušíte číst za konec souboru. Řekněme, že chceme zobrazit obsah souboru ve schránkách - jeden řádek po druhém, dokud se nedostaneme na konec souboru:

Poznámka: Je lepší používat Zatímco smyčka než smyčka Until, aby se zohlednila (nepravděpodobná) možnost, že soubor existuje, ale neobsahuje žádná data.

Zápis textu do souboru

WriteLn je pravděpodobně nejběžnějším způsobem odesílání jednotlivých informací do souboru. Následující kód přečte text z komponenty Memo1 (řádek po řádku) a odešle jej do některého nově vytvořeného textového souboru.

V závislosti na stavu souboru poskytnutého postupu přepisu vytvoří nový soubor (otevře soubor pro výstup) s názvem přiřazeným SomeTextFile. Pokud soubor se stejným názvem již existuje, bude odstraněn a na jeho místo bude vytvořen nový prázdný soubor. Pokud je SomeTextFile již otevřený, je nejprve uzavřen a poté znovu vytvořen. Aktuální pozice souboru je nastavena na začátek prázdného souboru.

Poznámka: Memo1.Lines. SaveToFile ('c: \ MyTextFile.txt') provede totéž.

Někdy stačí přidat některá textová data na konec existujícího souboru. Pokud je tomu tak, zavoláme Připojit zajistit, aby byl soubor otevřen s přístupem pouze pro zápis s ukazatelem souboru umístěným na konci souboru. Něco jako:

Buďte si vědomi výjimek

Obecně byste měli vždy používat zpracování výjimek při práci se soubory. I / O je plný překvapení. Vždy používejte CloseFile v konečném bloku, abyste se vyhnuli možnosti poškození FAT uživatele. Všechny předchozí příklady by měly být přepsány následovně:

Manipulace se strukturovanými soubory

Delphi má schopnost zpracovávat jak soubory ASCII, tak soubory, které obsahují binární data. Zde jsou techniky pro práci s zadané a nezadané (binární) soubory.