assign (ft, ‘123.dat’); – диск и каталог по умолчанию, установленные до начала работы программы
assign (fs, name);
assign (fi, ‘c:\int\chisla.dat’);
Стандартные аппаратные средства ПК, такие как клавиатура, дисплей, принтер и коммуникационные каналы ввода-вывода, определяются в Турбо Паскале специальными именами, которые называются логическими устройствами. Все они в Турбо Паскале рассматриваются как потенциальные источники или приемники текстовой информации.
CON – логическое имя, которое определяет консоль – клавиатуру или экран дисплея. Турбо Паскаль устанавливает различия между этими физическими устройствами по направлению передачи данных: чтение данных возможно только с клавиатуры, а запись – только на экран. Таким образом, с помощью логического устройства CON нельзя, например, прочитать данные с экрана ПК, хотя такая аппаратная возможность существует.
Ввод с клавиатуры буферируется: символы по мере нажатья на клавиши помещаются в специальный строковый буфер, который передается программе только после нажатия клавиши Enter. Буферизация ввода обеспечивает возможность редактирования вводимой строки стандартными средствами ДОС. При вводе символов осуществляется их эхо-повтор на экране ПК. В Турбо Паскале можно прочитать любой символ клавиатуры, в том числе и символ CR, вырабатываемый клавишей Enter, сразу после нажатия на соответствующую клавишу без эхо-повтора.
PRN– логическое имя принтера. Если к ПК подключено несколько принтеров, доступ к ним осуществляется по логическим именам LPT1, LPT2 и LPT3. Имена PRN и LPT1 первоначально – синонимы. Средствами ДОС можно присвоить имя PRN любому другому логическому устройству, способному принимать информацию.
Стандартный библиотечный модуль PRINTER, входящий в библиотеку TURBO.TPL, объявляет имя файловой переменной LST и связывает его с логическим устройством LPT1. Это дает возможность использовать простое обращение к принтеру. Например, программа
Uses printer;
Begin
Writeln(Lst, ‘Привет мир!’);
End.
Выведет на принтер фразу «Привет мир!», а все необходимые операции по открытию логического устройства выполнит библиотечный блок PRINTER.
Связь логического устройства с файловой переменной осуществляется процедурой ASSIGN, например:
Var fo:text;
Assign(fo, ‘LPT2’);
Турбо Паскаль никогда не связывает имена логических устройств с дисковыми файлами, поэтому эти имена можно считать зарезервированными. Иными словами, нельзя, например, обратиться к дисковому файлу с именем PRN, т. к. Турбо Паскаль всегда интерпретирует такой запрос как обращение к принтеру.
Инициализировать файл означает указать для этого файла направление передачи данных. В Турбо Паскале можно открыть файл для чтения, для записи, а так же для чтения и записи одновременно.
RESET (<файловая переменная>);
Файловая переменная должна быть связана процедурой ASSIGN с уже существующим файлом или логическим устройством приемником информации.
При выполнении этой процедуры дисковый файл или логическое устройство подготавливается к чтению информации. В результате специальная переменная - указатель, связанная с этим файлом, будет указывать на начало файла, т.е. на компонент с порядковым номером 0.
REWRITE(<файловая переменная>);
инициирует запись информации в файл или логическое устройство, связанное ранее с файловой переменной. Процедурой REWRITE нельзя инициировать запись информации в ранее существующий дисковый файл: при выполнении этой процедуры стандартный файл уничтожается и никаких сообщений об этом в программу не передается. Новый файл подготавливается к приему информации и его указатель принимает значение 0.
Стандартная процедура
APPEND(<файловая переменная>);
инициирует запись в ранее существующий текстовый файл для его расширения, при этом указатель файла устанавливается в его конец. Процедура APPEND применима только к текстовым файлам, т.е. их файловая переменная должна быть типа TEXT. Если текстовый файл ранее был открыт с помощью Reset или Rewrite, использование Append приведет к закрытию этого файла и открытию его вновь, но уже для добавления записей.
После работы с файлом необходимо закрыть файл с помощью процедуры
CLOSE (<файловая переменная >); Эта процедура ставит специальную метку конца файла, что в большинстве случаев является просто необходимым.