Всі дії з файлами здійснюються за допомогою процедур і функцій. Для кожного виду файлів існує набір процедур і функцій, які використовуються для роботи з файлами, частина процедур і функцій застосовується до будь-яких видів файлів.
Набір процедур і функцій для з файлами наведено в табл. 1-3.
Процедури і функції для роботи з файлами будь-якого виду
Таблиця 1
п/ф |
Запис |
Призначення |
Приклад |
П |
ASSIGN(FP,IF);
ASSIGN- призначити;
FP- файл. пер.
IF- ім'я файлу. |
Здійснює логічний зв'язок імені дискового файлу з ім'ям файлової змінної |
Assign
(f1,’D:\TP\BIN\inp.txt’); |
П |
RESET(FP); |
Відкрити файл для читання (введення). У типизированном файл переміщується вказівник на компоненту з номером 0 |
|
П |
REWRITE(FP); |
Відкриття файлу для запису (виведення). Створюється новий файл або знищується вміст старого. |
|
П |
CLOSE(FP); |
Закриває файл, але зв'язок з файлової змінної зберігається. |
|
П |
RENAME(FP); |
Перейменування пов'язаного, але не відкритого файлу. |
(f1,’D:\TP\BIN\inp.txt’); Rename
(f1, ’D:\TP\BIN\d.txt’);
|
П |
ERASE(FP); |
Видалення пов'язаного, але не відкритого файлу. |
|
П |
CHDID(<шлях>); |
Зміна поточного каталогу. |
|
П |
MKDIR(каталог<>); |
Створення нового каталогу. |
|
П |
GETDIR(<каталог>); |
Визначає ім'я поточного каталогу. |
|
П |
RMDIR(<каталогр>); |
Видалення каталогу. |
|
Ф |
EOF(FP); |
Визначає кінець файлу (true-якщо досягнуто кінець файлу) |
|
|
|
|
|
Процедури і функції для роботи з типизированными файлами
Таблиця 2
п/ф |
Запис |
Призначення |
Приклад |
П |
READ(FP,S); |
Зчитує список значень з типізованого файлу. |
|
П |
WRITE(FP,S); |
Виводить список значень в типізований файл. |
|
П |
SEEK(FP,N); |
Встановлює вказівник на компоненту N. |
|
П |
TRUNCATE(FP); |
Фай усікається положення вказівника. |
|
Ф |
FILESIZE(FP); |
Повертає розмір файлу. |
|
Ф |
FILEPOS(FP); |
Возвращает положення вказівника |
|
Процедури і функції для роботи з текстовими файлами
Таблиця 3
П/Ф |
Запис |
Призначення |
Приклад |
П |
READ(FP,S);
S- список пер. |
Зчитує список значень з текстового файлу. |
|
П |
READLN(FP,S); |
Зчитує список значень з текстового файлу з переведенням рядка. |
|
П |
WRITE(FP,S); |
Виводить список значень в текстовий файл. |
|
П |
WRITELN(FP,S); |
Виводить список значень в текстовий файл з переведенням рядка.. |
|
П |
APPEND(FP); |
Відкриття пов'язаного файлу для записування. Якщо був відкритий, то закриває і знову відкриває. Покажчик переводить в кінець файлу. |
|
Ф |
EOFLN(FP); |
Визначає кінець рядка (true-якщо досягнуто кінець рядка) |
|
Ф |
SEEKEOLN(FP); |
Встановлює вказівник на кінець рядка |
|
Ф |
SEEKEOF(FP); |
Встановлює вказівник на кінець файлу |
|
Приклад 15.1. У текстовому файлі d1.txt розташований масив, що складається з 10 запакованих чисел: 0.54 1.7 4.56 0.2
1.32 1.54 18 0.98
5.6 7.7
Необхідно вважати дані з файлу, обчислити функцію
Результат вивести в текстовий файл d2.txt і на екран.
Текст програми
Program ftxtx; {Введення з текстового файлу і висновок у текстовий файл}
Uses CRT;
Const n=10;
Type
t=text;
mas=array[1..n] of real;
Var
f1,f2 :t;
x,y :mas;
i :byte;
Begin
ClrScr;
Assign(f1,"d1.txt"); Reset(f1); Assign(f2,"d2.txt"); Rewrite(f2);
For i:=1 to n do
begin
Read(f1,x[i]);
y[i]:=sqrt(abs(x[i]));
Writeln(f2,y[i]:10);
Writeln(y[i]:10);
end;
Readln;
Close(f2); Close(f1)
End.
Результат роботи програми:
7.3E-0001
1.3E+0000
2.1E+0000
4.5E-0001
1.1E+0000
1.2E+0000
4.2E+0000
9.9E-0001
2.4E+0000
2.8E+0000
Приклад 15.2. У текстовому файлі d1.txt розташований масив, що складається з 10 запакованих чисел
0.54 1.7 4.56 0.2
1.32 1.54 18 0.98
5.6 7.7
Необхідно вважати дані з файлу, знайти функцію
Результат вивести в типізований файл d2.tip і на екран.
Текст програми
Program ftxti; {Введення з текстового файлу виводу у типізований файл }
Uses CRT;
Const n=10;
Type
t=text;
mas=array[1..n] of real;
Var
f1 :t;
f2 :file of real;
x,y :mas;
i :byte;
Begin
ClrScr;
Assign(f1,"d1.txt"); Reset(f1);
Assign(f2,"d2.tip"); Rewrite(f2);
For i:=1 to n do
begin
Read(f1,x[i]);
y[i]:=sqrt(abs(x[i]));
(Writef2,y[i]);
Writeln(y[i]:10);
end;
Readln;
Close(f2); Close(f1)
End.
Результат роботи програми:
А Не$-<Бг->ф&Вwgжк..щdЃХђЃ.Г Ш-ѓыf¶ГЂч{Tm}‚еЦћs'FBБ-1
Приклад 15.3. У типизированном файлі d2.tip розташований масив, що складається з 10 запакованих чисел
Необхідно вважати дані з файлу, знайти функцію
Результат вивести в текстовий файл d3.txt і на екран.
Текст програми
Program ftitx; { Введення з типізованого файлу виводу у текстовий файл }
Uses CRT;
Const n=10;
Type
t=text;
mas=array[1..n] of real;
Var
f1 :file of real;
f2 :t;
x,y :mas;
i :byte;
Begin
ClrScr;
Assign(f1,"d2.tip"); Reset(f1);
Assign(f2,"d3.txt"); Rewrite(f2);
For i:=1 to n do
begin
Read(f1,x[i]);
y[i]:=sqrt(abs(x[i]));
Writeln(f2,y[i]:10);
Writeln(y[i]:10);
end;
Readln;
Close(f2); Close(f1)
End.
Приклад 15.4. У типизированном файлі d2.tip розташований масив, що складається з 10 запакованих чисел
Необхідно вважати дані з файлу, знайти функцію
Результат вивести в теипизированный файл d2.tip і на екран.
Текст програми
Program ftiti;
{ Введення з типізованого файлу і висновок у типізований файл}
Uses CRT;
Const n=10;
Type
mas=array[1..n] of real;
Var
f1,f2 :file of real;
x,y :mas;
i :byte;
Begin
ClrScr;
Assign(f1,"d2.tip"); Reset(f1);
Assign(f2,"d3.tip"); Rewrite(f2);
For i:=1 to n do
begin
Read(f1,x[i]);
y[i]:=sqrt(abs(x[i]));
Write(f2,y[i]);
Writeln(y[i]:10);
end;
Readln;
Close(f2); Close(f1)
End.