Паскаль: робота з файлами, Детальна інформація

Паскаль: робота з файлами
Тип документу: Реферат
Сторінок: 15
Предмет: Комп`ютерні науки
Автор: Олексій
Розмір: 29.3
Скачувань: 1139
стає кількість елементів у файлі.

Зрозуміло, що використовуючи у програмі виклик процедури seek в парі з викликами read або write, ми зможемо прочитати будь-який елемент файла чи зробити заміну його значення.

Зокрема, за допомогою процедур seek, filesize і write можна розширити файл, дописуючи значення нового елемента в кінець:

seek ( f, filesize ( f ));

write ( f, v ).

Дійсно, після виклику seek файловий вказівник встановлюється за останнім елементом, тобто

f0 f1 f2 ... fN



а після виклику write значення v записується в новий елемент, після чого файловий вказівник переміщається вправо:

f0 f1 f2 ... fN fN+1



Процедура TRUNCATE задає знищення решти файла, починаючи від доступного елемента. Наприклад, після виконання викликів

seek(f, 3); truncate(f)

елементи з 3-го по останній знищуються, а залишаються з номерами 0, 1 і 2.

Використання процедур прямого доступу дозволяє вилучати елементи з файла.

Приклад 4. Наведемо програму, яка задає вилучення непотрібних елементів файла, тобто його стискання.

Нехай у файлі Group.dat зберігається інформація про студентів групи: прізвище, ім’я та середній бал. З клавіатури задається прізвище студента, який вибув – запис про нього треба вилучити з файла.

За наступною програмою файл читається до кінця і в допоміжний файл копіюються ті записи, поле-прізвище яких відрізняється від заданого. Далі файли закриваються, і засобами модуля System старий файл просто знищується, а допоміжному присвоюється зовнішнє ім’ я старого.

program OutFromGroup;

type Student = record

Sname, Name : string[20];

Ball : real;

end;

var Fi, Fo : file of Student; { інформаційний та допоміжний файл }

FileName: string; { ім’ я файла }

procedure OpenFile;

begin

writeln('Задайте ім''я файла'); readln(FileName);

assign(Fi, FileName); reset(Fi);

assign(Fo, 'NewFile.dat'); rewrite(Fo);

The online video editor trusted by teams to make professional video in minutes