Основы программирования на языке Паскаль
Методическое пособие - Компьютеры, программирование
Другие методички по предмету Компьютеры, программирование
и одинаковой длины и структуры. чаще всего компонентами файла являются записи.
Файл может быть связан с внешним носителем информации, т.е. располагаться на магнитном или СД диске, магнитной ленте, клавиатуре при вводе информации или на экране, принтере и при выводе её и т.д.
Файлы бывают стандартными, т.е. определенными разработчиками или администраторами операционной системы или вычислительной среды, а также пользователем, т.е. человеком, составляющим программы в каком-либо алгоритмическом языке (например в Pascal), или с помощью других программных продуктов (баз данных, редакторов и т.д.).
Каждый файл имеет свое имя, которое зарегистрировано в соответствующей директории (оглавлении).
Определение файлового типа строится по такой схеме:
Туре имя типа=file of тип компонент;
Var идентификатор,.., идентификатор: имя типа;
Например:
Туре zap=record
Nom: integer;
FIO: string [20];
oklad: real; end;
Ft=file of zap;
Var a, b, с: Ft;
Описаны три файла с именами а, b, с типа Ft. Компонентами файлов служат записи типа zap. Другими словами, файл схематично можно представить в виде ленты компонент, каждая из которых является записью типа zap. Доступ к компонентам файла может быть последовательным и прямым. Последовательный доступ это когда для обращения к n-й компоненте необходимо посмотреть n-1 компонент; прямой доступ обращение к компоненте идет прямо по ключу (номеру компоненты), без просмотра предыдущих компонент.
При работе с файлом внимание машины сосредоточено на компоненте, определенной указателем файла (этой компонентой будет работать машина при следующем обращении к файлу).
Имя файла должно быть уникальным и состоящим из собственного имени и необязательного расширения типа файла, содержащего три символа и отделенного от основного имени точкой. Расширение, как правило, указывает в мнемонической форме на содержимое файла: pas, ехе, txt и т.д. В некоторых случаях тип файла присваивается автоматически операционной системой или используемым пакетом.
Каждый диск, содержащий файлы, имеет оглавление, в которое помещается информация о его имени, расширении, времени и дате его создания, о местонахождении на физическом носителе (например, на диске С или D).
Для поиска файла необходимо указать диск, каталог, подкаталог, имя файла, его расширения.
Например: C:\TURBO\Prim\Prim46.pas.
Здесь файл Prim 46.pas находится в подкаталоге Prim каталога TURBO диска С.
10.2. Стандартные процедуры и функции для работы с файлами
Далее примем обозначения: FV - имя файловой переменной или просто имя файла, str - строковое выражение, Р - имя структурной компоненты файла, n - целое выражение.
Assig и (FV, str); процедура присвоения имени файла.
Имя файла, которое является значением str, присваивается переменной файлового типа FV. Далее все действия над этой переменной будут эквивалентны действиям над файлом, определенным именем str. Например: Assign (books, c:\bibl.dos); позволяет работать не с именем c:\bibl.dos, которое может быть достаточно длинным (если имеются каталоги и подкаталоги), а с именем books.
Rewrite (FV); процедура создания нового файла с именем FV на диске. Имя файла должно быть предварительно определено процедурой Assign. Если на диске уже был файл с таким именем, то он уничтожается. Указатель файла устанавливается в первую позицию с номером 0. Файл еще не содержит ни одной компоненты, а только подготовлен к загрузке.
Reset (FV); процедура открытия (разрешение работать с файлом именем FV) уже имеющегося файла. Указатель устанавливается на начало файла, в позицию с номером 0.
Read (FV, Р); процедура чтения компоненты файла, на которую установлен указатель, ее содержимое помещено в область памяти с именем Р.
Write (FV, Р); процедура записи информации из области памяти Р в файл FV и компоненту, на которую установлен указатель.
Seek (FV, n); процедура установки указателей на компоненту с номером n.
Flush (FV); очищение буфера сектора. Выполнение процедуры приводит к выталкиванию содержимого внутреннего буфера (области памяти) в файл.
Close (FV); процедура закрытия файла, при этом записывается маркер конца файла. После работы с файлом его необходимо обязательно закрыть.
Erase (FV); процедура уничтожения файла. Если производится уничтожение открытого файла, его необходимо предварительно закрыть.
Rename (FV, str); процедура переименования файла. Файлу FV присваивается имя str.
Truncate (FV); процедура уничтожения всех компонент файла, начиная с места текущего положения указателя и подготовки файла к записи.
Eof (FV) функция проверки маркера конца файла. Значение функции равно True, если указатель файла находится за последней компонентой, и False в противном случае.
Filepos (FV) функция определения положения указателя.
Filesize (FV) функция определения длины файла. Функция возвращает целочисленное значение, равное количеству компонент файла: если File Size (FV) = 0, то файл пуст.
Loresult (FV) функция проверки результата последней операции ввода- вывода на наличие ошибок. Если ошибка обнаружена, возвращается код ошибки, если нет, то код = 0.
10. 3. Стандартные файлы
Con: консоль (клавиатура или экран дисплея). Турбо-Паскаль устанавливает различия между этими устройствами по направлению передачи данных: чтение данных возможно тол