Студопедия
Новини освіти і науки:
МАРК РЕГНЕРУС ДОСЛІДЖЕННЯ: Наскільки відрізняються діти, які виросли в одностатевих союзах


РЕЗОЛЮЦІЯ: Громадського обговорення навчальної програми статевого виховання


ЧОМУ ФОНД ОЛЕНИ ПІНЧУК І МОЗ УКРАЇНИ ПРОПАГУЮТЬ "СЕКСУАЛЬНІ УРОКИ"


ЕКЗИСТЕНЦІЙНО-ПСИХОЛОГІЧНІ ОСНОВИ ПОРУШЕННЯ СТАТЕВОЇ ІДЕНТИЧНОСТІ ПІДЛІТКІВ


Батьківський, громадянський рух в Україні закликає МОН зупинити тотальну сексуалізацію дітей і підлітків


Відкрите звернення Міністру освіти й науки України - Гриневич Лілії Михайлівні


Представництво українського жіноцтва в ООН: низький рівень культури спілкування в соціальних мережах


Гендерна антидискримінаційна експертиза може зробити нас моральними рабами


ЛІВИЙ МАРКСИЗМ У НОВИХ ПІДРУЧНИКАХ ДЛЯ ШКОЛЯРІВ


ВІДКРИТА ЗАЯВА на підтримку позиції Ганни Турчинової та права кожної людини на свободу думки, світогляду та вираження поглядів



Файли послідовного доступу. Опис файлового типу.

 

При роботі з файлами використовується стандартна функція EOF(F), де F - ім'я файла. Якщо вказівник файла перемістився за останній компонент (готовність до запису), то ця функція приймає значення TRUE, в усіх інших випадках її значеня дорівнює FALSE.

 

В загальному випадку файл описується так:

 

TYPE R = FILE OF TK;

 

де R - ідентифікатор файла, TK - тип компонентів файла. Компонентом (елементом) файла може бути довільний тип даних, за винятком файлового типу, тобто "файл файлів" використовувати не можна. Найчастіше на практиці використовуються файли записів.

З файловою системою Turbo Pascal пов'язане поняття буферу вводу-виводу. Ввід і вивід даних здійснюється через буфер. Буфер – це область в пам'яті, що виділяється для кожного файлу. При записі в файл вся інформація спочатку направляється в буфер і там накопичується до тих пір, поки весь обсяг буферу не буде заповнений. Тільки після цього чи після спеціальної команди скидання здійснюється передача даних на зовнішній пристрій. При читанні з файлу дані спершу считуються в буфер, причому даних зчитується не стільки, скільки запрошується, а скільки поміститься в буфер. Механізм буферiзації дозволяє дуже швидко і ефективно обмінюватися інформацІЇю із зовнішніми пристроями.

Для роботи з файлами в програмі необхідно визначити файлову змінну. Turbo Pascal підтримує три файлових типи : текстові файли, компонентні файли, нетиповані файли.

Опис файлових змінних текстового типу виробляється з допомогою службового слова Text, наприклад :

 

var tstory : Text;

 

Опис компонентних файлів має вид :

 

var fcomp : File of T;

 

де T - тип компонента файлу.

Приклади опису файловоє змінної компонентного типу :

 

type M = array [1.. 500] of Longint;

var f1 : File of Real;

f2 : File of Integer;

fli : File of M;

 

Нетиповані файли описуються за допомогою службового слова File :

 

var f : File;

 

Файлові змінні, котрі описані в програмі, називають логiчними файлами.

Мова програмування Паскаль допускає два доступи до вмістимого файлів: послідовний доступ і прямий.

Зміст послідовного доступу полягає в тому, що в кожний момент часу доступний лише один компонент із всієї послідовностi. Для того, щоб звернутися (одержати доступ) до компонента з номером k, необхідно переглянути вiд початку файлу k-1 попереднiх компонентiв. Після звертання до компонента з номером k можна звертатися до компонента з номером k+1. Звідси випливає, що процеси формування (запису) компонент файлу і перегляду (читання) не можуть довільно чергуватися. Таким чином, файл спершу створюється за

 

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

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

Прямий доступ припускає, що файл становить лiнiйну послiдовнiсть блоків. Якщо файл містить n блоків, то вони нумеруються від 1 через 1 до n. Крім цього, вводиться поняття умовної межi між блоками, при цьому умовна межа з номером 0 розташована перед блоком із номером 1, межа з номером 1 розташована перед блоком з номером 2 і, нарешті, умовна межа з номером n знаходиться після блоку з номером n.

Реалізація прямого доступу здійснюється за допомогою функцій і процедур Filesize, Filepos, Seek і Truncate.

Функція

 

Filesize(var f) : Longint

 

повертає кількість блоків в відкритому файлі f.

Функція

 

Filepos(var f) : Longint

 

повертає поточну позицію в файлі f. Позиція в файлі - це номер умовної межі. Для щойно відкритого файлу поточною позицією буде межа з номером 0. Це значить, що можна записати або прочитати блок із номером 1. Після читання чи запису першого блоку поточна позиція переміститься на межу з номером 1, і можна буде звертатися до блоку з номером 2. Після читання останнього запису значення Filepos дорівнює значенню Filesize.

Файли в Паскалі є файлами послідовного доступу. Читати послідовний файл можна лише послідовно по одній компоненті. Почати запис в файл можна лише з самого початку, дозапис інформації можливий лише після останньоі компоненти.

 


Читайте також:

  1. Аналіз послідовного інтерфейсу з DSP-процесорами
  2. Вплив послідовного і шунтуючого опору на вольт-амперну характеристику сонячного елемента
  3. Господарські товариства корпоративного і некорпоративного типу.
  4. Дійсний тип та операції над даними дійсного типу.
  5. Загальна характеристика занять позаурочного типу. Особливості позакласної роботи з фізичного виховання
  6. Коди послідовного кодування
  7. Мета-файли.
  8. Метод послідовного виключення невідомих або метод Гауса.
  9. Множини, записи, файли
  10. Операції над змінними вказівного типу.
  11. Органи управління сільськогосподарських підприємств колективного типу.
  12. Органи управління сільськогосподарських підприємств корпоративного типу.




Переглядів: 3699

<== попередня сторінка | наступна сторінка ==>
Організація файлів. Файловий тип даних. Призначення файлів. | Доступ до елементів файлу. Вікно файлу.

Не знайшли потрібну інформацію? Скористайтесь пошуком google:

  

© studopedia.com.ua При використанні або копіюванні матеріалів пряме посилання на сайт обов'язкове.


Генерація сторінки за: 0.003 сек.