Wydział Transportu PW
Laboratorium z informatyki sem.II./ ćw. 11
Instrukcje try ... except i try ... finally można zagnieżdżać. W przypadku błędu wykonywana jest najbliższa w zakresie instrukcja finally lub except. Instrukcje po finally wykonywane są zawsze, instrukcje po except-tylko w przypadku błędu. Zagnieżdżenie instrukcji try w naszej aplikacji spowoduje, że plik zostanie zamknięty niezależnie od ewentualnych błędów odczytu danych, a w przypadku błędu zostanie wyświetlony odpowiedni komunikat, try
R e s e t (f) ; //otwarcie pliku try
//czytanie danych, tu może wystąpić wyjątek
finally
CloseFile(f); // plik zostanie zamknięty niezależnie od ewentualnych błędów czytania end; except
// obstługa wyjątku, wyświetlenie komunikatu
end;
Predefiowany typ TextFile (Text) reprezentuje plik zawierający znaki tekstu zorganizowane w wiersze. Znaki zawarte w pliku tekstowym mogą przedstawiać tekst (wartości typu string), znaki (wartości typu Char) oraz wartości liczbowe typów całkowitych i rzeczywistych.
Przy zapisie wartości liczbowych do pliku tekstowego i przy odczycie zmiennych liczbowych z pliku tekstowego, konwersja tekstu na liczby lub liczb na tekst jest wykonywana automatycznie przez odpowiednie proceduiy Write, Writeln, Read lub Readin.
Czynności związane z zapisaniem danych do pliku tekstowego przedstawia poniższa tabela :
Deklaracja zmiennej plikowej typu tekstowego |
var plik:TextFile |
Przypisanie zadeklarowanej zmiennej plikowej do zbioru na dysku |
AssignFile(plik, NazwaPliku) ; |
Otwarcie do zapisu pliku nowego lub pliku istniejącego (z usunięciem jego zawartości) |
Rewrite(plik); |
Otwarcie istniejącego pliku do dopisywania nowych danych |
Append(plik); |
Operacja zapisu do pliku tekstowego Zapis do pliku i przejście do nowego wiersza Przejście do nowego wiersza |
Write(plik, lista wartości); Writeln(plik, lista wartości) ; Writeln(plik); |
Zamknięcie pliku |
CloseFile(plik); |
Czynności związane z odczytem danych z pliku tekstowego przedstawia poniższa tabela :
Deklaracja zmiennej plikowej typu tekstowego |
var plik:TextFile |
Przypisanie zadeklarowanej zmiennej plikowej do zbioru na dysku |
AssignFile(plik, NazwaPliku) ; |
Otwarcie pliku do odczytu |
Reset(plik); |
Operacja odczytu z pliku tekstowego Odczyt wartości zmiennych! przejście do nowego wiersza Przejście do nowego wiersza pliku |
Read(plik, lista_zmiennych) ; Readlnfplik, lista_zmiennych) ; Readin(plik); I |
Zamknięcie pliku |
CloseFile(plik); |
Do sprawdzenia, czy istnieje plik dyskowy Statystyka.txt, czy też należy ten plik utworzyć wykorzystaliśmy funkcję wbudowaną FileExists :
FUeExists(NazwaPUku) - funkcja zwraca wartość True, jeśli plik o podanej nazwie istnieje, w przeciwnym przypadku funkcja zwraca wartość False