Zarządzanie plikami Ascii (tekstowymi) z kodu Delphi

Mówiąc najprościej, pliki tekstowe zawierają czytelny ASCII postacie. Możemy myśleć o pracy z plikiem tekstowym w Delphi jako analogii do odtwarzania lub nagrywania informacji na taśmie VCR.

Chociaż można wprowadzić zmiany w pliku tekstowym, przeskakuj podczas przetwarzania informacji lub dodaj dane do pliku innego niż na koniec zaleca się używanie pliku tekstowego tylko wtedy, gdy wiemy, że pracujemy ze zwykłym tekstem i żadne takie operacje nie są niezbędny.

Uważa się, że pliki tekstowe reprezentują sekwencję znaków sformatowanych w linie, przy czym każda linia jest zakończona znacznikiem końca linii (a Kombinacja CR / LF).

TextFile i metoda przypisania

Aby rozpocząć pracę z plikami tekstowymi, musisz połączyć plik na dysku ze zmienną pliku w kodzie - deklaruj zmienna typu TextFile i użyj procedury AssignFile, aby skojarzyć plik na dysku z plikiem zmienna.

Odczytywanie informacji z pliku tekstowego

Jeśli chcemy ponownie odczytać zawartość pliku na listę łańcuchów, wystarczy jeden wiersz kodu.

instagram viewer

Aby odczytać informacje z pliku linia po linii, musimy otworzyć plik Wejście za pomocą Resetowanie procedura. Po zresetowaniu pliku możemy użyć ReadLn aby odczytać informacje z pliku (czyta jeden wiersz tekstu z pliku, a następnie przechodzi do następnego wiersza):

Po dodaniu jednego wiersza tekstu z pliku do komponentu notatki SomeTxtFile musi zostać zamknięty. Odbywa się to przez Blisko słowo kluczowe.

Możemy również użyć procedury Read, aby odczytać informacje z pliku. Odczyt działa podobnie jak ReadLn, z tym wyjątkiem, że nie przenosi wskaźnika do następnej linii.

EOF - koniec pliku

Użyj funkcji EOF, aby upewnić się, że nie próbujesz czytać poza końcem pliku. Powiedzmy, że chcemy wyświetlać zawartość pliku w oknach wiadomości - po jednym wierszu, aż dojdziemy do końca pliku:

Uwaga: Lepiej jest używać Podczas pętli niż pętla Until, aby wziąć pod uwagę (mało prawdopodobną) możliwość, że plik istnieje, ale nie zawiera żadnych danych.

Wpisywanie tekstu do pliku

The WriteLn jest prawdopodobnie najczęstszym sposobem przesyłania pojedynczych informacji do pliku. Poniższy kod odczyta tekst ze składnika Memo1 (wiersz po wierszu) i wyśle ​​go do nowo utworzonego pliku tekstowego.

W zależności od stanu pliku przekazanego do procedury Rewrite tworzy nowy plik (otwiera plik do wyjścia) z nazwą przypisaną do SomeTextFile. Jeśli plik o tej samej nazwie już istnieje, jest usuwany, a na jego miejscu tworzony jest nowy pusty plik. Jeśli plik SomeTextFile jest już otwarty, najpierw jest zamykany, a następnie tworzony ponownie. Bieżąca pozycja pliku jest ustawiona na początek pustego pliku.

Uwaga: Memo1.Lines. SaveToFile ('c: \ MyTextFile.txt') zrobi to samo.

Czasami musimy po prostu dodać trochę danych tekstowych na końcu istniejącego pliku. W takim przypadku zadzwonimy Dodać aby upewnić się, że plik jest otwierany z dostępem tylko do zapisu, a wskaźnik pliku znajduje się na końcu pliku. Coś jak:

Uważaj na wyjątki

Ogólnie powinieneś zawsze używać Obsługa wyjątków podczas pracy z plikami. I / O jest pełen niespodzianek. Zawsze używaj CloseFile w ostatnim bloku, aby uniknąć możliwości uszkodzenia FAT użytkownika. Wszystkie poprzednie przykłady należy przepisać w następujący sposób:

Manipulowanie plikami strukturalnymi

Delphi ma możliwość obsługi plików ASCII i plików zawierających dane binarne. Oto techniki pracy z pliki wpisane i bez typu (binarne).