Коллективный доступ к полям записи.

Обращение к полям записи имеет несколько громоздкий вид, что особенно неудобно при использовании идентификато­ров длиной более 5 символов. Для решения этой проблемы в языке Паскаль предназначен оператор with, который имеет следующий фор­мат:

with <переменная типа запись> do <оператор>;

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

Пример. Присвоить значения полям записи Klient с помощью оператора with.

With M do
begin
Number :=43;

Marka :=’Запорожец’;

FIO := ‘Ильин М.И.';

Adres :=’ул. Болтунов, 5'
end;

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

With V1 do

With V2 do

with V3 do ..
что эквивалентно записи with V1,V2,V3 do.
Уровень вложения не должен превышать 9.

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

Type Complex = record

Deistv : real; { действительная часть }

Mnim :real; { мнимая часть}

end;

Var

A, В, С : Complex; { A,B,C - переменные типа Complex } Begin

A.Deistv := 6.3;

A.Mnim := 1.9;

end;

Ввод и вывод. Нетекстовые файлы. Типизированные файлы.

Ввод и вывод информации.

Операции ввода-вывода играют большую роль в любой программе, так как их реализация позволяет пользователю получать результаты вычислительного процесса в удобном для него виде.

В Паскале существуют три класса файлов: типизированные, текс­товые и нетипизированные. Файловая система на Паскале наиболее полно использует возможности операционной системы DOS по передаче данных.

1. Объявление файла – Assign.

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

Assign(f, Name : string); {Для Pascal}

AssignFile(f, Name : string); {Для Delphi}

где f - переменная любого файлового типа, а строковое выражение Name содержит полное имя файла, удовлетворяющее требованиям операционной системы Обобщенный вид имени файла выглядит следующим образом:

Диск:\ИмяПодКаталога\. \ИмяПодКаталога\ИмяФайла.

Идентификатор <диск> задается литерой логического устройства от А до Z, и если он опущен, то подразумевается логическое устройство, принятое по умолчанию. Если опущены идентификаторы <ИмяПодКаталога>, то по умолчанию принимается, что файл находит­ся в текущем подкаталоге. Максимальная длина полного имени файла не должна превышать 79 символов.

Процедура Assign всегда предшествует другим процедурам работы с файлами, так как ставит в соответствие конкретному файлу на внешнем устройстве логическую файловую переменную языка, к кото­рой впоследствии будут обращаться все другие файловые процедуры Недопустимо использование процедуры Assign для уже открытого файла. Это значит, что если было назначено имя конкретного набо­ра данных файловой переменной с помощью процедуры Assign, а за­тем этot файл был открыт, то прежде, чем использовать ту же фай­ловую переменную для нового набора данных, необходимо с помощью процедуры Close(см.далее) закрыть этот файл.

Удобство использования процедуры Assign (AssignFile) при работе с внешними файлами не ограничивается только дисковыми файлами. Вместо дис­кового файла может выступать любое устройство ввода-вывода: кла­виатура, печать либо дисплей. Единственное отличие от приведен­ного выше описания будет заключаться в использовании параметра Name. В данном случае параметр Name будет содержать символичес­кое имя устройства ввода-вывода, соответствующее стандартным соглашениям операционной системы Следующие символические имена доступны для использования их стандартными файловыми процедура­ми:

con - устройство консоли, для которого вывод осуществляется на экран дисплея, а ввод с клавиатуры. В этом случае Delphi-приложение должно создаваться как Console Application. Стандартные текстовые файлы Input и Output, приведенные в спецификации Interface моду­ля System, при инициализации по умолчанию устанавливаются на ус­тройство CON, что соответствует строкам:

Наши рекомендации