
- •1. Понятие файла
- •2. Типизированные файлы
- •3. Процедуры и функции обработки файлов.
- •3.1. Процедуры.
- •3.2. Функции
- •4. Файлы последовательного доступа
- •5. Текстовые файлы
- •5.1. Процедуры и функции обработки текстовых файлов
- •6. Нетипизированные файлы
- •Индивидуальные задания.
- •Порядок выполнения работы:
- •Содержание отчета:
3. Процедуры и функции обработки файлов.
Для работы с файлами в Турбо Паскале существуют специальные процедуры и функции. Ниже рассмотрены некоторые из них, при этом использованы следующие обозначения: fv ~ файловая переменная (переменная типа file);
name - строковое выражение;
р ~
переменные
того
же типа, что и элементы переменной
fv;
п - числовое выражение.
3.1. Процедуры.
Assign (fv, name) - процедура связи файловой переменной с конкретным физическим файлом. Имя файла, которое является значением name присваивается переменной файлового типа fv. С момента выполнения этой процедуры все действия над этой переменной будут эквивалентны действиям над файлом, определяемым значением name.
Строковое значение name, кроме имени файлов, может иметь смысл логического устройства, что позволяет задействовать в процессе решения задач стандартные аппаратные средства ЭВМ (клавиатура, экран, принтер и др.). Все они рассматриваются как потенциальные источники или приемники текстовой информации. В таблице приведены основные логические устройства, которые используются в Турбо Паскале.
Мнемоника |
Аппаратные средства |
CON |
Клавиатура или экран терминала |
PRN |
Печатающее устройство (принтер) |
LPT1, LPT2, LPT3 |
Принтеры, если их несколько. Имена PRN и LPT1 – синонимы |
AUX |
Коммуникационный канал, который используется для связи ЭВМ с другими компьютерами. Как правило, ЭВМ имеет два коммутационных канала с именами СОМ1 и COM2. Имена AUX и СОМ1 – синонимы |
NUL |
«Пустое» устройство, которое используется при отладке и трактуется как приемник информации неограниченной емкости |
Имеется возможность открытия логических устройств с помощью библиотечного модуля Printer, входящего в библиотеку Turbo.tpl, что позволяет использовать простое обращение к принтеру. Например, программа
Uses printer;
Begin
WriteLn(lst, 'Привет')
End.
напечатает фразу «Привет» на принтере. При этом все операции по открытию логического устройства выполняются автоматически.
Rewrite (fv) - процедура создания нового файла на диске, имя которого предварительно определено в процедуре Assign. Если файл с таким именем уже существует, то происходит его открытие, а содержимое уничтожается.
Reset (fv) - процедура открытия существующего файла и установки указателя в начало файла, при этом содержимое файла сохраняется.
Read (fv, p) - процедура чтения значений компонентов из файла.
Write (fv, p) - процедура записи значений компонентов в файл.
Close (fv) - процедура закрытия файла. Выполнение процедуры обеспечивает закрытие файла fv. Если файл был открыт, не рекомендуется выходить из программы, предварительно не закрыв его.
Erase (fv) - процедура уничтожения файла. Выполнение процедуры вызывает уничтожение содержимого файла. При этом файл должен быть предварительно закрыт.
Rename (fv, NewName) - процедура переименования файла. Выполнение процедуры вызывает занесение в каталог диска (директорий) нового имени файла fv. Новое имя определяется значением NewName.
Truncate (fv) - процедура уничтожения компонентов файла начиная с места текущего положения указателя и подготовки файла для записи.
MkDir(Path) - процедура создания нового каталога, путь до которого указан параметром Path.
ChDir(Path) - процедура изменения текущей директории. Процедура устанавливает новый текущий каталог, путь к которому (включая, быть может, и имя устройства) находится в параметре Path.
GetDir(N,S) - процедура получения текущего каталога накопителя. В переменную S типа String записывается текущий каталог накопителя, номер которого указан параметром N. Параметр N имеет следующие значения: 0 - текущий накопитель, 1 - накопитель А:, 2 - накопитель В: и т. д.
RmDir(Path) - процедура удаления пустого каталога, путь до которого указан параметром Path.