Програмування файлів
ПРИКЛАДИ:
stud1:=stud2; {допустима операція}
stud1:=new_date; {недопустима операція різні типи}
read(stud1); {недопустима операція}
readln(stud1.name, stud1.course, stud1.year);
{допустима операція для вказаних типів полів}
comp_disk.year:=new_date;
{допустима операція – однакові типи полів}
readln(new_date.mon);
{недопустима операція – для типу даних
користувача не визначена така операція}При використанні типів записів так, як це показано вище, одержується досить довгі оператори. Було б зручніше, якби ми могли звернутися до певних полів запису так, якби вони були простими змінними. Цю функцію виконує оператор приєднання with. Він “відкриває” запис таким чином, що ідентифікатори полів можуть використовуватися як ідентифікатори змінних. Оператор має такий формат:
with імена записів do
оператори;
end;
Слідом за зарезервованим словом with в операторі іде список змінних величин запису, відділених один від одного комами. За списком змінних іде зарезервоване слово do. Завершує оператор with зарезервоване слово end. В тілі оператора приєднання тепер можна вказувати неповні імена компонентів записів, а лише імена полів. Оператор автоматично визначить, до якого саме запису виконати вказані оператори. У заголовкові оператора приєднання можна вказувати декілька імен змінних типу запис. При цьому пріоритет при наявності однакових полів буде мати той запис, ім’я якого записане раніше.
ПРИКЛАД:
with stud1 do
readln(name);
read(course);
group:=’gr-00-1’;
end;
Визначення типізованого файлу починається зарезервованими словами file of, після яких задається тип компонентів файла, описаний як звичайно, а за ним іде ідентифікатор попередньо визначеного типу файлів.