Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- uses crt;
- type bmit=record
- date,time:real;
- address,zayav:string;
- realmemb,factmemb:integer;
- flag:boolean;
- end;
- const n = 6; cord = 36;
- type arr = array[1..n] of string;
- procedure draw(var x1,y1,x2,y2:integer);
- var j:byte;
- begin
- textcolor(red);
- for j:=y1 to y2 do
- begin
- gotoxy(x1,j);
- writeln('|');
- end;
- gotoxy(x1,y1);
- write('+');
- gotoxy(x1,y2);
- write('+');
- gotoxy(x2,y1);
- write('+');
- gotoxy(x2,y2);
- write('+');
- end;
- procedure menus(var menu: arr;var mcount,i: integer);
- var j,x1,y1,x2,y2:integer;
- begin
- textbackground(white);
- clrscr;
- x1:=28;
- y1:=1;
- x2:=56;
- y2:=4;
- draw(x1,y1,x2,y2);
- i:=1;
- textcolor(cyan);
- gotoxy(30,1);
- write('-----------Меню-----------');
- textcolor(cyan);
- gotoxy(cord,2);
- writeln(menu[1]);
- textcolor(green);
- for j:=2 to mcount do
- begin
- gotoxy(cord,j+1);
- writeln(menu[j]);
- end;
- gotoxy(cord,2);
- end;
- procedure swap (var menu:arr; var i,mcount,j: integer;key:char);
- begin
- repeat
- key:=readkey;
- case key of
- #80: begin
- if i=mcount then
- begin
- gotoxy(cord,i+1);
- textcolor(green);
- write(menu[i]);
- i:=1;
- gotoxy(cord,i+1);
- textcolor(cyan);
- write(menu[i]);
- end
- else
- begin
- inc(i);
- gotoxy(cord,i);
- textcolor(green);
- write(menu[i-1]);
- gotoxy(cord,i+1);
- textcolor(cyan);
- write(menu[i]);
- end;
- end;
- #72: begin
- if i=1 then
- begin
- gotoxy(cord,i+1);
- textcolor(green);
- write(menu[i]);
- textcolor(cyan);
- i:=mcount;
- gotoxy(cord,i+1);
- textcolor(cyan);
- write(menu[i]);
- end
- else
- begin
- dec(i);
- gotoxy(cord,i+2);
- textcolor(green);
- write(menu[i+1]);
- gotoxy(cord,i+1);
- textcolor(cyan);
- write(menu[i]);
- end;
- end;
- end;
- j:=i;
- until key=#13
- end;
- procedure demo(info,ftext:arr);
- var q:integer;
- begin
- clrscr;
- for q:=1 to 4 do
- begin
- writeln(info[q]);
- writeln(ftext[q]);
- end;
- readln;
- end;
- procedure tofile(var tftext:text; var ftext:arr);
- var j:integer;
- begin
- assign(tftext,'C:\Users\Dyc9\Desktop\BD\BD.txt');
- rewrite(tftext);
- for j:=1 to 4 do
- write(tftext,ftext[j],' ');
- close(tftext);
- end;
- procedure enter(var info,podmenu,ftext:arr;var check,i,mcount,j:integer;var key:char;var tftext:text);
- var a:char;
- t:byte;
- begin
- mcount:=4;
- menus(podmenu,mcount,i);
- swap(podmenu,i,mcount,j,key);
- case i of
- 1: begin
- demo(info,ftext);
- enter(info,podmenu,ftext,check,i,mcount,j,key,tftext);
- end;
- 2: begin
- clrscr;
- writeln('Данные успешно сохранены в файл');
- readln;
- tofile(tftext,ftext);
- enter(info,podmenu,ftext,check,i,mcount,j,key,tftext);
- end;
- 3: begin
- a:='-';
- for t:=1 to 6 do
- ftext[t]:=a;
- check:=1;
- clrscr;
- writeln('Данные успешно удалены');
- readln;
- enter(info,podmenu,ftext,check,i,mcount,j,key,tftext);
- end;
- 4: ;
- end;
- end;
- procedure fwrite(var check:integer;var info,ftext:arr);
- var i:integer;
- begin
- clrscr;
- for i:=1 to 4 do
- begin
- writeln(info[i]);
- readln(ftext[i]);
- end;
- check:=2;
- end;
- var
- tftext:text;
- i,j,mcount,x1,y1,x2,y2,check:integer;
- key:char;
- const
- menu:arr=('Управление данными', 'Ввод данных', 'Выход','','','');
- podmenu:arr=('Просмотр данных','Сохранить в файл','Удалить','Назад','','');
- ftext:arr=('-','-','-','-','-','-');
- info:arr=('Введите остановку','Введите время прибытия', 'Введите номер билета','Введите маршрут','','');
- begin
- check:=1;
- repeat
- mcount:=3;
- //clrscr;
- menus(menu,mcount,i);
- gotoxy(30,2);
- swap(menu,i,mcount,j,key);
- case i of
- 1: begin
- enter(info,podmenu,ftext,check,i,mcount,j,key,tftext);
- j:=1;
- end;
- 2: begin
- if check=2 then
- begin
- clrscr;
- writeln('Данные уже введены');
- readln;
- end
- else
- fwrite(check,info,ftext);
- end;
- end;
- until j=3 ;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement