русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

Файловый тип. Файлы. Требования к имени. Связывание.


Дата добавления: 2015-07-23; просмотров: 576; Нарушение авторских прав



Rejqrnb{e файлы. Ввод (вывод) информации из файла (в файл,
устройство) Типизированные файлы и нетипизированные файлы.
Общие процедуры для работы с файлами
_____________________________________________________________
|Assign(Var f,FileName:String) - Cвязывание ф.п.f с файлом
FileName
|RESET(Var f) | Открытие файла с логическим именем f для чтения |
|REWRITE(Var f) Открытие файла с лог. именем f для записи
|
| CLOSE(f) | Закрытие файла с лог. именем f
|
|Erase(Var f) | Удаление файла (стирание) с диска
|
|Rename(f, NewName:String)|Переименовывает физический файл
|
| EOF(f) | Функция тестирования конца файла |
|FLUSH()| Очищает внутренний буфер файла |
-------------------------------------------------------------
ТЕКСТОВЫЕ ФАЙЛЫ
Это файлы последовательного доступа.
Они предназначены для хранения текстовой информации. Компоненты
(записи) текстового файла могут иметь переменную длину.
Для доступа к записям файла применяются процедуры
READ, READLN, WRITE, WRITELN.
Текст-ориентированные процедуры и функции
____________________________________________________________
| процедуры | пояснения |
| и функции | (действия) |
|-------------|----------------------------------------------|
|Append |Процедура открывает уже существующий файл f|
| () |для дозаписи в конец файла |
|пр:Append(f) | (для его расширения) |

|SeekEOLN |Функция пропускает все пробелы и знаки табуля-|
| () |ции до первого признака EOLN или первого зна-|
| логич.типа |чащего символа. Возвращает значение TRUE, если|
пр:SeekEOLN(f)|обнаружен маркер конца файла или маркер конца |
| |строки. Если ф.п. опущена, |
| |функция проверяет стандартный файл INPUT. |
| | |
|SeekEOF |Функция пропускает все пробелы,знаки табуляции|
| () |и маркеры конца строк до маркера конца файла|
|пр:SeekEOF(f)|или первого значащего символа. Если маркер об-|
| |наружен, возвращает значение TRUE. |



|EOLN ()|Функция возвращает значение TRUE,если во вход-|
| логич.типа | ном файле f достигнут маркер EOLN или |
|пр: EOLN(f) | EOF; FALSE - в противном случае. |
|_____________|______________________________________________|

Типизированные файлы
позволяют организовать прямой доступ к каждой из компонент (по его
порядковому номеру). Описание файловой переменной
Var ft: file of ;
Перед первым обращением к процедурам ввода-вывода указатель файла
стоит в его начале и указывает на 1-ю компоненту с номером 0.
После каждого чтения или записи указатель сдвигается с следующему
компоненту файла. Переменные в списках в/в должны иметь тот же тип, что и компоненты файла.
Процедуры и функции для работы с типизированными файлами
____________________________________________________________
| процедуры | пояснения |
| и функции | (действия) |
|-------------|----------------------------------------------|
READ(,); Процедура
Обеспечивает чтение очередных компонентов файла
WRITE(,) используется для записи новых компонент в файл; в качестве элементов вывода м.б. выражение.
SEEK(,) - смещает указатель
файла к компоненту с ;
- выражение типа LONGINT.
(К текстовым файла применять нельзя.)
FILESIZE) Функция возвращает количество компонент,
содержащихся в файле.(Типа LongInt )
Функция FILEPOS() возвращает порядковый номер компо-
ненты файла, доступной для чтения или записи
(который будет обрабатываться следующей операцией в/в).
( Процедура CLOSE () - закрытие файла. )
|-------------|----------------------------------------------|

- содержит одну или более переменных такого
же типа, что и компоненты файла,
- файловая переменная д.б. объявлена предложением FILE OF
и связана с именем файла процедурой ASSIGN. Файл необходимо
открыть процедурой RESET для чтения.
Если файл исчерпан, обращение к READ вызовет ошибку В/В
Чтобы переместить указатель в конец файла можно написать
Пр. Seek(f,FileSize(f)) ; где f - файловая переменная

Нетипизированные файлы
Обьявляются без указания типа файла:
TYPE ftype=file; или VAR fn: file;
Для данных файлов не указывается тип компонентов, что делает их
сов местимыми с любыми другими файлами. Позволяет организовать
высокоско ростной обмен данными между диском и памятью.
При инициализации нетипизированных файлов процедурами RESET и
REWRITE указывается длина записи нетипизированного файла в байтах.
пример: VAR f:file; ...
ASSIGN (f,'a.dat');
RESET (f,512);
\ длина записи
Длина файла может быть представлена выражением типа WORD; если
параметр длины опущен, подразумевается длина 128 байт; максимальная
длина 65535 байт.
Для обеспечения максимальной скорости обмена данными следует за-
давать длину, кратную длине физического сектора дискового
носителя (512 байт). Кроме того, фактически пространство на диске
выделяется любому файлу порциями - кластерами, которые в зависимости от типа диска могут занимать 2 и более смежных секторов. Как правило,
кластер м.б. прочитан или записан за один оборот диска, поэтому наивысшую
скорость обмена данными можно получить, если указать длину записи,
равную длине кластера.
При работе с нетипизированными файлами Могут применяться все
рассмотренные процедуры и функции, доступные типизированным
файлам, за исключением READ и WRITE, которые для чтения и записи заменяются соответственно высокоскоростными процедурами BlockREAD и BlockWRITE.
BlockREAD(,,,[,Var])
BlockWRITE(,,,[,Var])
где - имя переменной, которая будет участвовать в обмене дан-
ными с дисками;
- количество записей, которые д.б. прочитаны или записаны за
одно обращение к диску;
- необязательный параметр, содержащий при выходе из процедуры ко-
личество фактически обработанных записей.
За одно обращение к процедурам м.б. передано N*r байт, где r -
длина записи нетипизированного файла. Передача идет, начиная с
1-го байта переменной .
После завершения процедуры указатель смещается на записей.
Процедурами SEEK, FilePos и FileSize можно обеспечить доступ к
любой записи нетипизированного файла.



<== предыдущая лекция | следующая лекция ==>
Множества и операции над ними. | Библиотечный модуль GRAPH. Графические возможности ТП.


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.025 сек.