Разработка информационно-справочной системы для парфюмерной компании Avon

Курсовой проект - Компьютеры, программирование

Другие курсовые по предмету Компьютеры, программирование

Процедуры и функции работы с типизированными файлами

Процедура Assignfile([файловая переменная],[имя файла])

Для работы с файлами вторым важным действием после объявления файловой переменной является связывание этой переменной с физическим файлом. Это действие и выполняет процедура Assignfile. То есть выполняя действия над файловой переменной программа, ассоциирующая файловую переменную с конкретным физическим файлом, производит операции именно над этим физическим файлом. Как было отмечено процедура Assignfile является обязательной для работы с файлами. С одним и тем же физическим файлом можно связать несколько файловых переменных. Также с одной файловой переменной можно последовательно связать различные физические файлы. Причём при последовательном связывании с одной и той же переменной различных физических файлов операции произведённые над переменной до связывания становятся недействительными. Например следует дважды открыть одну и ту же переменную дважды связанную с различными файлами для чтения: Assignfile(T,file1.txt); Reset(T); Assignfile(T,file2.txt); Reset(T);. О процедурах открытия файлов будет говориться ниже.

Процедура Erase([файловая переменная]);

Процедура Erase удаляет физический файл связанный с файловой переменной. Физический файл связанный с файловой переменной должен существовать, иначе при попытке удалить несуществующий файл процедурой Erase произойдёт ошибка времени.

Процедура Rename([файловая переменная],[новое имя])

Переименовывает файл F; NewName - строковое выражение, содержащее новое имя файла. Перед выполнением процедуры необходимо закрыть файл только для не типизированных файлов и указывает раз мер блока данных.

Процедура Reset ([файловая переменная]);

Открывает логический файл (то есть файловая переменная связанная с физическим файлом) для чтения. Естественно, что для чтения следует открывать входной файл. После выполнения процедуры Reset курсор ставится на первый элемент файла (в случае текстового файла на первый символ) и с файла уже можно считывать информацию.

Процедура Rewrite([файловая переменная]);

Создает и открывает внешний физический файл связанный с файловой переменной для последующей записи в него. Новый созданный файл бывает пустой и курсор становится в самое начало файла. Если описанный в процедуре Assignfile внешний файл уже существует, то он стирается и создаётся заново. Разумеется после выполнения процедуры Rewrite созданный для записи файл является выходным файлом. Процедура Rewrite используется со всеми файловыми типами данных.

Процедура Closefile([файловая переменная]);

Сохраняет и закрывает открытый физический файл связанный с файловой переменной. Как было отмечено в определении файл перед закрытием должен быть открыт (процедурами Reset или Rewrite для всех типов файлов или процедурой Append для текстовых файлов). Если в выходных файлах были произведены изменения, то для сохранения информации они должны быть обязательно закрыты процедурой Closefile. Процедура Closefile может быть использована для любых типов файлов. Если последовательно открывать файл различными процедурами, то в промежутках между этими процедурами оператор Closefile автоматически. То есть если в начале открыть файл для записи процедурой Rewrite а затем сразу открыть его для чтения процедурой Reset, то до процедуры Reset автоматически произойдёт сохранение и закрытие файла оператором Closefile.

Процедура Read([файловая переменная], [буферная переменная]);

Для типизированных файлов процедура читает компонент файла в переменную. При каждом считывании текущая позиция в файле продвигается к следующему элементу. Для текстовых файлов читается одно или несколько значений в одну или несколько переменных. С переменными типа String Read считывает все символы вплоть до следующей метки конца строки (но не включая ее), или пока функция Eof(F) не примет значение True. Переменной присваивается получившаяся в ре-зультате символьная строка. В случае переменной целого или вещественного типа процедура ожидает поступления последовательности символов, образующих число по правилам синтаксиса языка Object Pascal. Считывание прекращается при обнаружении первого пробела, символа табуляции или метки конца строки, или в том случае, если функция Eof(F) принимает значение True. Если числовая строка не соответствует ожидаемому формату, то происходит ошибка ввода-вывода.

Процедура Write([файловая переменная], [выражение]);

Записывает переменную в компонент файла. Переменные должны быть того же типа, что и элементы файла. При каждой записи переменной текущая позиция в файле передвигается к следующему элементу.

Процедура Seek([файловая переменная], [номер записи]);

Перемещает текущую позицию файла к определенному компоненту. Вы можете использовать процедуру только с открытыми типизированными или нетипизированными файлами. Текущая позиция файла F перемещается к номеру N. Номер первого компонента файла - 0. Инструкция Seek(F, FileSize(F)) перемещает текущую позицию файла в конец файла.

Процедура FileSize([файловая переменная]);

Возвращает размер в байтах файла F. Однако, если F - типизированный файл, FileSize возвратит число записей в файле. Перед использованием функции FileSize, файл должен быть открыт. Если файл пуст, FileSize(F) возвращает 0. F - переменная любого файлового типа.

Процедура FilePos([файловая переменная]);

Возвращает текущую позицию файла внутри файла. Перед использованием функции FilePos, файл должен быть открыт. Функция FilePos не используется с текстовыми файлами. F - переменная