4915

Работа с файлами в языке паскаль

Лекция

Информатика, кибернетика и программирование

Работа с файлами в языке паскаль. В языке паскаль с файлами можно работать несколькими способами. Все зависит от того, как этот файл открывается. Один и тот же файл можно открывать разными способами. Правда, если открыть нее тем способом, можно проч...

Русский

2012-11-29

17.24 KB

20 чел.

Работа с файлами в языке паскаль.

В языке паскаль с файлами можно работать несколькими способами. Все зависит от того, как этот файл открывается. Один и тот же файл можно открывать разными способами. Правда, если открыть нее тем способом, можно прочитать из него БРЕД.

В паскале поддерживаются 3 типа файлов:

  1. Текстовый – в такой файл записывается обычный текст. Операция записи и чтения из такого файла производится точно так же как на экран и клавиатуру.
  2. Типизированные файлы – обычно применяются для хранения большого объема однотипных файлов. Например, файл of integer – предназначен для хранения файлов исключительно типа integer.
  3. Не типизированные файлы – и не текст и не привязка к какому-либо типу, хотя чем-то напоминает типизированные. Суть в том, что файл без указания типа. По умолчанию одна запись привязывается к объёму 128 байт, но можно указать любой размер. Одна команда чтения, одна команда записи читает или записывает сразу кусок файла указанного размера.

Например, в программе имеется  1000 массивов, в каждом массиве по 1000 элементов, каждый элемент типа integer. Можно перебрать все тысячу массивов, в каждом массиве перебрать все тысячу элементов и каждый такой элемент записать в типизированный файл( file of integer ). Получен миллион операций записи: 1) это будет долго,2) диск портится.

С другой стороны, если открыть файл как не типизированный и указать размер записи в 4000 байт (1000 элементов типа integer) , то каждый массив из программы можно будет записать в файл одной командой. То есть операций будет 1000.

Работа с текстовыми файлами.

Для работы с текстовыми файлами необходимо объявить  файловую переменную: var F1: text; -переменная F1 может указывать на любой файл на диске. Для того, чтобы работать с нужным файлом, переменную нужно с ним связать: assign(F1,’ Myfile.txt’); - если в команде assign указывается только имя, то файл ищется в текущем каталоге, то есть Для того, чтобы найти файл в другом каталоге необходимо либо указать полный путь к файлу (assign(F1,’ C:\Mydok \Myfile.txt’);, либо предварительно выполнить команду смены каталога. Данных действий не достаточно, чтобы начать работать с файлом. Ещё одно необходимое действие- открытие файла. В паскале файл можно открыть тремя способами: 1. Только на чтение, 2. На перезапись(старое собержимое будет потеряно), 3. На дописывание файла. Reset- 1, rewrite -2, append- 3. После завершение всех действий с файлом его необходимо закрыть – close. После закрытия его можно открыть в любом режиме и снова с ним работать.

Важное замечание: Если мы открываем файл на перезапись, но такого файла не было, то он должен создаться. Если же мы открываем на чтение, то файл должен существовать, иначе программа выполнит недопустимую операцию. В идеальном случае программист должен сам внутри программы контролировать ошибки данного типа.

В разных версиях языка для этого предусмотрено различные директивы. В частности турбо паскаль:  {$I-},{$I+}- данные директивы включают или отключают аварийное завершение программы в различных случаях, в том числе и при работе с файлами. Если включена , то программа аварийно завершится в случае ошибки. Если выключена, то программа не завершится и нам будет предоставлена возможность  проверить ошибки.

Особенности чтения из файлов:

Если использовать команду read, то следует помнить, что файловый указатель внутри файла при таком  чтении не перемещается и следующая команда чтения прочтет ту же строку. Для того, чтобы файловый указатель автоматически перешёл к новой строке, необходимо использовать readln.

Если мы подошли к концу файла, но все пытаемся из него читать, то будет ошибка. То есть это тоже нужно контролировать. Для этого используется функция EOF. Эта функция говорит да, если мы дошли до конца.

Так как паскаль разрабатывался ещё под DOS, а мы его запускаем под Windows, могут возникнуть проблемы с русским языком.


 

А также другие работы, которые могут Вас заинтересовать

48391. Основи мови Паскаль 564.32 KB
  Стандартні визначені ідентифікатори це імена всіх службових процедур, функцій та директив (не плутати з ключовими словами). Перевизначення стандартних ідентифікаторів дозволяється, але треба пам’ятати, якщо у програмі визначена змінна (константа та ін.), ім’я якої співпадає з стандартним, то під час роботи програми їх стандартну дію буде загублено.
48392. ЛИЧНОСТЬ КЕНА КИЗИ В ИСТОРИИ АМЕРИКАНСКОЙ ЛИТЕРАТУРЫ ПОСТМОДЕРНИЗМА. ПОБЛЕМАТИКА РОМАНА «ПОЛЕТ НАД ГНЕЗДОМ КУКУШКИ» 35.88 KB
  Кизи в литературе постмодернизма; проанализировать смысл названия романа; раскрыть проблематику романа Полет над гнездом кукушки. Кизи в американской литературе постмодернизма. Кен Кизи Пролетая над гнездом кукушки Амфора 2004г.
48393. ПРИНЦИПЫ ПРОЗЫ ХХ ВЕКА 24.76 KB
  Иллюзия реальность; 2. Основные понятия: Неомифологизм иллюзия реальность текст в тексте бриколаж обэриут приоритет стиля над сюжетом;уничтожение фабулы; синтаксис а не лексика; прагматика а не семантика; наблюдатель; нарушение принципов связности текста; аутестизм. Иллюзия реальность. чрезвычайно характерна игра на границе между вымыслом и реальностью.
48394. Фінанси. Конспект лекцій 1.67 MB
  В загальному вигляді фінанси відображають відносини, які виникають між людьми, підприємствами, фірмами, банками, державними органами з приводу отримання, передавання один одному грошових коштів, взаємних платежів, боргових та інших зобовязань.
48395. Випромінювання оптичного діапазону 315.59 KB
  Серед органів чуття людини природа не передбачила апарат який би сигналізував про наявність радіації її рівні і степені небезпеки. Контакт з іонізуючими випромінюваннями має велику небезпеку для здоров’я і життя людини. Гамапромені мають велику проникаючу здатність – вони вільно проходять через тіло людини та інші матеріали і мають малу іонізуючу дію. При опроміненні людини дозою 02505 Гр можливі зміни в крові понад 1 Гр розвивається враження всього організму при 2 4 Гр без лікування можлива смерть вище 6 ...
48396. МАРКЕТИНГ. КОНСПЕКТ ЛЕКЦІЙ 115.93 KB
  СУТНІСТЬ ОСНОВНИХ ПОНЯТЬ МАРКЕТИНГУ ТА РОЗВИТОК ЙОГО КОНЦЕПЦІЇ Система маркетингу. Принципи цілі задачі та функції маркетингу. Характеристика видів маркетингу.
48397. Основи локальних мереж 1.54 MB
  Але наглядно переваги мережі виявляються в тому випадку коли всі користувачі працюють з єдиною базою даних запитуючи в неї та заносячи в неї нову наприклад в банку магазині на складі. Використання локальної для організації сумісної роботи комп’ютерів Без мережі також неможна обійтися в тому випадку коли необхідно забезпечити узгоджену роботу декількох комп’ютерів. Визначення локальної мережі Способи і засоби обміну інформацією за останній час запропоновано численність: від най простішого переносу файлів за допомогою дискети до...
48398. Основи охорони праці. Конспект лекцій 3.61 MB
  Основи охорони праці. Конспект лекцій містить лекції з курсу Основи охорони праці Історія охорони праці.
48399. Основи стандартизації та сертифікації 3.7 MB
  Основними її видами є стандарти і технічні умови –документи що містять обов’язкові для продуцентів норми якості виробу і засоби їх досягнення набір показників якості рівень кожного з них методи і засоби вимірювання випробувань маркування упаковки транспортування і зберігання продукції. Найбільш жорсткі вимоги щодо якості містяться у міжнародних стандартах які розроблюються Міжнародною організацією стандартизації –ІСО і використовуються для сертифікації виробів що експортуються у інші країни і реалізуються на світовому...