Assign(F; Name) - Назначает файловой переменной F имя внешнего файла Name.


Объявление:
Procedure Assign(Var F; Name : String);
Режим:
Windows, Real, Protected
Замечания:

Параметр F - файловая переменная любого файлового типа, а Name - выражение со строковым типом или выражение типа PChar, если допускается расширенный синтаксис. Все дальнейшие операции с переменной F на самом деле происходят с внешним файлом с именем Name.

После обращения к Assign, связь между переменной F и внешним файлом продолжает существовать до тех пор, пока для переменной F не будет сделано еще одно переназначение.

Имя файла состоит из пути - нулевого или большего количества имен каталогов, разделенных левыми наклонными чертами, сопровождаемого собственно именем файла:
Drive:\DirName\...\DirName\FileName.Ext

Если путь начинается с левой наклонной черты, то он находится в корневом каталоге, иначе, он находится в текущем каталоге.

Drive - идентификатор дисковода (A-Z). Если Drive и двоеточие опущены, то используется заданный по умолчанию дисковод. \DirName\...\DirName - корневой каталог и подкаталоги в пути к файлу. Имя файла состоит из имени, длиной до восьми символов, возможно сопровождаемых точкой и расширения, длиной до трех символов. Максимальная длина всего имени файла вместе с путем - 79 символов.

Если String - пустая строка, то есть когда Length(Name) равно нулю, то возникает специальный случай и переменная F становится связанной со стандартным файлом ввода или вывода. Эти специальные файлы позволяют программе использовать возможность операционной системы DOS - возможность переназначения ввода/вывода.

Если переменной F назначено пустое имя, то после обращения к Reset(F), F относится к стандартному устройству ввода, а после обращения к ReWrite(F), F относится к стандартному устройству вывода.
Ограничения:

Не может использоваться для открытых файлов.
Пример: 01 {Пример программы для процедуры Assign.}
02
03 Var F : Text;
04
05 Begin
06 Assign(F, 'test.txt');
07 ReWrite(F);
08 WriteLn(F, 'Это файл test.txt');
09 Close(F)
10 End.
01 {Пример программы для процедуры Assign.}
02
03 Var F : Text;
04
05 Begin
06 Assign(F, 'test.txt');
07 ReWrite(F);
08 WriteLn(F, 'Это файл test.txt');
09 Close(F)
10 End.


Эта программа сначала назначает файловой переменной "F" имя файла "test.txt" (Assign(F, 'test.txt');), после чего открывает данный файл для перезаписи (ReWrite(F);) и записывает строку "Это файл test.txt"(WriteLn(F, 'Это файл test.txt');). По окончанию работы закрываем файл(Close(F)).