- •Файлы в Паскале
- •Понятие файла
- •Файлы в программировании
- •Классический подход к файлам в программировании
- •Программное и физическое имена файлов
- •Текстовые и двоичные файлы
- •Текстовые и двоичные файлы
- •Файлы в Объектном Паскале
- •Классический подход к работе с файлами
- •Классический подход к работе с файлами
- •Классический подход к работе с файлами
- •Классический подход к работе с файлами
- •Классический подход к работе с файлами
- •Классический подход к работе с файлами
- •Открытие файла – это подготовка файла к использованию
- •Открытие файла для чтения
- •Открытие файла для записи
- •Открытие файла для дополнения
Файлы в Паскале
лекция №14
Понятие файла
Файл
Операционная
система
Область памяти внешнего запоминающего устройства (обычно диска), имеющая имя.
Алгоритмический
язык
Тип данных, используемый при работе с внешними запоминающими устройствами
Файлы в программировании
•Файл - это последовательность однотипных компонент. Число компонент файла не ограничено. После последней компоненты файла стоит специальный код, называемый признаком конца файла; этот код обычно ставится автоматически, без участия программиста.
•В классическом понимании файл рассматривается как абстрактное обобщение данных на устройстве с последовательным доступом, типичным представителем которого является магнитная лента. В библиотеках современных языков программирования, конечно, имеются средства и для работы с файлами прямого доступа.
Классический подход к файлам в программировании
1 |
2 |
N-1 N |
…
головка
считывания/записи
Буфер (карман) – память в ОЗУ
Внешнее
запоминающее устройство с
последовательны м доступом.
Движение возможно только от начала, последовательно от компоненты к компоненте. Для достижения N-й компоненты необходимо пройти (N-1) предыдущих
компонент.
Программное и физическое имена файлов
•Программное имя - это имя переменной файлового типа.
•Физическое имя - это имя устройства или файла на диске.
•Существуют специальные операторы, устанавливающие соответствие (связывающие) программное и физическое имена файла.
Текстовые и двоичные файлы
•Текстовые файлы хранят информацию во внешнем представлении. Они имеют два основных признака: во-первых, их компонентами являются строки символов; во-вторых, эта символьная информация интерпретируется в соответствии с типом вводимых или выводимых переменных. Эти файлы являются обобщением данных на устройстве CON (т.е. вводимых с клавиатуры или выводимых на экран компьютера). Умение работать с текстовыми файлами необходимо даже начинающим программистам, так как на устройстве CON данные существуют малый промежуток времени, а обычно имеется потребность в их длительном хранении.
Текстовые и двоичные файлы
•Двоичный файл - это последовательность байтов; обмен информации между двоичным файлом и переменными программы происходит без преобразования. В Турбо Паскале рассматривается
два вида двоичных файлов: типизированные и нетипизированные. В случае типизированных файлов байты файла разбиваются на ячейки в соответствии с типом компонент файла; например, для файла с базовым типом integer каждая пара байтов (для 32- разрядных компьютеров – четверка) рассматривается как целое значение; типизированные файлы хранят данные во внутреннем представлении. Для нетипизированных файлов представление информации безразлично, файл рассматривается как последовательность нулей и единиц.
Файлы в Объектном Паскале
|
Файлы в классическом подходе |
|
|
|
Использование цифрового |
|
|||||||||||
|
Турбо Паскаля, когда |
|
|
|
идентификатора (Handle)файла |
|
|||||||||||
|
используется переменная типа |
|
|
|
Windows |
|
|
|
|
||||||||
|
файл |
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Процедурный |
|
Объектно- |
|
||
|
|
|
|
|
|
|
|
|
|
|
|||||||
Текстовые |
|
|
Типизированные |
|
|||||||||||||
|
|
|
|
подход |
|
ориентированн |
|
||||||||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ый подход |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
Нетипизированные |
|
|
|
|
|
|
|
|
|
|
|||||
|
|
|
|
|
|
|
|
|
|
|
|
|
|||||
|
|
двоичные |
|
|
|
|
|
|
|
|
|
|
|
|
|||
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Handle допускает работу только с двоичными файлами!
Классический подход к работе с файлами
–основные шаги
1.Объявление файловой переменной – программного имени файла – различно для разных видов файлов
•Текстовый файл:
Var ИмяФайла: textfile; {ТП:text }
•Типизированный файл:
Var ИмяФайла: file of БазовыйТип;
• Нетипизированный файл: Var ИмяФайла: file;
Классический подход к работе с файлами
–основные шаги
2.Связывание программного и физического имен файлов
AssignFile (ПрограммноеИмя, ФизическоеИмя);{в ТП Assign}
ПрограммноеИмя – переменная, описанная как файл; ФизическоеИмя – имя файла на диске (полное) или имя устройства.
После оператора AssignFile в программе используется только программное имя файла.
Пример: Var f: text; … Begin …
Assign( f, ‘d:\student\a.txt‘ ); {Далее используется только f}