Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПРАКТИЧЕСКАЯ РАБОТА Компьютерные сети_2_1.doc
Скачиваний:
4
Добавлен:
16.11.2018
Размер:
142.85 Кб
Скачать

1.1.4. Функции delphi для работы с файлами

1. Связывание логического и физического имен файлов

Для доступа к файлам чаще всего используется специальная файловая переменная. Она связывается с указанным файлом процедурой AssignFile. Эта процедура имеет синтаксис:

procedure AssignFile(var F: File, S: string);

где

F – переменная любого типа;

S — строка, содержащая имя файла.

Например, операторы

AssignFile(Fl, 'Test.txt');

AssignFile(F2, OpenDialogl.FileName);

связывают файловые переменные Fl и F2 соответственно с файлом "Test.txt" и с файлом, имя которого записано в свойстве FileName компонента — диалога Open­Dialog1.

2. Типы файлов

В Delphi различают файлы трех видов:

  • текстовые файлы,

  • типизированные файлы

  • нетипизированные файлы.

Текстовые файлы состоят из последовательностей символов, разбитых на стро­ки. В Object Pascal предопределен тип TextFile, соответствующий текстовому фай­лу. Таким образом, объявление файловой переменной может иметь вид:

Var <имя файловой переменной>: TextFile;

Типизированные файлы являются двоичными файлами, содержащими после­довательность однотипных данных. Объявление файловых переменных таких фай­лов имеет вид:

var <имя файловой переменной>: file of <тип переменной>;

Например:

var F: file of real;

Тип данных может быть не только простым типом, но и, например, типом записей. Так, операторы:

type

PhoneEntry = record Fam, Nam: string[20];

PhoneNumber: string[15];

Listed: Boolean;

end;

PhoneList = file of PhoneEntry;

объявляют типизированный файл, содержащий записи телефонных номеров.

Нетипизированные файлы — это двоичные файлы, которые могут содержать самые различные данные в виде последовательности байтов. Программист при чте­нии этих данных сам должен разбираться, какие байты к чему относятся.

Тип файловой переменной нетипизированного файла объявляется следующим образом:

var <имя файловой переменной>: file;

2. Открытие файла

Открытие существующего файла осуществляется процедурой Reset, формат которой (кроме нетипизированных файлов) имеет следующий вид:

procedure Reset(var F: File);

Файловая переменная F перед обращением к этой процедуре должна быть свя­зана с файлом (с помощью функции AssignFile).

Создание и открытие нового файла осуществляется процедурой Rewrite, фор­мат которой (кроме нетипизированных файлов) имеет следую­щий вид:

procedure Rewrite(var F: File);

Открытие нетипизированных файлов осуществляется теми же процедурами Re­set и Rewrite, но их синтаксис несколько отличен от аналогичных процедур для других видов файлов:

procedure Reset(var F: File; Recsize: Word);

procedure Rewrite(var F: File; Recsize: Word);

В этих процедурах Recsize — необязательный параметр, который указывает размер одной записи в файле (одного элемента файла) в байтах. Если параметр Recsize не задан, то размер одной записи предполагается равным 128 байтам.