Advertisement
Guest User

Untitled

a guest
May 6th, 2017
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 4.89 KB | None | 0 0
  1. program libray; // copyright by Wojciech Glapiak
  2.  
  3. uses crt,dos;
  4.  
  5. type
  6. uzytkownik = record
  7. imie,nazwisko,haslo,id,data:string;
  8. admin,autoryzacja:boolean;
  9. end;
  10. baza_danych = file of uzytkownik;
  11.  
  12. ksiazka = record
  13. imie,nazwisko,tytul,sygnatura,id_user,data_wyp:string;
  14. max_wyp,pozostalo :integer;
  15. end;
  16. ksiegozbior = file of ksiazka;
  17.  
  18.  
  19. var
  20. licznik_id:text;
  21. baza:baza_danych;
  22. ksiazki:ksiegozbior;
  23. book:ksiazka;
  24. user:uzytkownik;
  25. c,c1,c2:char;
  26. tablica:array[1..2] of string;
  27. y:byte;
  28.  
  29. procedure files;
  30. begin
  31. assign(licznik_id,'id.db');
  32. assign(baza,'baza_danych.db');
  33. assign(ksiazki,'ksiegozbior.db');
  34. end;
  35.  
  36. function czas:string;
  37. var
  38. godz,min,sek,sek100:word;
  39. sgodz,smin,ssek,time:string;
  40. begin
  41. gettime(godz,min,sek,sek100);
  42. str(godz,sgodz);
  43. if length(sgodz)=1 then sgodz:='0'+sgodz;
  44. str(min,smin);
  45. if length(smin)=1 then smin:='0'+smin;
  46. str(sek,ssek);
  47. if length(ssek)=1 then ssek:='0'+ssek;
  48. time:=' '+sgodz+':'+smin+':'+ssek;
  49. czas:=time;
  50. end;
  51.  
  52. function data:string;
  53. const
  54. dni:array[0..6] of string=('Niedziela','Poniedzialek','Wtorek','Sroda','Czwartek','Piatek','Sobota');
  55. var
  56. rok, miesiac, dzien, dztyg:word;
  57. sdzien,smiesiac,srok,date:string;
  58. begin
  59. getdate(rok, miesiac, dzien, dztyg);
  60. str(dzien,sdzien);
  61. if length(sdzien)=1 then sdzien:='0'+sdzien;
  62. str(miesiac,smiesiac);
  63. if length(smiesiac)=1 then smiesiac:='0'+smiesiac;
  64. str(rok,srok);
  65. date:=dni[dztyg]+' '+sdzien+'.'+smiesiac+'.'+srok;
  66. data:=date;
  67. end;
  68.  
  69.  
  70. procedure intro;
  71. begin
  72. clrscr;
  73. writeln(data);
  74. writeln('godzina',czas);
  75. writeln;
  76. writeln('Witam w programie Bibiloteka');
  77. writeln('Zaloguj si� lub zarejestruj');
  78.  
  79. end;
  80.  
  81. function identyfikator:string;
  82. var
  83. a,b,id:string;
  84. c,i,d,kod:integer;
  85. begin
  86. clrscr;
  87. {$I-}
  88. reset(licznik_id);
  89. if ioresult <>0 then
  90. begin
  91. rewrite(licznik_id);
  92. writeln(licznik_id,'1');
  93. end;
  94. {$I+}
  95. close(licznik_id);
  96. reset(licznik_id);
  97. readln(licznik_id,id);
  98. a:='cz';
  99. a:=a+id;
  100. c:=6-length(a);
  101. if (c>0) then
  102. begin
  103. for i:=1 to c do
  104. insert('0',a,length(a))
  105. end;
  106. val(id,d,kod);
  107. inc(d);
  108. str(d,id);
  109. rewrite(licznik_id);
  110. write(licznik_id,id);
  111. close(licznik_id);
  112. identyfikator:=a;
  113. end;
  114.  
  115.  
  116. function first_pass(dl:byte):string;
  117. var
  118. a:string;
  119. i:integer;
  120. begin
  121. randomize;
  122. a:=' ';
  123. for i:=1 to dl do
  124. begin
  125. a:=a+Chr(Ord('a')+Random(26));
  126. end;
  127. first_pass:=a;
  128. end;
  129.  
  130. procedure rejestracja;
  131. begin
  132. clrscr;
  133. {$I-}
  134. reset(baza);
  135. if ioresult <>0 then
  136. begin
  137. rewrite(baza);
  138. end;
  139. close(baza);
  140. {$I+}
  141. reset(baza);
  142. writeln('Podaj imie');
  143. readln(user.imie);
  144. writeln('Podaj Nazwisko');
  145. readln(user.nazwisko);
  146. clrscr;
  147. writeln('Witaj ',user.imie,'!');
  148. user.id:=identyfikator;
  149. writeln('Twoje ID sluzace do logowania to: ',user.id);
  150. user.haslo:=first_pass(6);
  151. writeln('Twoje haslo tymczasowe to: ',user.haslo);
  152. user.data:=data;
  153. writeln;
  154. user.autoryzacja:=false;
  155. user.admin:=false;
  156. write(baza,user);
  157. writeln('Konto czeka na autoryzacje przez administratora');
  158. writeln;
  159. writeln('Gdy administrator autoryzuje Twoje konto bedziesz mogl m.in.:');
  160. writeln('- wypozyczyc ksiazke');
  161. writeln('- zarzadzac kontem');
  162. readln;
  163. end;
  164.  
  165. procedure bibliotekarz;
  166. begin
  167. writeln('admin');
  168. end;
  169.  
  170. procedure czytelnik;
  171. begin
  172. if user.autoryzacja=false then
  173. writeln('Twoje konto nie jest autoryzowane przez administratora, sproboj pozniej')
  174. else
  175. writeln('user');
  176. end;
  177.  
  178. procedure logowanie;
  179. var
  180. login,haslo:string;
  181. check:byte;
  182. begin
  183. clrscr;
  184. write('login: ');
  185. readln(login);
  186. clrscr;
  187. write('haslo: ');
  188. readln(haslo);
  189. reset(baza);
  190. while not eof(baza) do
  191. begin
  192. read(baza,user);
  193. if (login='b') and (haslo='b01ver01') then bibliotekarz
  194. else
  195. if (login=user.id) and (haslo=user.haslo) then czytelnik
  196. else writeln('Zle dane lub nie masz zalozonego konta!');
  197. end;
  198. close(baza);
  199. end;
  200.  
  201. procedure menu;
  202. begin
  203. intro;
  204. writeln;
  205. while y<>2 do
  206. begin
  207. tablica[1]:=' Logowanie ';
  208. tablica[2]:=' Rejestracja w systemie ';
  209. textcolor(15);
  210. for y:=1 to 2 do
  211. begin
  212. textcolor(15);
  213. textbackground(0);
  214. gotoxy(30,10+y);
  215. write(tablica[y]);
  216. end;
  217. y:=1;
  218. repeat
  219. textcolor(0);
  220. textbackground(15);
  221. gotoxy(30,10+y);
  222. write(tablica[y]);
  223. c1:=readkey;
  224. c2:=' ';
  225. if c1=chr(0) then c2:=readkey;
  226. textcolor(15);
  227. textbackground(0);
  228. gotoxy(30,10+y);
  229. write(tablica[y]);
  230. if c2='H' then dec(y);
  231. if c2='P' then inc(y);
  232. if y=0 then y:=2;
  233. if y=3 then y:=1;
  234. if c1=chr(27) then exit;
  235. until (c1=chr(27)) or (c1=chr(13));
  236. if y=1 then
  237. logowanie;
  238. if y=2 then
  239. rejestracja;
  240. end;
  241. end;
  242.  
  243.  
  244. begin
  245. clrscr;
  246. files;
  247. menu;
  248. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement