Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program libray; // copyright by Wojciech Glapiak
- uses crt,dos;
- type
- uzytkownik = record
- imie,nazwisko,haslo,id,data:string;
- admin,autoryzacja:boolean;
- end;
- baza_danych = file of uzytkownik;
- ksiazka = record
- imie,nazwisko,tytul,sygnatura,id_user,data_wyp:string;
- max_wyp,pozostalo :integer;
- end;
- ksiegozbior = file of ksiazka;
- var
- licznik_id:text;
- baza:baza_danych;
- ksiazki:ksiegozbior;
- book:ksiazka;
- user:uzytkownik;
- c,c1,c2:char;
- tablica:array[1..2] of string;
- y:byte;
- procedure files;
- begin
- assign(licznik_id,'id.db');
- assign(baza,'baza_danych.db');
- assign(ksiazki,'ksiegozbior.db');
- end;
- function czas:string;
- var
- godz,min,sek,sek100:word;
- sgodz,smin,ssek,time:string;
- begin
- gettime(godz,min,sek,sek100);
- str(godz,sgodz);
- if length(sgodz)=1 then sgodz:='0'+sgodz;
- str(min,smin);
- if length(smin)=1 then smin:='0'+smin;
- str(sek,ssek);
- if length(ssek)=1 then ssek:='0'+ssek;
- time:=' '+sgodz+':'+smin+':'+ssek;
- czas:=time;
- end;
- function data:string;
- const
- dni:array[0..6] of string=('Niedziela','Poniedzialek','Wtorek','Sroda','Czwartek','Piatek','Sobota');
- var
- rok, miesiac, dzien, dztyg:word;
- sdzien,smiesiac,srok,date:string;
- begin
- getdate(rok, miesiac, dzien, dztyg);
- str(dzien,sdzien);
- if length(sdzien)=1 then sdzien:='0'+sdzien;
- str(miesiac,smiesiac);
- if length(smiesiac)=1 then smiesiac:='0'+smiesiac;
- str(rok,srok);
- date:=dni[dztyg]+' '+sdzien+'.'+smiesiac+'.'+srok;
- data:=date;
- end;
- procedure intro;
- begin
- clrscr;
- writeln(data);
- writeln('godzina',czas);
- writeln;
- writeln('Witam w programie Bibiloteka');
- writeln('Zaloguj si� lub zarejestruj');
- end;
- function identyfikator:string;
- var
- a,b,id:string;
- c,i,d,kod:integer;
- begin
- clrscr;
- {$I-}
- reset(licznik_id);
- if ioresult <>0 then
- begin
- rewrite(licznik_id);
- writeln(licznik_id,'1');
- end;
- {$I+}
- close(licznik_id);
- reset(licznik_id);
- readln(licznik_id,id);
- a:='cz';
- a:=a+id;
- c:=6-length(a);
- if (c>0) then
- begin
- for i:=1 to c do
- insert('0',a,length(a))
- end;
- val(id,d,kod);
- inc(d);
- str(d,id);
- rewrite(licznik_id);
- write(licznik_id,id);
- close(licznik_id);
- identyfikator:=a;
- end;
- function first_pass(dl:byte):string;
- var
- a:string;
- i:integer;
- begin
- randomize;
- a:=' ';
- for i:=1 to dl do
- begin
- a:=a+Chr(Ord('a')+Random(26));
- end;
- first_pass:=a;
- end;
- procedure rejestracja;
- begin
- clrscr;
- {$I-}
- reset(baza);
- if ioresult <>0 then
- begin
- rewrite(baza);
- end;
- close(baza);
- {$I+}
- reset(baza);
- writeln('Podaj imie');
- readln(user.imie);
- writeln('Podaj Nazwisko');
- readln(user.nazwisko);
- clrscr;
- writeln('Witaj ',user.imie,'!');
- user.id:=identyfikator;
- writeln('Twoje ID sluzace do logowania to: ',user.id);
- user.haslo:=first_pass(6);
- writeln('Twoje haslo tymczasowe to: ',user.haslo);
- user.data:=data;
- writeln;
- user.autoryzacja:=false;
- user.admin:=false;
- write(baza,user);
- writeln('Konto czeka na autoryzacje przez administratora');
- writeln;
- writeln('Gdy administrator autoryzuje Twoje konto bedziesz mogl m.in.:');
- writeln('- wypozyczyc ksiazke');
- writeln('- zarzadzac kontem');
- readln;
- end;
- procedure bibliotekarz;
- begin
- writeln('admin');
- end;
- procedure czytelnik;
- begin
- if user.autoryzacja=false then
- writeln('Twoje konto nie jest autoryzowane przez administratora, sproboj pozniej')
- else
- writeln('user');
- end;
- procedure logowanie;
- var
- login,haslo:string;
- check:byte;
- begin
- clrscr;
- write('login: ');
- readln(login);
- clrscr;
- write('haslo: ');
- readln(haslo);
- reset(baza);
- while not eof(baza) do
- begin
- read(baza,user);
- if (login='b') and (haslo='b01ver01') then bibliotekarz
- else
- if (login=user.id) and (haslo=user.haslo) then czytelnik
- else writeln('Zle dane lub nie masz zalozonego konta!');
- end;
- close(baza);
- end;
- procedure menu;
- begin
- intro;
- writeln;
- while y<>2 do
- begin
- tablica[1]:=' Logowanie ';
- tablica[2]:=' Rejestracja w systemie ';
- textcolor(15);
- for y:=1 to 2 do
- begin
- textcolor(15);
- textbackground(0);
- gotoxy(30,10+y);
- write(tablica[y]);
- end;
- y:=1;
- repeat
- textcolor(0);
- textbackground(15);
- gotoxy(30,10+y);
- write(tablica[y]);
- c1:=readkey;
- c2:=' ';
- if c1=chr(0) then c2:=readkey;
- textcolor(15);
- textbackground(0);
- gotoxy(30,10+y);
- write(tablica[y]);
- if c2='H' then dec(y);
- if c2='P' then inc(y);
- if y=0 then y:=2;
- if y=3 then y:=1;
- if c1=chr(27) then exit;
- until (c1=chr(27)) or (c1=chr(13));
- if y=1 then
- logowanie;
- if y=2 then
- rejestracja;
- end;
- end;
- begin
- clrscr;
- files;
- menu;
- end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement