ClrScr;. Assign(baza, 'D:\User\baza_student.dat');
Assign(baza, 'D:\User\baza_student.dat');
ReWrite(baza); открываем файл для записи
Repeat начало цикла ввода
With student Do оператор присоединения
Begin
Write('Группа: ');
ReadLn(gruppa);
If (Length(gruppa)=0) если номер группы не введен,
Then Break; то выходим из цикла ввода
Write('Фамилия: ');
ReadLn(fio.fam);
Write('Имя: ');
ReadLn(fio.name);
Write('Отчество: ');
ReadLn(fio.otch);
Write('Год рождения: ');
ReadLn(data.den);
Write('Месяц рождения: ');
ReadLn(data.mes);
Write('День рождения: ');
ReadLn(data.den);
Write('Город: ');
ReadLn(adres.gorod);
Write('Улица: ');
ReadLn(adres.ulica);
Write('Дом: ');
ReadLn(adres.dom);
Write('Корпус: ');
ReadLn(adres.korp);
Write('Квартира: ');
ReadLn(adres.kv);
Write('Телефон: ');
ReadLn(adres.telefon);
End; конец оператора присоединения
Write(baza, student); запись в базу данных
Until (False); конец цикла ввода
ReSet(baza); открываем файл для чтения
While Not(EOF(baza)) Do пока не конец файла
Begin
Read(baza, student); читаем данные из файла
With student Do и выводим на экран форматным способом
WriteLn(gruppa:10, fio.fam:10, fio.name:10, fio.otch:15);
End;
Close(baza); закрываем файл
ReadLn;
End.
На практике часто бывает удобно сделать некоторые поля записи изменяемыми (вариантными).
Например, если имеются две записи с одинаковыми полями, различающихся только одним полем, то эти две записи можно представить одной, а различающиеся поля сделать вариантными. Тип и структура вариантного поля изменяются в зависимости в зависимости от значения особого поля записи, называемого селектором (переключателем). В качестве селектора можно использовать поле любого упорядоченного типа: целого, символьного, интервального или перечисляемого. Конкретные значения, принимаемые селектором, называются ключами вариантов.
Записи с вариантными полями называются записями с вариантами. Вариантные поля в них описываются после неизменяемых. Наличие вариантного поля указывается конструкцией:
Case селектор: тип Of
ключ-1: (варимант-1);
ключ-2: (вариант-2);
ключ-3: (вариант-3);
……………………
ключ-n:(вариант-n);
End;
Тип селектора и перечень его возможных значений задаются в разделе определения типов Type.
Например, положении е точки на плоскости можно задавать прямоугольными (x, y) или полярными (r, φ) координатами. Тогда запись с вариантами coord может быть описана так:
Type TDecpol = (decart, polar);
TCoord = Record
Case wid : TDecpol Of
decart : (x, y : Real);
polar : (r : Real; fi : 0..360);
End;
End;
Var coord : TCoord;
Селектором в данном случае является поле перечисляемого типа coord.wid , принимающее только два значения – decart и polar. При значении селектора decart поля переменной coord будут следующими:
coord.x ,coord.y типа Real,
а при значении поля polar – следующими:
coord.r типа Real,
coord.fi типа 0..360.
При использовании записей с вариантами необходимо руководствоваться следующими правилами:
ü все имена полей должны быть различными, даже если они встречаются в разных вариантах,
ü если вариант пустой (для него поля нет), то он записывается так:
ключ : ();
ü любой список полей может иметь только одну вариантную часть, которая должна следовать за фиксированной частью записи,
ü в свою очередь, каждый вариант может содержать в себе вариантную часть, то есть допускаются вложенные варианты.
Дата добавления: 2015-08-08; просмотров: 626;