× Aktuálně z oboru

Programátoři po celém světě dnes slaví Den programátorů [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]
Celá zprávička [ clanek/2018091300-programatori-po-celem-svete-dnes-slavi-den-programatoru/ ]

Zaheslujte si svoj program

[ http://programujte.com/profil/20356-jan-ivancik/ ]Google [ ?rel=author ]       [ http://programujte.com/profil/7799-martin-valent/ ]Google [ ?rel=author ]       21. 5. 2007       16 419×

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.

Článek stažen z webu Programujte.com [ http://programujte.com/clanek/2007051602-zaheslujte-si-svoj-program/ ].