Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
shp.doc
Скачиваний:
12
Добавлен:
18.09.2019
Размер:
5.46 Mб
Скачать
  1. Стандартные файлы и файлы пользователя в Паскале. Типы файлов. Процедуры и функции для работы с файлами.

ФАЙЛЫ. По способу организации в Паскале различают файлы трех типов – текстовые, типизированные и нетипизированные. Текстовые состоят из символьных строк. Строки могут иметь разную длину, каждая строка заканчивается специальными символами возврата каретки CR (#13) и перевода строки LF (#10). Эти символы во время просмотра файла обычно не выводятся и являются «невидимыми» символами. Оканчивается тестовый файл признаком конца файла (EOF). Существуют два способа доступа к файлам – последовательный и прямой. Текстовые файлы допускают только последовательный доступ. Это означает, что для нахождения определенного элемента такого файла нужно просмотреть все, что ему предшествовало. При последовательном доступе программа не может в любой момент времени считать из файла произвольную порцию информации и произвести запись в произвольное место файла. Типизированные файлы подобны массивам. Схожесть с массивами состоит как в том, что все элементы типизированного файла имеют один и тот же тип, так и в том, что каждый элемент такого файла имеет свой номер (считая от нуля). Любой элемент типизированного файла доступен для записи или чтения как прямым, так и последовательным доступом. Прямой доступ производится по порядковому номеру элемента. Типизированные файлы используются для хранения однородной по типу информации. Если речь идет о хранении числовых данных, следует использовать типизированные файлы значительно меньше, чем текстового. Программа может читать данные из имеющегося файла, создавать новые файлы, изменять уже существующие файлы, но в любом случае последовательность обращения к файлу следующая: установить связь программы с файлом; «открыть» файл для чтения или записи; читать из файла или записать в файл; закрыть файл.

Для связывания файловой переменной и физического файла необходимо : Assign (F,Fn) F- файловая переменная, Fn – строковое выражение, заключающее имя физического файла или имя к нему. Assign (F,’lagor.doc’). В Паскале по умолчанию доступны тестовые файлы: Input, Output. Особенности использования данных файлов: 1) если они не используются для ввода с клавиатуры и вывода на экран, то их можно связать с любыми файлами на магнитном диске с помощью процедуры Assign., 2) имена этих файлов в списках ввода/вывода не указываются., 3)Процедуры: Reset,Rewrite,Close для данных файлов не используются. Процедура AssignCrt модуль Crt связывает текстовый файл с клавиатурой или экраном. Выбор клавиатурой или экраном. Выбор клавиатуры или экрана зависит от того, как был открыт файл. Процедура Reset для ввода с клавиатуры или процедура Rewrite для вывода на экран. Один и тот же файл может быть открыт то для ввода, то для вывода. Н-р (Var F1,F2,F3:text; A,B,C:byte; Begin Assign (F1,’ ‘); Assign (F2,’Con’); AssignCrt (F3); Rewrite (F1); Rewrite (F2); Rewrite (F3); Write (F1,A); Write (F2,B); Write (F3,C); Close (F1); Close (F2); Close (F3); Reset (F1); Reset (R2);Reset (R3); Read (F1,A); Read (F2,B); Read (F3,C); Close (F1); Close (F2); Close (F3); end;

Типы файлов. Объявлять файлы можно в разделе type или var. Var F1:text; -текстовый, Var F2:text of real; -типизированый , Var F3:File;-нетипизированный .

Текстовые файлы хранят информацию в символьном виде и эта информация разбита на строки. В процессе ввода (или вывода) в текстовый файл возможно преобразование информации не символьного типа (н-р, числа) в символы. С файлом на магнитном диске связывается файловая переменная, тип которой объявляется как text. Может содержать данные любых типов, представленные в виде строк –символов. Может содержать строки переменной длины (различной). Может быть создан текстовым редактором и процедурами Write, Writeln. В конце каждой строки используется специальный символ EOLN, обозначающий ее конец, а в конце файла используется символ EOF, обозначающий ее конец. Для работы со строками текстового файла используются процедуры Read,Readln,Write,Writeln. Первым параметром в этих процедурах должно быть имя файловой переменной. Если это имя не указано, то при вводе обращаются к стандартному файлу INPUT, а при выводе OUTPUT.

Нетипизированные файлы. Дают возможность прямого доступа к данным. Описание нетипизированной файловой переменной имеет вид: var untyped_file:file;. В нетипизир. файлах тип компонета не указывается и обычно они используются для копирования из внешней памяти в оперативную и обратно.

Типизированные файлы. В них указывается тип компонента. Ими могут быть данные любых типов, кроме файловых. Данные типизированных файлов имеют одинаковую длину, что дает возможность получить прямой доступ к любому компоненту файла. Возможен и прямой и последовательный доступ. Элементы файла нумеруются, начиная с нуля. Тип элемента списка процедур Read,Write должен быт тот же, что и компоненты файла. При чтении и записи указатель сдвигается к следующему компоненту файла. Для записи в типизированный файл он должен быть объявлен. Если он открыт, процедура ZF – для записи данных в файл , процедура Rewrite – в него можно выполнять запись, процедура Reset – из него можно читать и в него можно писать. NF – имя строковой переменной, содержащей имя файла, в котором находятся исходные данные для записи их в файл F. FID – имя файловой переменной текстового файла с исходными данными для создания файла F , где F- имя типизированного файла, содержащего записи Z. Имя записи, содержащего данные для типизированного файла –NZ,GR,FIO,RS - поля записи Z (Procedure ZF (NF:ST10); Var FID:text4 B:char; Begin Assign (FID,NF); Reset (FID); Rewrite (F); With Z do begin While not SeekEOF Readln (FID,NZ,B,FIO,RS); Write (F,Z); Close (FID); Close (F); End; ) Ввод данных из типизированного файла: Для чтения из файла должно быть: файл должен быть объявлен, создан, связан и открыт с помощью процедуры Reset.

Процедуры и функции для работы с текстовыми файлами. EOLN - возвращает тип «истина», если встретился конец строки, иначе возвращает «ложь». SEEKEOLN – аналогично предыдущей, за исключением того, что пропускает все пробелы и знаки табуляции до признака конца строки или первого значащего символа. SEEKEOF - аналогично EOF за исключением того, что пропускает все пробелы, признаки табуляции и концы строк до признака первого значащего символа или конца файла. Если после имени любой из функций нет ни скобок, ни имени файловой переменной, то по умолчанию принимается файл INTERUPT.

Процедуры и функции для работы с типизированными файлами. Типизированные файлы могут использовать процедуры связывания, ввода, вывода, закрытия, о также EOF, Erase,ReName, IOResult, Seek, FileSize, FilePos.

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]