flag:=true; fio:=add_str(4);
if fio='' then
begin
errors(4); flag:=false;
end; {if fio=''}
until(flag);
repeat {ввод года рождения с проверкой правильности}
flag:=true; bgggg:=add_num(5);
if (bgggg<curyear-100) or (bgggg>curyear) then
begin
errors(5); flag:=false;
end; {if (bgggg<curyear-100) or (bgggg>curyear)}
until(flag);
repeat {ввод пола с проверкой правильности}
flag:=true; gender:=add_num(6);
if (gender=1) or (gender=2) then
else
begin
errors(6); flag:=false;
end; {else}
until(flag);
repeat {ввод вида образования с проверкой правильности}
flag:=true; edu:=add_num(7);
if (edu<1) or (edu>5) then
begin
errors(7); flag:=false;
end; {if (edu<1) or (edu>5)}
until(flag);
repeat {ввод специальности с проверкой правильности}
flag:=true; spec:=add_str(8);
if spec='' then
begin
errors(8); flag:=false;
end; {if spec=''}
until(flag);
repeat {ввод стажа работы с проверкой правильности}
flag:=true; exp:=add_num(9);
if (exp<0) or (exp>70) then
begin
errors(9); flag:=false;
end; {if (exp<0) or (exp>70)}
until(flag);
windows(5, 3, 75, 21, 1); textbackground(12);
for x:=5 to 75 do begin gotoxy(x, 4); write(' '); end;
gotoxy(27, 4); textcolor(15); write('КАРТОЧКА НОВОГО СОИСКАТЕЛЯ');
textbackground(1); gotoxy(7, 7); write('Дата постановки на учет: ');
if dd<10 then write('0',dd,'-') else write(dd,'-');
if mm<10 then write('0',mm) else write(mm); write('-',gggg);
gotoxy(7, 9); write('ФИО: '); write(fio);
gotoxy(7, 11); write('Год рождения: '); write(bgggg);
gotoxy(7, 13); write('Пол: '); if gender=1 then write('мужской') else write('женский');
gotoxy(7, 15); write('Образование: ');
case edu of
1: write('высшее');
2: write('среднее специальное');
3: write('среднее');
4: write('неполное среднее');
5: write('начальное');
end; {case edu}
gotoxy(7, 17); write('Специальность: '); write(spec);
gotoxy(7, 19); write('Стаж работы (полных лет): '); write(exp);
bottom(5); {вывод строки состояния}
ch:=readkey;
if ch=#13 then
begin
assign(fildata, filename);
reset(fildata);
s:=filesize(fildata); {определение количества записей в файле базы данных}
buf.fio:=fio; buf.spec:=spec; buf.byear:=bgggg; buf.gender:=gender;
buf.edu:=edu; buf.exp:=exp; buf.day:=dd; buf.month:=mm; buf.year:=gggg;
seek(fildata, s);
write(fildata, buf); {запись в файл данных о соискателе}
close(fildata);
end; {if ch=#13}
menu; {вызов основного меню}
end; {newcomp}
{раздел инициализации модуля}
begin
end.
{Модуль реализует выполнение второго пункта главного меню – редактирование данных соискателей из базы данных.}
unit agsecond;
{интерфейсная часть модуля}
interface
uses crt, aginput, agsub, agmenu;
procedure edit; {процедура редактирования данных соискателя}
{раздел реализации модуля}
implementation
procedure edit;
var
ch: char;
dd, mm, gggg, gender, bgggg, edu, exp, s, kod, i, x: integer;
fio, spec: string[33];
flag: boolean;
begin
bottom(4); {вывод строки состояния}
top(10); {вывод заголовка окна}
write('ФИО (полностью): ');
readln(fio);
assign(fildata, filename);
reset(fildata);
s:=filesize(fildata); {определение количества записей в файле базы данных}
kod:=-1;
for i:=0 to s-1 do {определение индекса соискателя с введенной}
begin {фамилией в файле базы данных}
seek(fildata, i);
read(fildata, buf);
if buf.fio=fio then kod:=i;
end; {for i:=0 to s-1}
if kod=-1 then
begin
close(fildata);
ch:=errors(10);
if ch=#13 then edit {вызов процедуры редактирования данных соискателя}
else menu; {возврат к главному меню}
end {if kod=-1}
else
begin
seek(fildata, kod);
read(fildata, buf);
close(fildata);
windows(5, 3, 75, 21, 1); textbackground(12);
for x:=5 to 75 do
begin
gotoxy(x, 4); write(' ');
end; {for x:=5 to 75}
gotoxy(32, 4); textcolor(15);
write('КАРТОЧКА СОИСКАТЕЛЯ');
textbackground(1); gotoxy(7, 7); write('Дата постановки на учет: ');
if buf.day<10 then write('0',buf.day,'-') else write(buf.day,'-');
if buf.month<10 then write('0',buf.month) else write(buf.month);
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.