Advertisement
Dyc9

Untitled

Mar 24th, 2016
109
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.69 KB | None | 0 0
  1.  
  2. uses crt;
  3.  
  4. type bmit=record
  5. date,time:real;
  6. address,zayav:string;
  7. realmemb,factmemb:integer;
  8. flag:boolean;
  9. end;
  10. const n = 6; cord = 36;
  11. type arr = array[1..n] of string;
  12.  
  13. procedure draw(var x1,y1,x2,y2:integer);
  14. var j:byte;
  15. begin
  16. textcolor(red);
  17. for j:=y1 to y2 do
  18. begin
  19. gotoxy(x1,j);
  20. writeln('|');
  21. end;
  22. gotoxy(x1,y1);
  23. write('+');
  24. gotoxy(x1,y2);
  25. write('+');
  26. gotoxy(x2,y1);
  27. write('+');
  28. gotoxy(x2,y2);
  29. write('+');
  30. end;
  31.  
  32. procedure menus(var menu: arr;var mcount,i: integer);
  33. var j,x1,y1,x2,y2:integer;
  34. begin
  35. textbackground(white);
  36. clrscr;
  37. x1:=28;
  38. y1:=1;
  39. x2:=56;
  40. y2:=4;
  41. draw(x1,y1,x2,y2);
  42. i:=1;
  43. textcolor(cyan);
  44. gotoxy(30,1);
  45. write('-----------Меню-----------');
  46. textcolor(cyan);
  47. gotoxy(cord,2);
  48. writeln(menu[1]);
  49. textcolor(green);
  50. for j:=2 to mcount do
  51. begin
  52. gotoxy(cord,j+1);
  53. writeln(menu[j]);
  54. end;
  55. gotoxy(cord,2);
  56. end;
  57.  
  58. procedure swap (var menu:arr; var i,mcount,j: integer;key:char);
  59. begin
  60.  
  61.  
  62. repeat
  63. key:=readkey;
  64. case key of
  65. #80: begin
  66. if i=mcount then
  67. begin
  68. gotoxy(cord,i+1);
  69. textcolor(green);
  70. write(menu[i]);
  71. i:=1;
  72. gotoxy(cord,i+1);
  73. textcolor(cyan);
  74. write(menu[i]);
  75. end
  76. else
  77. begin
  78. inc(i);
  79. gotoxy(cord,i);
  80. textcolor(green);
  81. write(menu[i-1]);
  82. gotoxy(cord,i+1);
  83. textcolor(cyan);
  84. write(menu[i]);
  85. end;
  86. end;
  87. #72: begin
  88. if i=1 then
  89. begin
  90. gotoxy(cord,i+1);
  91. textcolor(green);
  92. write(menu[i]);
  93. textcolor(cyan);
  94. i:=mcount;
  95. gotoxy(cord,i+1);
  96. textcolor(cyan);
  97. write(menu[i]);
  98. end
  99. else
  100. begin
  101. dec(i);
  102. gotoxy(cord,i+2);
  103. textcolor(green);
  104. write(menu[i+1]);
  105. gotoxy(cord,i+1);
  106. textcolor(cyan);
  107. write(menu[i]);
  108. end;
  109.  
  110. end;
  111.  
  112.  
  113. end;
  114. j:=i;
  115. until key=#13
  116.  
  117. end;
  118.  
  119. procedure demo(info,ftext:arr);
  120. var q:integer;
  121. begin
  122. clrscr;
  123. for q:=1 to 4 do
  124. begin
  125. writeln(info[q]);
  126. writeln(ftext[q]);
  127. end;
  128. readln;
  129. end;
  130.  
  131. procedure tofile(var tftext:text; var ftext:arr);
  132. var j:integer;
  133. begin
  134. assign(tftext,'C:\Users\Dyc9\Desktop\BD\BD.txt');
  135. rewrite(tftext);
  136. for j:=1 to 4 do
  137. write(tftext,ftext[j],' ');
  138. close(tftext);
  139. end;
  140.  
  141. procedure enter(var info,podmenu,ftext:arr;var check,i,mcount,j:integer;var key:char;var tftext:text);
  142. var a:char;
  143. t:byte;
  144. begin
  145. mcount:=4;
  146. menus(podmenu,mcount,i);
  147. swap(podmenu,i,mcount,j,key);
  148. case i of
  149. 1: begin
  150. demo(info,ftext);
  151. enter(info,podmenu,ftext,check,i,mcount,j,key,tftext);
  152. end;
  153. 2: begin
  154. clrscr;
  155. writeln('Данные успешно сохранены в файл');
  156. readln;
  157. tofile(tftext,ftext);
  158. enter(info,podmenu,ftext,check,i,mcount,j,key,tftext);
  159. end;
  160. 3: begin
  161. a:='-';
  162. for t:=1 to 6 do
  163. ftext[t]:=a;
  164. check:=1;
  165. clrscr;
  166. writeln('Данные успешно удалены');
  167. readln;
  168. enter(info,podmenu,ftext,check,i,mcount,j,key,tftext);
  169. end;
  170. 4: ;
  171.  
  172. end;
  173. end;
  174. procedure fwrite(var check:integer;var info,ftext:arr);
  175. var i:integer;
  176. begin
  177. clrscr;
  178. for i:=1 to 4 do
  179. begin
  180. writeln(info[i]);
  181. readln(ftext[i]);
  182. end;
  183. check:=2;
  184. end;
  185.  
  186.  
  187. var
  188. tftext:text;
  189. i,j,mcount,x1,y1,x2,y2,check:integer;
  190. key:char;
  191. const
  192. menu:arr=('Управление данными', 'Ввод данных', 'Выход','','','');
  193. podmenu:arr=('Просмотр данных','Сохранить в файл','Удалить','Назад','','');
  194. ftext:arr=('-','-','-','-','-','-');
  195. info:arr=('Введите остановку','Введите время прибытия', 'Введите номер билета','Введите маршрут','','');
  196. begin
  197. check:=1;
  198. repeat
  199. mcount:=3;
  200. //clrscr;
  201. menus(menu,mcount,i);
  202. gotoxy(30,2);
  203. swap(menu,i,mcount,j,key);
  204. case i of
  205. 1: begin
  206. enter(info,podmenu,ftext,check,i,mcount,j,key,tftext);
  207. j:=1;
  208.  
  209. end;
  210. 2: begin
  211. if check=2 then
  212. begin
  213. clrscr;
  214. writeln('Данные уже введены');
  215. readln;
  216. end
  217. else
  218. fwrite(check,info,ftext);
  219.  
  220. end;
  221. end;
  222.  
  223. until j=3 ;
  224. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement