Реферат: Файлы в языке Turbo Pascal

До тех пор, пока файловая переменная не связана с каким-либо дисковым файлом, никакие операции с ней в программе невозможны.

Заметим, что можно связать файловую переменную с еще не существующим дисковым файлом. Это может быть оправдано для случая последующего создания Turbo Pascal-программой файла с данным именем с помощью некоторой системной процедуры.

После того, как файловая переменная с помощью процедуры Assign связана с конкретным дисковым файлом, можно выполнить любую допустимую операцию с ним. Здесь рассмотрим две операции общего характера, позволяющие переименовывать и уничтожать существующие дисковые файлы. Такие операции выполняются системными подпрограммами Rename и Erase со следующими спецификациями:

Rename (var f; nevname: string);

Erase (var f);

Основным параметром этих процедур является файловая переменная (она может идентифицировать файл любого типа, и к ней должна была быть ранее применена процедура Assign), а процедуре Rename дополнительно передается новое имя файла. Действие указанных процедур основывается на соответствующих DOS-функциях и функционально эквивалентно командам ren и del командного процессора.

Каждой программе доступны два стандартных файла input (клавиатура) и output (экран). Это - текстовые файлы. Любые другие файлы становятся доступными после выполнения специальных процедур. Рассмотрим основные процедуры для работы с текстовыми файлами.

Связывание файловой переменной с именем файла осуществляется с помощью встроенной процедуры assign:

assign(<ф. п. >,<имя файла или лог. уст-во>)

где <ф. п. > – правильный идентификатор, объявленный в программе как переменная файлового типа;

<имя файла или лог. уст-ва> – текстовое выражение, содержащее имя файла или логического устройства. Если имя файла задается в виде пустой строки, например assign(f,''), то файловая переменная связывается со стандартным файлом input или output.

Процедура открытия файла по чтению:

reset (<ф. п. >);

reset – ключевое слово (пер. с англ.: устанавливать);

<ф. п. > – файловая переменная.

При выполнении этой процедуры файл подготавливается к чтению: внутренняя переменная, её называют указатель файла, устанавливается на начало файла, т.е. на его первую компоненту.

Процедура открытия файла по записи:

rewrite(<ф. п. >);

При выполнении процедуры rewrite файл подготавливается к записи информации в начало файла. Процедура очищает файл (т.е. если в файле уже была информации, то она будет потеряна) и устанавливает указатель файла на первую компоненту.

Для чтения и записи информации из файла или в файл используются известные процедуры: read, readln и write, writeln в которых в качестве первого параметра выступает файловая переменная. Например:

write(f,x1,x2,x3) – процедура записи в файл f компонентов x1,x2,x3. Процедура записывает выражения х1, х2, х3 по одному в файл f, начиная с того места, куда был установлен указатель файла в момент обращения к процедуре write. Аналогично работают остальные процедуры ввода и вывода.

При заполнении файла после последней записи автоматически помещается специальный невидимый признак "конец файла" (end of file). Существует функция eof(f), тестирующая конец файла, связанного с файловой переменной f. Функция eof(f) возвращает значение true, если действительно встретился признак конец файла; пока это не произойдет значение eof(f) будет false.

Функция eoln(f) тестирует, встретился ли конец строки (end of line) в файле, связанном с файловой переменной f. При заполнении строки после последней записи автоматически помещается специальный признак конец строки. Функция eoln(f) возвращает значение true, если действительно встретился признак " конец строки". Этот признак формируется при нажатии клавиши "ввод".

close(f) – процедура закрытия файла, связанного с файловой переменной f. Функции процедуры close выполняются автоматически по отношению ко всем открытым файлам при нормальном завершении программы.

Процедура append(f) инициирует запись в ранее существовавший текстовый файл, связанный с файловой переменной f, для добавления новых строк в конец файла.

Рассмотрим пример. В произвольной непустой последовательности чисел, хранящейся в текстовом файле f, подсчитать количество положительных компонент.

{В текстовом файле хранятся вещественные числа, разделенные пробелами. }

program pr30;

var f: text; {Файловая пеpеменная}

К-во Просмотров: 300
Бесплатно скачать Реферат: Файлы в языке Turbo Pascal