Mám tu pre vás jeden úplne jednoduchý program, ktorý sa hodí ku každej Pascalovej aplikácií, ktorú chcete urobiť zaujímavejšou a rozmanitejšou. Nejde tu o prvotriedne zabezpečenie, ale … veď posúďte samy.
Na úvod by sa snáď patrilo povedať, aké znalosti sú pre bezproblémové pochopenie programu nevyhnutné. Čiže:
- Procedúry.
- Znalosť cyklov.
- Funkcia goto (čiže label).
- Práca so súbormi.
- No, a prirodzené ovládanie premenných.
To by sme mali za sebou, a tak sa môžeme pustiť priamo do programu. Najprv si spravíme výber možností a deklaráciu premenných.
program heslo;
uses crt;
{načítanie premenných}
var c:boolean;
pred, po:text;
i:integer;
z:schuler;
a,n,j,meno2:string;
label ll;
{začiatok hlavného programu}
begin
clrscr;
{načítame si súbor, ktorý si však musíme manuálne vytvoriť !}
assign(po,'E:\temp\tp\jojo.txt');
reset (po);
ll :writeln;
clrscr;
{výber možností}
writeln ('1 - registracia');
writeln ('2 - login');
readln (a);
{podmienky pre vybraté možnosti, môžeme použiť aj podmienku case}
if a = '1' then begin
registracia;
writeln ('si registrovany');
end;
if a='2' then begin
login;
end;
{ak používateľ zadá neočakávánú možnosť, upozorníme ho na
to a dáme mu druhú možnosť}
if (a<>'2') and (a<>'1') then begin
writeln ('tusim nevies, co mas zadavat');
readln;
goto ll;
end;
readln;
end.
Teraz prichádza na rad jadro celého programu, čiže procedúry. Tie použijeme dve. Nazveme ich Login a Registracia. Začnime, trebárs, Loginom.
procedure login;
label pp;
begin
reset(po);
writeln ('meno: ');
readln (meno2);
while not eof(po) do begin
readln (po,n);
if meno2 = n then
begin
c :=true;
goto pp;
end
else c :=false;
end;
pp :writeln;
if c = true then writeln ('OK')
else writeln ('NOT OK');
close(po);
end;
Procedúra očakáva zadanie mena, ktoré následne porovnáva z databázou mien v súbore. Pokiaľ sa v nej nachádza, napíše OK (u vás bude program pokračovať), ak nie - vypíše NOT OK (stačí už len nastaviť label a načítavanie mena sa môže opakovať).
No a druhá procedúra je Registrácia. Tá jednoducho pridá užívateľa do databázy.
procedure nacitaj;
begin
append (po);
write('Zadaj nick: ');
readln (n);
writeln;
writeln (po,n);
end;
Procedúry, prirodzene, vložíme na miesto, kde patria (čiže medzi hlavný begin a deklaráciu premenných), program by mal bez problémov fungovať. To by bolo veľmi jednoduché zabezpečenie vášho programu a nabudúce si môžeme ukázať, ako ku každému členovi v databáze priradíme aj heslo. Ak vás to zaujalo, máte sa na čo tešiť v budúcom dieli.