У нас: 141825 рефератів
Щойно додані Реферати Тор 100
Скористайтеся пошуком, наприклад Реферат        Грубий пошук Точний пошук
Вхід в абонемент



Курсова робота - Поняття файлів в Turbo Pascal
20
список змінних);

Writeln (назва файлової змінної, список змінних).

Відмінності текстового файлу від File of Char:

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

Текстові файли не мають прямого доступу, тобто до елементів можливий тільки послідовний доступ, починаючи з першого.

Записування в текстовий файл та читання з текстового файлу дозволено для змінних тільки деяких стандартних типів (для Read, Readln – тільки цілий, дійсний, символьний і строковий типи; для Write, Writeln -- тільки цілий, дійсний, символьний, строковий і булевський, або логічний, типи).

Наявність ознаки кінця рядку.

Для читання з текстових файлів і запису в них дозволено використання процедур Readln і Writeln, які не припустимі для інших типів файлів [2].

Процедури та функції для роботи з текстовими файлами

Для текстових файлів додатково до загальних призначені наступні процедури та функції:

Append -- відкриває існуючий файл для того, щоб добавити елементи в кінець файлу (див. розділ 3.1.2).

Flush -- скидає для текстового файлу буфер виведення (див. розділ 3.5).

Readln -- працює так як Read, але додатково виконує пропуск всіх елементів поточного рядку, що залишились, та переводить покажчик поточної позиції файлу на початок наступного рядку текстового файлу (див. розділ 4.2).

SeekEof -- повертає для текстового файлу стан Eof (кінець файлу).

SeekEoln -- повертає для текстового файлу стан Eoln. (кінець рядку).

SetTextBuf -- призначає для текстового файлу буфер введення - виведення.

Writeln -- працює так як Write, але після запису вказаних в процедурі значень, додатково записує в текстовий файл ознаку кінця рядку Eoln. (див. розділ 4.2) [2].

4.3 Нетипізовані файли

Для більш ефективного виконання операцій введення/виведення із зовнішніх файлів в мові Паскаль існують нетипізовані файли. Нетипізовані файли дають можливість прямого доступу до будь-якого файлу на диску незалежно від його типу і структури.

При оголошенні нетипізованого файлу вказується тільки ключове слово file, наприклад:

Var F: file;

Така файлова змінна зв’язується із зовнішнім файлом звичайним чином. Серед параметрів процедур Reset і Rewrite для нетипізованих файлів, крім файлової змінної, є необов’язковий другий параметр типу Word:

Reset (untypfile, n);

Rewrite (untypfile, n);

Додатковий параметр n описує розмір індивідуального запису в файлі (в байтах). Якщо параметр n відсутній, його значення за умовчанням приймається рівним 128, однак рекомендується вказувати значення 1. Це пов’язане з тим, що при будь-якому значенні величини запису в файлі остання запис може виявитись неповною, а це не завжди зручно (останні байти файлу можуть бути не прочитаними) [7].

Для маніпулювання нетипізованими файлами придатні тіх процедури, що і для типізованих, за виключенням Read і Write. Для обміну даними з нетипізованими файлами використовуються спеціальні процедури: BlockRead і BlockWrite.

Процедура BlockRead прочитує із файлу вказану кількість записів; файл, із якого відбувається читання, попередньо повинен бути відкритим:

BlockRead (f, buf, count, result);

де f – нетипізована файлова змінна (типу file);

buf – змінна, яка була оголошена раніше в програмі і використовується як робочий буфер;

count – вираз або значення (типу word), яке відповідає кількості записів, котрі слід прочитати із файлу;

result – значення (типу word), яке повертається процедурою і відповідає кількості прочитаних записів. (Необов’язковий параметр.)

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

Приклад застосування процедури BlockRead – див. в додатку 3.

Процедура BlockWrite добавляє до файлу один або кілька записів; файл, до якого відбувається запис, попередньо повинен бути відкритим:

BlockWrite (f, buf, count, result);

де f – нетипізована файлова змінна (типу file);

buf – змінна, яка була оголошена раніше в програмі і використовується як робочий буфер;

count – вираз або значення (типу word), яке відповідає кількості записів, котрі слід добавити до файлу;

result – значення (типу word), яке повертається процедурою і відповідає кількості доданих записів. (Необов’язковий параметр.) [1]

Приклад застосування процедури BlockWrite – див. в додатку 3.

Додаток


Сторінки: 1 2 3 4