Основы алгоритмизации и программирования. Часть четвертая. Файловая система Turbo Pascal. Асламова В.С - 6 стр.

UptoLike

11
Таблица 2. Стандартные процедуры и функции для работы с файлами любых
типов
Связывание файлов
Процедура Assign (Var f ; FileName : String) устанавливает связь меж-
ду логическим файлом, описываемым файловой переменной f любого
файлового типа, и конкретным файлом МS – DOS, название которого содер-
жится в строковом параметре FileName.
Строка FileName может содержать имя файла на диске (в том числе
полное имя файла), имя стандартного устройства MS – DOS (CON, PRN и
т. д.) или пустую строку:
Assign (f, file.dat); {связь с файлом текущего каталога }
Assign (f, a:\x.pas); {связь с файлом х.pas на диске А:}
Процедура или функция Действие
Assign (var f ; FileName:
String)
Связывает файловую переменную f с именем
физического файла, заданным в строке FileName
Reset (var f) Открывает файл с логическим именем f для
чтения
Rewrite (var f) Открывает файл с логическим именем f для за-
писи
Close (var f) Закрывает канал ввода-вывода файла с логиче-
ским именем f
Rename (var f ; NewName:
String)
Переименовывает физический файл, ранее свя-
занный с файловой переменной f, в имя
NewName. Должна вызываться до открытия
файла (применима лишь к закрытым файлам)
Erase (var f) Стирает (если это возможно) физический файл,
ранее связанный с файловой переменной f, с но-
сителя информации. Стираемый файл должен
быть закрытым
Trancate(var f); Усекает файл по записи, на которой установлен
текущий указатель и записывает на этом месте
метку конца файла
EOF (var f) : Boolean Возвращает значение True, если достигнут ко-
нец файла f, т.е. из него ничего уже нельзя
прочитать или файл пуст. Иначе возвращается
False
12
Assign (f, LPT2); {связь со вторым принтером ПЭВМ}
Assign (f, ); {связь со стандартным файлом, как правило
с файлом CON}
Имя физического файла должно быть корректным и уникальным.
Нельзя вставлять символы шаблонов * и ? в имя файла, но можно связы-
вать файловые переменные с еще не существующими файлами на диске (для
дальнейшего их создания).
Процедура Assign не занимается анализом корректности имени файла
и безоговорочно связывает заданное имя с логическим файлом f. Логический
файл при этом считается закрытым, а размер буфера файла - неопределен-
ным. Если файл f связан с некорректным именем, то это вызовет ошибку
ввода - вывода лишь при попытке произвести любое действие над ним (будь
то открытие файла, удаление его или что - нибудь другое).
Будучи однажды установленной, связь между файловой переменной f и
физическим файлом сохраняется до следующего вызова Assign с той же пе-
ременной f. Это означает, что можно проделывать различные операции с
файлом f, лишь единожды связав его с физическим файлом:
Открытие файлов
Процедура открытия файлов Reset (Var f) и Rewrite (Var f) открывают
логический файл f для чтения данных (Reset) или записи (Rewrite). Если про-
цедуры выполняются успешно (открытие файла происходит без ошибки), то
файл становится открытым и готов к чтению (или записи) первого элемента в
нем. Эти же процедуры фиксируют размер буфера файла (он устанавливается
автоматически, если только не был переопределен вызовом SetTextBuf для
файлов типа Text или расширенной записью Reset/Rewrite для бестиповых
файлов).
Процедуры открытия могут применяться многократно к одному и тому
же файлу. Если файл был до этого открыт, то он автоматически предвари-
тельно закрывается. Повторный вызов Reset переустановит текущий
указатель на первую запись файла, при этом потеря данных исключена. Но
повторное обращение к Rewrite сотрет текущее содержимое файла и подгото-
вит файл к
заполнению с первого элемента. Между повторными вызовами
процедур открытия не обязательно вставлять оператор закрытия файла Close.
Закрытие файлов
Процедура Close (Var f) закрывает открытый до этого логический файл
f. Попытка закрыть уже закрытый (или еще неоткрытый файл) вызовет сбой
Таблица 2. Стандартные процедуры и функции для работы с файлами любых                 Assign (f, ′LPT2′);       {связь со вторым принтером ПЭВМ}
                                                                типов                 Assign (f, ′ ′);          {связь со стандартным файлом, как правило
  Процедура или функция                        Действие                                                         с файлом ′CON′}
                                                                                      Имя физического файла должно быть корректным и уникальным.
 Assign (var f ; FileName: Связывает файловую переменную f с именем             Нельзя вставлять символы шаблонов ′*′ и ′?′ в имя файла, но можно связы-
 String)                  физического файла, заданным в строке FileName         вать файловые переменные с еще не существующими файлами на диске (для
 Reset (var f)             Открывает файл с логическим именем f для             дальнейшего их создания).
                          чтения
 Rewrite (var f)           Открывает файл с логическим именем f для за-               Процедура Assign не занимается анализом корректности имени файла
                          писи                                                  и безоговорочно связывает заданное имя с логическим файлом f. Логический
 Close (var f)             Закрывает канал ввода-вывода файла с логиче-         файл при этом считается закрытым, а размер буфера файла - неопределен-
                          ским именем f                                         ным. Если файл f связан с некорректным именем, то это вызовет ошибку
 Rename (var f ; NewName: Переименовывает физический файл, ранее свя-           ввода - вывода лишь при попытке произвести любое действие над ним (будь
 String)                  занный с файловой переменной f, в имя
                                                                                то открытие файла, удаление его или что - нибудь другое).
                          NewName. Должна вызываться до открытия
                          файла (применима лишь к закрытым файлам)                    Будучи однажды установленной, связь между файловой переменной f и
 Erase (var f)             Стирает (если это возможно) физический файл,         физическим файлом сохраняется до следующего вызова Assign с той же пе-
                          ранее связанный с файловой переменной f, с но-        ременной f. Это означает, что можно проделывать различные операции с
                          сителя информации. Стираемый файл должен              файлом f, лишь единожды связав его с физическим файлом:
                          быть закрытым
 Trancate(var f);          Усекает файл по записи, на которой установлен                                       Открытие файлов
                          текущий указатель и записывает на этом месте                Процедура открытия файлов Reset (Var f) и Rewrite (Var f) открывают
                          метку конца файла                                     логический файл f для чтения данных (Reset) или записи (Rewrite). Если про-
 EOF (var f) : Boolean        Возвращает значение True, если достигнут ко-      цедуры выполняются успешно (открытие файла происходит без ошибки), то
                             нец файла f, т.е. из него ничего уже нельзя        файл становится открытым и готов к чтению (или записи) первого элемента в
                             прочитать или файл пуст. Иначе возвращается        нем. Эти же процедуры фиксируют размер буфера файла (он устанавливается
                             False
                                                                                автоматически, если только не был переопределен вызовом SetTextBuf для
                                                                                файлов типа Text или расширенной записью Reset/Rewrite для бестиповых
                                Связывание файлов                               файлов).
        Процедура Assign (Var f ; FileName : String) устанавливает связь меж-         Процедуры открытия могут применяться многократно к одному и тому
ду логическим файлом, описываемым файловой переменной f любого                  же файлу. Если файл был до этого открыт, то он автоматически предвари-
файлового типа, и конкретным файлом МS – DOS, название которого содер-          тельно закрывается. Повторный вызов Reset переустановит текущий
жится в строковом параметре FileName.                                           указатель на первую запись файла, при этом потеря данных исключена. Но
        Строка FileName может содержать имя файла на диске (в том числе         повторное обращение к Rewrite сотрет текущее содержимое файла и подгото-
полное имя файла), имя стандартного устройства MS – DOS (′CON′, ′PRN′ и         вит файл к заполнению с первого элемента. Между повторными вызовами
т. д.) или пустую строку:                                                       процедур открытия не обязательно вставлять оператор закрытия файла Close.
        Assign (f, ′file.dat′);   {связь с файлом текущего каталога }
                                                                                                                Закрытие файлов
        Assign (f, ′a:\x.pas′);   {связь с файлом х.pas на диске А:}
                                                                                      Процедура Close (Var f) закрывает открытый до этого логический файл
                                                                                f. Попытка закрыть уже закрытый (или еще неоткрытый файл) вызовет сбой
                                     11                                                                             12