Pliki tekstowe



Zajmiemy się operacjami na plikach tekstowych. Dowiesz się jak je utworzyć, dopisać coś do nich, jak skasować ich zawartość itd. itp.

Aby wykonać jakąkolwiek operację na pliku tekstowym należy skojarzyć zmienną typu TextFile z fizycznym plikiem tekstowym. Operacja ta wykonywana jest przez procedurę AssignFile():

var
  Txt: TextFile;
begin
  AssignFile(Txt, 'Plik.txt');
  ...
end;
Następnie należy otworzyć ten plik w jednym z trzech możliwych sposobów:

procedura Reset(var F: TextFile) - otwiera istniejący plik do odczytu, operacje zapisu są niedozwolone. Można z niego odczytywać pojedyncze znaki (Read()) lub całe linie (ReadLn())

procedura Rewrite(var F: TextFile) - tworzy nowy pusty plik, jeżeli plik o podanej nazwie istnieje to jego zawartość jest kasowana. Dozwolone są jedynie operacje zapisu znaku (Write()) lub linii (WriteLn())

procedura Append(var F: TextFile) - otwiera plik i ustawia kursor na jego końcu. Służy do dopisywania znaków lub całych linii. Odczyt jest niedozwolony. Plik który został wywołany tą procedurą musi istnieć

Po zakończeniu operacji na pliku należy go zamknąć wywołując polecenie CloseFile(var F: TextFile);. Czas na przykłady:

Odczyt istniejącego pliku:
var
  Txt: TextFile;
begin
  AssignFile(Txt, 'Plik.txt');
  Reset(Txt);
  try
    ...
  finally
    CloseFile(Txt);
  end;
end;
Utworzenie pliku i wypełnienie go:
var
  Txt: TextFile;
begin
  AssignFile(Txt, 'Plik.txt'); Rewrite(Txt);
  try
    ...
  finally
    CloseFile(Txt); end;
  end;
end;
Dopisywanie informacji do pliku:
var
  Txt: TextFile;
begin
  AssignFile(Txt, 'Plik.txt');
  Append(Txt);
  try
    ...
  finally
    CloseFile(Txt);
  end;
end;
Jeżeli podczas wykonywania tych operacji wystąpi błąd to funkcje try i finally pozwolą na dalsze funkcjonowanie programu, tyle że operacje nie zostaną wykonane. Pomiędzy try i finally powinny znajdować się procedury dopisujące znaki (np. Write(Txt, 'A')) lub linie (WriteLn(Txt, 'Ala ma kota')) lub procedury odczytujące znaki i linie (Read i ReadLn).




...powrót