procedure
wr_txt_file(desttxt:string; i:integer; all_base:link);
var
f:text;
k:integer;
begin
clrscr;
if
i=0 then
begin
writeln('Нечего
записывать');
readln;
exit;
end;
assign(f,desttxt);
rewrite(f);
for
k:=1 to i do
with
all_base^[k] do begin
writeln(f,family);
writeln(f,name);
writeln(f,surname);
writeln(f,adr);
writeln(f,mark);
writeln(f,year);
writeln(f,color);
writeln(f,enige);
writeln(f,number);
end;
close(f);
writeln('Запись
в
ТХТ
завершена');
readln;
end;
procedure
read_txt_file(desttxt:string; var i:integer; all_base:link);
var
f:text;
k:integer;
begin
clrscr;
dispose(all_base);
new(all_base);
i:=0;
assign(f,desttxt);
{$I-}
reset(f);
{$I+}
k:=IOResult;
if
k<>0 then
begin
writeln('Ошибка
',k,'
при
работе
с
файлом');
readln;
exit;
end;
if
seekeof(f) then
begin
writeln('ТХТ
файл
пуст');
readln;
exit;
end;
while
not eof(f) do
begin
inc(i);
with
all_base^[i] do
begin
readln(f,family);
readln(f,name);
readln(f,surname);
readln(f,adr);
readln(f,mark);
readln(f,year);
readln(f,color);
readln(f,enige);
readln(f,number);
end;
end;
close(f);
writeln('Чтение
из TXT файла выполнено');
readln;
end;
procedure
read_dat_file(destdat:string; var i:integer; all_base:link);
var
f:file
of rec;
k:integer;
stn:integer;
bl:boolean;
begin
clrscr;
dispose(all_base);
new(all_base);
i:=0;
assign(f,destdat);
{$I-}
reset(f);
{$I+}
k:=IOResult;
if
k<>0 then
begin
writeln('Ошибка
',k,
'
при
работе
с
файлом');
readln;
exit;
end;
if
eof(f) then
begin
i:=0;
writeln('DAT
файл
пустой');
readln;
exit;
end;
while
not eof(f) do
begin
inc(i);
read(f,all_base^[i]);
end;
readln;
close(f);
writeln('Чтение
из
DAT
файла
выполнено');
readln;
end;
procedure
main_menu(var i:integer; var k:boolean);
var
g:char;
begin
clrscr;
window(14,6,66,24);
writeln('Вы
находитесь в главном меню БД ДПС v2.1
Записей: ',i);
writeln;
writeln('Выберете
действие:');
writeln('┌───┬────────────────────────┐');
writeln('│
1 │Ввод новых элементов │ ');
writeln('│
2 │Вывод элементов на экран│');
writeln('│
3 │Поиск в базе по ключу │');
writeln('│
4 │Удаление элемента │');
writeln('│
5 │Запись в ТХТ файл │');
writeln('│
6 │Чтение из ТХТ │');
writeln('│
7 │Запись в Typed файл │');
writeln('│
8 │Чтение из Typed │');
writeln('│
9 │Завершение работы │');
writeln('└───┴────────────────────────┘');
g:=readkey;
case
g
of
'1':inrec(card_in,card_out,i,k);
'2':outrec(card_out,i,k);
'3':search(card_out,i,k);
'4':delete(card_out,i,k);
'5':wr_txt_file(desttxt,i,all_base);
'6':read_txt_file(desttxt,i,all_base);
'7':wr_dat_file(destdat,i,all_base);
'8':read_dat_file(destdat,i,all_base);
'9':k:=true;
else
writeln('Hеправильная
команда');
end;
end;
begin
textcolor(15);
textbackground(1);
new(all_base);
k:=false;
i:=0;
main_menu(i,k);
while
k=false do
main_menu(i,k);
dispose(all_base);
end.
|