gotoxy(80, 25);
readkey;
menu; {вызов главного меню}
textbackground(0);
clrscr;
end.
{Модуль выполняет вспомогательные функции (формирование окна с тенью, вывод заголовка окна, вывод строки состояния, отображение ошибок ввода данных) посредством соответствующих процедур и функций. Также в нём описываются переменные и константы, используемые другими модулями.}
unit agsub;
{интерфейсная часть модуля}
interface
uses ctr, dos;
const
curyear = 2009; {текущий год}
filename = 'compet.dat'; {имя файла базы данных}
type
data = record {данные о соискателе – запись}
fio: string[33]; {фио}
spec: string[33]; {специальность}
byear: integer; {год рождения}
gender: integer; {пол: 1 – мужской,
2 – женский}
edu: integer; {вид образования: 1 – высшее,
2 – среднее специальное,
3 – среднее,
4 – неполное среднее,
5 – начальное}
exp: integer; {стаж работы}
day: integer; {день постановки на учет}
month: integer; {месяц постановки на учет}
year: integer; {год постановки на учет}
end; {data = record}
var
buf: data; {буфер для работы с текущим соискателем – запись типа data}
fildata: file of data; {база данных – файл типа data}
procedure windows(x1, y1, x2, y2, bgc: integer); {процедура формирования окна с тенью}
procedure top (i: word); {процедура вывода заголовка окна}
procedure bottom (i: word); {процедура вывода строки состояния}
function errors(i: word): char; {функция отображения ошибок ввода данных}
{раздел реализации модуля}
implementation
procedure windows;
var
x, y: integer;
begin
textcolor(15); textbackground(0);
for y:=y1+1 to y2+1 do
for x:=x1+1 to x2+1 do
begin
gotoxy(x, y); write(' ');
end; {for x:=x1+1 to x2+1}
textbackground(bgc);
gotoxy(x1, y1); write(' ');
gotoxy(x2, y1); write(' ');
gotoxy(x1, y2); write(' ');
gotoxy(x2, y2); write(' ');
for x:=x1+1 to x2-1 do
begin
gotoxy(x, y1); write(' '); gotoxy(x, y2); write(' ');
end; {for x:=x1+1 to x2-1}
for y:=y1+1 to y2-1 do
begin
gotoxy(x1, y); write(' '); gotoxy(x2, y); write(' ');
for x:=x1+1 to x2-1 do
begin
gotoxy(x, y); write(' ');
end; {for x:=x1+1 to x2-1}
end; {for y:=y1+1 to y2-1}
end; {windows}
procedure top;
var
x: integer;
begin
case i of
1,2,3,4,5,6,7,8,9,10,21,22,31,32,41,42,51,52: windows(12, 8, 65, 19, 1);
11,12,13,14,15,16,17,18,19: windows(12, 8, 65, 19, 2);
end; {case i}
textbackground(12);
for x:=12 to 65 do
begin
gotoxy(x, 9); write(' ');
end; {for x:=12 to 65}
gotoxy(21, 9); textcolor(15);
case i of
1,2,3,4,5,6,7,8,9:
begin
write('ДОБАВЛЕНИЕ НОВОГО СОИКАТЕЛЯ - ШАГ ',i);
end;
10: write('РЕДАКТИРОВАНИЕ ДАННЫХ СОИСКАТЕЛЯ');
11,12,13,14,15,16,17,18,19:
begin
write('РЕДАКТИРОВАНИЕ ДАННЫХ СОИКАТЕЛЯ - ШАГ ',i-10);
end;
21: begin gotoxy(28, 9); write('ОТЧЕТ НОМЕР 1 - ШАГ 1'); end;
22: begin gotoxy(28, 9); write('ОТЧЕТ НОМЕР 1 - ШАГ 2'); end;
31: begin gotoxy(28, 9); write('ОТЧЕТ НОМЕР 2 - ШАГ 1'); end;
32: begin gotoxy(28, 9); write('ОТЧЕТ НОМЕР 2 - ШАГ 2'); end;
41: begin gotoxy(28, 9); write('ОТЧЕТ НОМЕР 3 - ШАГ 1'); end;
42: begin gotoxy(28, 9); write('ОТЧЕТ НОМЕР 3 - ШАГ 2'); end;
51: begin gotoxy(28, 9); write('ОТЧЕТ НОМЕР 5 - ШАГ 1'); end;
52: begin gotoxy(28, 9); write('ОТЧЕТ НОМЕР 5 - ШАГ 2'); end;
end; {case i}
case i of
1,2,3,4,5,6,7,8,9,10,21,22,31,32,41,42,51,52: textbackground(1);
11,12,13,14,15,16,17,18,19: textbackground(2);
end; {case i}
gotoxy(14, 14);
end; {top}
procedure bottom;
var
x: integer;
begin
textbackground(4); textcolor(15);
for x:=1 to 79 do
begin
gotoxy(x, 25); write(' ');
end; {for x:=1 to 79}
gotoxy(2, 25);
case i of
1: write('Выберите режим работы');
2: write('Введите данные согласно шаблону');
3: write('Нажмите любую клавишу для возврата к вводу данных');
4: write('Введите ФИО для поиска соискателя');
5: write('Нажмите <Enter> для записи данных или другую',
' клавишу для отказа от изменений');
6: write('Нажмите <Enter> для редактирования или другую',
' клавишу для возврата в меню');
7: write('Выберите отчет');
10: write('Нажмите <Enter> для повторного ввода или другую',
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.