Текстові файли Приклади використання
Текстові файли призначені для зберігання символів Для опису текстової файлової змінної використовується тип Text. Наприклад, var f : Text ; Для опису текстової файлової змінної використовується тип Text. Наприклад, var f : Text ; Для роботи з текстовими файлами існують процедури і функції. Розглянемо їх на прикладах.
Приклад 1 Створення текстового файлу і запис 10 чисел Var f : text ; a, i : integer ; begin Assign(f, ab.pas) ; {- Assign(f, ab.pas) ; {-встановити звязок між файловою змінною f і фізичним файлом ab.pas} Rewrite (f) ; { -відкрити файл для запису} Writeln( введіть числа) ; For i :=1 to 10 do begin begin Readln (a); { -введення числа з клавіатури} Readln (a); { -введення числа з клавіатури} write (f, a : 2) ; { - запис числа у файл } write (f, a : 2) ; { - запис числа у файл } End ; End ; Close (f) {- закрити файл} Еnd.
Зауваження Числа, які вводяться у файл, зручно утворювати за допомогою команди присвоювання, наприклад: Числа, які вводяться у файл, зручно утворювати за допомогою команди присвоювання, наприклад: For i:=1 to n do begin For i:=1 to n do begin a:=i+1; Write( f, a:2) end; a:=i+1; Write( f, a:2) end; aбо утворювати їх випадковим чином: aбо утворювати їх випадковим чином: For i:=1 to n do begin For i:=1 to n do begin a:=random(10); Write( f, a:5) end; a:=random(10); Write( f, a:5) end;
Приклад 2 Прочитати два числа із текстового файлу Var f : text ; a, b : integer; begin Assign(f, ab.pas) ; Reset (f) ; { - відкрити файл для читання } Read (f, a); { - читання 1-го числа } Read (f, b); { - читання 2-го числа } Writeln( a:3, b:3) { -виведення чисел на екран} Close (f) end.
Увага! Файл в програмі можна відкривати процедурою Reset або Append багато разів. Файл в програмі можна відкривати процедурою Reset або Append багато разів. Процедура Rewrite очистить існуючий файл. Процедура Rewrite очистить існуючий файл. В кінці програми обовязково потрібно закрити файл процедурою Close(f). В кінці програми обовязково потрібно закрити файл процедурою Close(f).
Приклад 3 Прочитати шосте з початку файла число і записати його в кінець файла Var f : text ; a, i : integer; begin Assign(f, ab.pas ) ; Reset (f) ; { -відкрити файл для читання Reset (f) ; { -відкрити файл для читання} For i :=1 to 6 do Readln (f, a) ; writeln ( a) ; Append (f) ; { -встановити покажчик на кінець файла} Write (f, a) ; { - запис числа у файл } Close (f) end.
Увага! Слід памятати: Слід памятати: - якщо пишемо дані в файл командою Writeln, то і читаємо дані із файла командою Readln; - якщо пишемо дані командою Write, то і читаємо дані із файла командою Read.
Приклад 4 Знайти суму чисел у файлі, кількість елементів не задана( фрагмент програми). Приклад 4 Знайти суму чисел у файлі, кількість елементів не задана( фрагмент програми) S:=0; Reset (f) ; { -відкрити файл для читання } While not eof (f) do {-поки не кінець файла} begin begin read ( f, a ) ; { - читання числа із файла } read ( f, a ) ; { - читання числа із файла } Write (a : 2) ; { -виведення числа на екран } Write (a : 2) ; { -виведення числа на екран } S:=s+a ; S:=s+a ; End ; End ; write (сума чисел=, s ) ;