Number :=1678;
Marka :=’ГАЗ-24’;
FIO :=’Иванов И. И.’;
Address :=’Ул. Пушкина 12-31’;
End;
Примечание. Оператор присоединения действует только на поля записи, указанной в операторе присоединения. Все поля, относящиеся к другой записи, используются только с указанием идентификатора записи.
4. Операции с записями:
- ввод записи с клавиатуры:
Read(M.Number, M.Marka, M.FIO, M.Address);
- вывод записи на экран монитора:
Writeln(M.Number:4, M.Marka:7, M.FIO:12, M.Address:25);
- чтение записи из текстового файла:
Read(<имя_файла>, M.Number, M.Marka, M.FIO, M.Address);
- вывод значения переменной в текстовый файл:
Writeln(<имя_файла>, M.Number:4, M.Marka:7, M.FIO:12, M.Address:25);
- сравнение записей:
If M.Fam <> V.Fam
Then …
Если операции с записью производятся в пределах оператора присоединения, то указываются только имена полей записи, указанной в операторе присоединения. Во всех остальных случаях обязательно полное указание имени поля записи (составное имя).
Задача
Ввести с клавиатуры и записать в типизированный файл Swed.dat данные о студентах, содержащие следующие сведения: фамилию, имя, отчество, год рождения.
| Program Primer;
Uses Crt;
Type
Anketa = Record
Fam, Nm, Ot : String[15];
Born : Integer;
End;
Var
F : File of Anketa;
A : Anketa;
S : Char;
Begin
Assign(F,’Swed.dat’);
Rewrite(F);
Clrscr;
Repeat
With A
Do Begin
Write(‘Фамилия: ’);
Readln(Fam);
Write(‘Имя: ’);
Readln(Nm);
Write(‘Отчество: ’);
Readln(Ot);
Write(‘Год рождения: ’);
Readln(Born);
End;
Write(F, A);
Writeln(‘Продолжить (y/n)’);
Readln(S);
Until Upcase(S)=’N’;
Close(F);
End.
|
{объявление типа - запись}
{файловая перем. типизированного файла}
{А - запись}
{символьная переменная}
{установление связи между F и Swed.dat}
{открытие файла на запись}
{в цикле}
{для записи А}
{ввод значений полей записи А}
{с клавиатуры}
{запись записи А в файл}
{вывод запроса на продолжение}
{ввод ответа с клавиатуры}
{пока не нажата ‘N’ или ‘ n’}
{закрытие файла}
|