Специфика работы с файловым типом данных




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

 

Основные вопросы лекции:

  1. Организация диалогов.
  2. Специфика работы с файловым типом данных.
  3. Работа с файлами на уровне операционной системы.

 

Организация диалогов

Для работы с файлом сначала необходимо указать его размещение на внешнем носителе информации. При этом можно использовать компоненты OpenDialog и SaveDialog на вкладке Dialogs.

 

Рассмотрим компонент OpenDialog. Он относится к числу не визуальных компонентов, т.е. его можно помещать в любое место формы.

Основные свойства компонента:

FileName – имя файла, который был выбран в диалоге.

Filter – список расширений файлов и их наименований (например все файлы (*.*)). Для редактирования списка двойной клик в поле значения свойства компонента. В столбце Filter Name указывается название группы, а в столбце Filter – перечисляются через точку с запятой нужные маски файлов (Например: Рисунки - *.bmp; *.jpg).

FilterIndex – номер фильтра из списка Filter, который будет открыт при вызове окна по умолчанию.

InitialDir – имя каталога, который будет открыт при вызове окна.

Title – заголовок окна при вызове диалога открытия файла.

Для вызова диалогового окна открытия файла можно использовать логический метод Execute, который возвращает true, если пользователь произвел выбор в диалоге.

Имя выбранного пользователем файла помещается в свойство FileName.

Свойство Title определяет заголовок диалогового окна. Свойство DefaultExt определяет заданное по умолчанию расширение файла.

Основной метод Execute – возвращает значение True – если файл был выбран и False – если нажата кнопка Отмена.

 

Пример: Создать в текстовом редакторе текстовый файл MyText.txt. С помощью диалогового окна OpenDialog открыть этот файл. Имя файла поместить в компонент Label. Все действия должны происходить при нажатии на форме кнопки «Открыть».

Действия:

Размещаем на форме компоненты: OpenDialog1 (вкладка Dialogs), Label и Button (вкладка Standard). Кнопку называем «Открыть». Процедура обработки кнопки будет иметь вид

procedure TForm1.Button1Click(Sender: TObject);

var S:String;

Begin

if OpenDialog1.Execute then S:= OpenDialog1.FileName else S:=’Выбор не произведен’;

Label1.Caption:=S;

end;

 

Специфика работы с файловым типом данных

Как и в Pascal в языке Object Pascal файлы делятся на три типа:

  • текстовые (F:TextFile;) состоит из последовательностей символов, разбитых на строки
  • типизированные (F:file of тип;) двоичные файлы, содержащие последовательности однотипных данных
  • не типизированные (F:file;) двоичные файлы, которые могут содержать самые различные данные в виде последовательности байтов

Будем рассматривать только два первых вида файлов (текстовые и типизированные).

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

AssignFile (var F; FileName: string); - осуществляет связь файловой переменной с файлом, хранящимся на внешнем носителе

Reset (var F: File); - открывает существующий файл для чтения

Rewrite (var F: File); - создает и открывает новый файл для записи в него информации (если файл уже существовал на диске, то он уничтожается)

Append (F: TextFile); - открывает текстовый файл для записи информации в конец файла

Erase (F: File); - удаляет файл, связанный с файловой переменной F, но файл не должен быть открыт для каких либо операций.

ReName (F:File; Name:String); - переименовывает файл, связанный с файловой переменной F и дает ему новое имя Name. Файл должен быть закрыт для всех операций.

CloseFile (Var F: File); - закрывает файл для всех операций. Все изменения файловой переменной отражаются на файле, расположенном на внешнем носителе информации

Read (F: File,<список переменных>); - читает из файла F данные и записывает их в переменные, указанные в списке после чтения каждого данного указатель чтения сдвигается на одну позицию (для текстовых файлов допустима операция Readln – осуществляется чтение по изложенным выше правилам, после чего указатель чтения смещается на начало следующей строки файла – оставшиеся в предыдущей строке данные пропускаются)

Write (var F: File; <список выражений>); - записывает в файл значения указанных в списке выражений (для текстовых файлов определена операция Writeln по которой после записи всего списка в файл записывается признак конца строки и указатель записи перемещается на начало следующей строки)

Eof (var F: File): Boolean – возвращает значение true если достигнут конец файла, false – в противном случае (для текстовых файлов определена функция Eoln (F:TextFile) возвращающая значение true если достигнут конец строки)

 

Для типизированных файлов допустимы следующие процедуры

 

FilePos (var F: File of): Longint – возвращает номер текущей позиции, на которую указывает указатель чтения/записи

FileSize (var F: File of):Integer – возвращает количество записей в типизированном файле

Seek (var F: File of; N: Longint) – перемещает указатель чтения/записи в N позицию

Truncate (var F: File of); - усекает типизированный файл на текущей позиции

 



Поделиться:




Поиск по сайту

©2015-2024 poisk-ru.ru
Все права принадлежать их авторам. Данный сайт не претендует на авторства, а предоставляет бесплатное использование.
Дата создания страницы: 2019-05-16 Нарушение авторских прав и Нарушение персональных данных


Поиск по сайту: