Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
samost_pascal_delphi_2012.doc
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
4.33 Mб
Скачать

Типізовані файли.

На відміну від текстового файлу файл, що типізується, не ділиться на рядки. Дані в ньому спочатку записані у внутрішньому двійковому представленні комп'ютера — у вигляді, в якому вони зберігаються в оперативній пам'яті.

Взагалі, всі файли, окрім файлів типу text, розглядаються як двійкові. Безпосередній перегляд такого файлу, наприклад в редакторі Turbo Pascal, не дозволить користувачу розібратися в його вмісті. Для цього необхідно заздалегідь знати формат зберігання даних у файлі, що типізується, і уміти обробляти його за допомогою програми Turbo Pascal.

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

Для читання і запису файлу, що типізується, застосовуються тільки процедури read і write. Використовування readln і writeln — заборонено. Оскільки файл, що типізується, містить елементи одного типу, список введення для read і список виводу для write також повинен містити змінні тільки одного типу. Якщо цих змінних в списку декілька, покажчик зміщуватиметься після кожної операції обміну даними між змінними і дисковим файлом.

Процедури і функції для типізованих файлів:

  • Функція filepos (ФайловаЗмінна) повертає ціле число (тип longint)— поточну позицію у файлі. Якщо поточною позицією є початок файлу, то функція повертає значення нуль. При переході від одного елемента до іншого його значення збільшується на одиницю. Для випадку кінця файлу, коли eof повертає true, filepos повертає номер останнього елемента файлу (співпадає із значенням функції filesize).

  • Функція filesize (ФайловаяПеременная) повертає число елементів файлу (тип longint). Якщо файл порожній, повертає 0.

  • Процедура seek (ФайловаяПеременная, НомерПозіциі) переміщає покажчик файлу з поточної позиції до позиції з вказаним номером, не виконуючи читання або запису. Оператор seek(ФайловаяПеременная, filesize(ФайловаяПеременная)) ставить покажчик файлу за його кінець, що використовується при додаванні даних до файлу.

  • Процедура truncate (ФайловаяПеременная) усікає розмір файлу до його поточної позиції.

Питання для самоконтролю.

  1. Файл. Особливості файлів.

  2. Види файлів.

  3. Дії над файлами.

  4. Процедури модуля System для роботи з файлами.

  5. Текстові файли.

  6. Файли, що типізуються.

Завдання 19:

Проаналізувавши вхідний текстовий файл, створити аналогічний йому файл, виключивши з нього всі символи цифр.

Поміняти вміст рядків вхідного текстового файлу справа-наліво.

Зчитуючи вхідний текстовий файл, позбутися від кожних 4-х символів в рядку.

Маючи 2 різні текстові файли, створити третій, вмістом якого будуть рядки вхідних текстових файлів, що чергуються.

Скласти програму формування типізованого файлу із записів. В запису повинні міститися наступні дані про працівників організації: прізвище, ім'я, по батькові, рік народження, адреса, спеціальність, оклад. Скласти статистику спеціальностей по зарплаті і вивести витрати на зарплату по самій високооплачуваній спеціальності

Література: 2.с.267..301.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]