Dneska se podíváme na vytvoření pěkného menu a vysvětlíme si, jakým způsobem budeme šifrovat.
Dneska nejprve napíšeme proceduru menu, která nám vypíše úvodní obrazovku našeho programu. Tady je kód.
procedure menu;
begin
while true do
begin
clrscr;
textcolor(3);
textbackground(white+green);
clrscr;
writeln(" ********* * * * * * * * * * * ");
writeln(" * ** * * * * * * * * * * ");
writeln(" * * * * * * * * * * * * * ");
writeln(" ***** * * * * * * * * * * ");
writeln(" ***** * * * * * ******* * * ********* ");
writeln(" * * * * * * * * * * * ");
writeln(" * * ** * * * * * * * ");
writeln(" ********* * * * * * * * * * * * ");
writeln;writeln;textcolor(white);writeln("Program enigma pro sifrovani a desifrovani zprav.");
writeln;
writeln;
writeln("Vyberte moznost: (1) Sifrovat");
writeln(" (2) Desifrovat");
writeln(" (3) Premazani souboru");
writeln(" ---------------------");
writeln(" (0) Konec ");
read(k);
case k of
1:lsifra;
2:desifra;
3:premazani;
0:konec;
else:spatneheslo;
end;
end;
readkey;
end;
Tak a teď si to projedeme:
- procedure menu – klasika; říkáme překladači, že chceme podprogram menu
- while true do – nekonečná smyčka
- clrscr – vymaže obsah obrazovky
- textcolor(3) – nastaví barvu textu na barvu s konstantou 3
- textbackground(white+green) – nastaví barvu pozadí na míchaninu bílé a zelené
- Poté následuje vykreslení nápisu ENIGMA vyvedeného z hvězdiček (*) a pak už samotné menu
- read(k) – do proměnné k (typu integer, jenž nám do ní umožňuje nahrát celé číslo), kterou musíme nadeklarovat na začátku, uložíme uživatelskou volbu
- case k of – podle proměnné k určí, co se bude dít dál
- readkey – stopne běh programu až do stisknutí libovolné klávesy
Tím by tedy byl hotov podprogram menu.
Nyní si ještě zlehka popíšeme, jak zhruba budou vypadat naše šifrovací a dešifrovací funkce. Po stisknutí tlačítka šifrovat se vypíše zpráva, která uživatele vyzve k zadání dvou číselných kódů. Poté se objeví obrazovka, kde už se bude přímo zadávat text, který se následně uloží do jednorozměrného pole o dostatečné velikosti (6 000 znaků). Poté tato šifrovací funkce celý text projede a každý znak převede na jeho ordinální hodnotu. Nakonec ke každé sudé ordinální hodnotě znaku přičte kód A a ke každé liché kód B. Poté zase převede všechny ordinální hodnoty zpět na znaky. Příště si napíšeme zdrojový kód pro šifrovací funkci.