Подпрограммы работы с файлами

Лабораторная работа №7 ПРОГРАММИРОВАНИЕ С ИСПОЛЬЗОВАНИЕМ ФАЙЛОВ

Цель лабораторной работы: изучить правила работы с компонентами TOpenDialog и TSaveDialog. Написать программу с использованием файлов.

Краткие теоретические сведения

Работа с файлами

Файл - это именованная область данных на внешнем физическом носителе. В Object Pascal различают три вида файлов в зависимости от способа их организации и доступа к элементам: текстовые, типизированные и нетипизированные.

Текстовой файл - это файл, состоящий из строк. Примером текстового файла может служить файл исходного текста программы в DELPHI (расширение *.pas). Для работы с текстовым файлом должна быть описана соответствующая файловая переменная: Var F: TextFile;.

Типизированные файлы имеют строго заданную их описанием структуру, когда все элементы имеют фиксированный и одинаковый размер. Это свойство типизированных файлов позволяет получить доступ к любому компоненту файла по его порядковому номеру. Элементами такого файла являются, как правило, записи. В описании файловой переменной указывается ее тип: Var F: TStudent;.

Нетипизированный файл - это файл, в котором данные не имеют определенного типа и рассматриваются как последовательность байт. Файловая переменная объявляется: Var F: File;.

Порядок работы с файлами следующий:

AssignFile (F, ‘Filename.txt’); //Связывание файловой переменной F

//с именем дискового файла “Filename.txt”

Rewrite (F); //Создание нового или открытие (Reset (F);)

//уже существующего файла

Read (F,Stud); //Чтение данных из файла или

//запись (Write (F,Stud)) в файл

CloseFile (F); //Закрытие файла

Подпрограммы работы с файлами.

AssignFile(var F;FileName: string) – связывает файловую переменную F и файл с именем FileName.

Reset(var F[: File; RecSize: word]) – открывает существующий файл. При открытии нетипизированного файла RecSize задает размер элемента файла. Rewrite(var F[: File; RecSize: word]) - создает и открывает новый файл. Append(var F: TextFUe) - открывает текстовой файл для дописывания текста в конец файла.

Read(F,vl[,v2,...vn]) - чтение значений переменных начиная с текущей позиции для типизированных файлов и строк для текстовых.

Write(F,v1[,v2,...vn]) - запись значений переменных начиная с текущей позиции для типизированных файлов и строк для текстовых.

CloseFile(F) - закрывает ранее открытый файл.

Rename(var F; NewName: string) - переименовывает неоткрытый файл любого типа.

Erase(var F) - удаляет неоткрытый файл любого типа.

Seek(var F; NumRec: Longint) - для нетекстового файла устанавливает указатель на элемент с номером NumRec.

SetTextBuf(var F: TextFUe; var Buf[;Size: word]) - для текстового файла устанавливает новый буфер ввода-вывода объема Size.

Flush(var F: TextFUe) - немедленная запись в файл содержимого буфера ввода-вывода.

Truncate(var F) - урезает файл, начиная с текущей позиции.

LoResult: integer - код результата последней операции ввода-вывода. FilePos(var F): longint - для нетекстовых файлов возвращает номер текущей позиции. Отсчет ведется от нуля.

FileSize(var F): longint - для нетекстовых файлов возвращает количество компонентов в файле.

Eoln(var F: TextFile): boolean - возвращает True, если достигнут конец строки.

Eof(var F)): boolean - возвращает True, если достигнут конец файла. SeekEoln(var F: TextFile): boolean - возвращает True, если пройден последний значимый символ в строке или файле, отличный от пробела или знака табуляции.

SeekEof(var F: TextFile): boolean - то же, что и SeekEoln, но для всего файла. BlockRead(var F: File; var Buf; Count: word[; Result: word]), BlockWrite(var F: File; var Buf; Count: word[; Result: word]) - соответственно процедуры чтения и записи переменной Buf с количеством Count блоков.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: