Зворотний зв'язок

ПАСКАЛЬ: РОБОТА З ФАЙЛАМИ

for i:=1 to k-1 do read(f, x);

{пропущено k-1 елемент - доступний якраз k-й}

x:=...; write(f, x).

Описати в такому ж дусі вилучення й додавання елемента до файла ми залишаємо вправою для наддопитливих читачів. Але все це "штучки", якими користуватися не варто.

Натомість розглянемо прямий доступ до елементів файла. Його суть у тім, що елементи задаються номерами в послідовності, яка утворює файл. Такий доступ здійснюється за допомогою спеціальних підпрограм.

Основною є процедура SEEK. У її виклику задається ім’ я файлової змінної та номер того елемента файла, який стає доступним після виконання виклику. Номер задається виразом типу LongInt. Наприклад, після виклику

Seek ( f, 2)

доступним стає третій елемент, оскільки нумерація починається з 0:

f0f1f2 f3 ...fN

¬

Значення саме цього елемента буде читатися за виконання виклику процедури введення read чи цьому елементу буде щось присвоюватися за виконання write. В обох випадках доступним стане наступний елемент:

f0f1f2 f3 ...fN

¬

Підкреслимо, що виклик процедури Seek записується після відкривання файла за допомогою reset, і після нього можна як читати, так і записувати елементи файла, тобто режим доступу не має значення.

У системі Турбо Паскаль є також кілька допоміжних процедур, що застосовуються разом із процедурою Seek.

Функція FILEPOS задає повернення номера доступного елемента. Єдиним аргументом у її виклику є ідентифікатор файлової змінної, а повертається значення типу LongInt. Наприклад, за останнього зображеного значення файлової змінної f присвоювання

A := FilePos ( f );

надає змінній А типу LongInt значення 3.

Для визначення загальної кількості елементів у файлі використовують функцію FILESIZE. Її единим параметром є ідентифікатор файлової змінної, і з її виклику повертається значення типу LongInt. Наприклад, значенням змінної N типу LongInt після присвоювання

N := FileSize ( f )

стає кількість елементів у файлі.

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


Реферати!

У нас ви зможете знайти і ознайомитися з рефератами на будь-яку тему.







Не знайшли потрібний реферат ?

Замовте написання реферату на потрібну Вам тему

Замовити реферат