předchozí lekce (1.08) | obsah kurzu | následující lekce (1.10) |
Všechny vytvářené (i jednoduché) programy musí být součástí projektu. Projekt přitom popisuje všechny součásti vytvářené aplikace. Zpočátku budeme sice vytvářet jednoduché aplikace skládající se pouze z jednoho programu, v budoucnu však budou složitější aplikace tvořeny několika programy. Projekt proto shromažďuje informace o všech částech aplikace. Každá vytvářená aplikace se skládá minimálně ze dvou až tří souborů uložených na disku. V jednom je uložen projekt vytvářené aplikace, ve druhém souboru je vlastní program. V budoucnu se seznámíme s tím, že ve třetím souboru může být uložena definice formuláře.
Při vytváření nového programu musíme proto vytvořit nejprve projekt, do kterého doplníme vytvářený program. Nejprve si zkontrolujte, zda máte uzavřen předchozí projekt. To lze provést například volbou z menu Soubor/Uzavřít vše. Následně vyberte z menu volbu Soubor/Nový. Zobrazí se dialogové okno pro zadání požadované části nové aplikace. Zde je možné zadat, jakou část aplikace požadujete vytvořit. V budoucnu se s jednotlivými částmi seznámíme podrobněji, nyní však klikněte na ikonu s popisem ‘Prázdný projekt’. Vytvoří se tím prázdný projekt, který neobsahuje žádný program.
Projekt musí být vždy pojmenován. Jméno projektu zvolte podle prováděné činnosti budoucí aplikace. Jméno nového projektu se zadává při prvním ukládání projektu bez ohledu na to, zda obsahuje nějaký program. To se provede volbou z menu Soubor/Uložit vše. Systém se přitom zeptá na jméno souboru, do kterého má projekt uložit. Projekt se ukládá do souboru s příponou *.KPR.
Obsah projektu zobrazuje tzv. Manažer projektů, který se zobrazí po stisku kláves Ctrl+Alt+F11, případně volbou z menu Nástroje/Manažer projektu. Nyní by měl být projekt prázdný, neobsahuje zatím žádný program. Nový program doplníme do projektu volbou z menu Soubor/Nový. Zobrazí se opět dialog pro zadání nové části aplikace. Dialog je společný pro všechny jazyky systému. Musíte proto vybírat pouze části aplikace, které vždy odpovídají používanému jazyku. Proto také není možné změnit druh používaného jazyka, pokud je otevřen projekt. Klikněte na záložku ‘Program’ a zadejte ‘Program KLONDAIK’. Tím se vygeneruje automaticky kostra nového programu. Všimněte si, že se informace o vytvořeném programu zobrazí v manažeru projektu.
Programy se zadávají (zapisují) do samostatného okna, které slouží jako textový
editor programu. Pokud je okno na obrazovce viditelné, můžete jej aktivovat kliknutím
myši na jeho plochu. Okno s programem je možné zobrazit volbou z menu Okna/Program.
Mělo by obsahovat následující kostru prázdného programu:
Unit program1;
interface
implementation
begin
{zde napište program}
end;
end.
Program s uvedenou strukturou by bylo možné ihned spustit stiskem klávesy F9.
Nevykonával by ale žádnou činnost, protože neobsahuje žádné příkazy, ale pouze
prázdnou deklaraci jednotlivých částí programu. Seznámíme se proto nejprve s tím, co
musí každý program obsahovat a popíšeme si strukturu programu.
Každý program obsahuje na svém počátku za klíčovým slovem 'Unit' název programu, za kterým musí být uveden oddělovací středník (';'). Program musí být ukončen klíčovým slovem 'end', za kterým musí být uvedena tečka. Jako na konci věty. Takto je definován začátek a konec programu.
Mezi začátkem a koncem programu je uvedena deklarační část programu a vlastní tělo programu. Deklarační část programu bude v budoucnu obsahovat definici formuláře. Zatím však bude obsahovat pouze prázdné definice ‘Interface‘ a ‘implementation‘.
Tělo programu má definovaný začátek slovem 'begin' a konec 'end'. Anglicky začátek a konec. Z toho je patrné, že se každý program skládá ze segmentů s pevně stanoveným počátkem a koncem. Uvnitř segmentů jsou potom uvedeny vlastní výkonné části programu.
Vygenerovaný prázdný program obsahuje ve svém těle řádku:
{zde zapište program};
Protože je text řádky uveden mezi složenými závorkami, bude jej kompilátor ignorovat.
Vše, co uvedete mezi složené řádky bude proto považováno za komentář bez vlivu na
činnost programu. Další možností označení části programu za komentář je uvedení dvou
lomítek za sebou. Další text programu až do konce řádku bude také považován za
komentář. Všimněte si přitom, že je text komentáře v programu uveden šedou barvou.
Takto jsou v textu programu zvýrazněny různé části programu.
Část programu uvedená mezi klíčovými slovy begin a end se nazývá tzv. blok programu. Blok programu může mít libovolnou délku a může obsahovat libovolné množství příkazů, případně vložené další bloky programu. Význam členění programu na bloky, které jsou ohraničeny svým počátkem (begin) a koncem (end) si ukážeme v dalších lekcích věnovaných podmínkám a cyklům v programu.
Výše uvedený prázdný program obsahuje pouze základní kostru bez žádného povelu,
který by vykonával viditelnou činnost a proto by spuštěný program skončil, aniž by cokoliv
vykonal. Využijeme proto získaných zkušeností a doplníme text programu o nám již
známé povely a příkazy. Dávejte si pozor na to, aby jste ponechali beze změny začátek a
konec programu. Pokud by se tak nestalo, program by se nemusel vůbec spustit.
Proveďte proto pouze doplnění programu o příkaz Writeln dle následující ukázky:
Unit program1;
interface
implementation
begin
{zde napište program}
Writeln('Ahoj, zdraví Vás systém KLONDAIK');
end;
end.
Nový, prázdný vygenerovaný program je možné spustit volbou z menu Program/Spustit,
případně stiskem funkční klávesy F9 nebo kliknutím myši na ikoně s obrázkem běžícího
panáčka. Při každém spuštění programu je tento vždy nejprve uložen na disk,
zkompilován a vykonán. Pokud jste dosud neuložili na disk do souboru projekt, jste
dotázáni na jeho jméno. Stejně tak jste dotázáni systémem na jméno nově ukládaného
programu. Program je ukládán na disk s příponou *.KLN. U jednoduchých programů se
doporučuje zadat jméno programu totožné se jménem projektu. Pouze v budoucnu, až
budete vytvářet rozsáhlejší aplikace bude vhodné pojmenovávat jednotlivé programy podle
prováděné činnosti.
Systém provede po spuštění programu nejprve kontrolu, zda neobsahuje chyby. V případě jejího nalezení je systémem nahlášen popis chyby s uvedením místa výskytu. Dokud není program zadán správně, nebude spuštěn. Při pečlivém zápisu by však neměly nastat žádné problémy. Pokud budete postupně procházet jednotlivými lekcemi kurzu a zkoušet vše v praxi, naučíte se jistě psát bezchybné programy.
Pokud máte viditelný obsah textového výstupního okna, zobrazí se v něm po spuštění
výše uvedeného programu pozdrav od systému. Vyzkoušejte si další, dříve probrané
povely, které zapisujte pouze do části programu mezi slovy begin a end. Takto by
například mohl být upraven program včetně zobrazení textového výstupního okna a
výmazu předchozího obsahu:
Unit program1;
interface
implementation
begin
ConsoleShow; {zobrazí a aktivuje textový výstup}
ConsoleClear; {vymaže plochu textového výstupu}
Writeln('Ahoj, zdraví Vás systém KLONDAIK');
end;
end.
Obdobným způsobem můžete zadat i povely pro použití grafického výstupního okna.
Opět použijeme pouze dříve probrané povely, které zapíšete do části programu mezi
slovy begin a end. Jak již jistě víte, text ve složených závorkách nemusíte zapisovat, jsou
to poznámky, které nemají na činnost programu vliv.
Unit program1;
interface
implementation
begin
ImageShow; {aktivuje textový výstup}
ImageInit(150, 200); {inicializuje plochu}
ImageRectangle(10,10,140,190); {nakreslí obdélník }
ImageFontColor(clBlue); {nastaví modrou barvu fontu}
ImageFontSize(16); {nastaví velikost fontu}
ImageTextOut(50,30,'KLONDAIK');{vypíše text }
end;
end.
Jak jsme již hned v úvodu probíraných lekcí uvedli, je základem programování zadání
posloupností akcí. To si můžete nyní vyzkoušet. Projděte si předchozí lekce a
pokuste se z již získaných znalostí sestavit program, který například nakreslí dům a vedle
něj zelený strom. Navíc si zkuste založit nový projekt, do kterého program uložíte. Abyste
to neměli tak složité, uvádíme zde část programu pro nakreslení domu. Povely pro
nakreslení stromu již doplňte sami. Samozřejmě můžete v programu provést i další
úpravy dle vlastního uvážení.
Unit domek;
interface
implementation
begin
ImageShow; {aktivace grafické plochy}
ImageInit(200, 150); {inicializace graf.plochy}
ImageBrushColor(clLime); {nastavení zelené barvy}
ImageRectangle(0, 130, 200, 150); {nakreslení zahrádky}
ImageBrushColor(clOlive); {nastavení tmavě zelené}
ImageRectangle(20,60, 105, 130); {nakreslení stěny domu}
ImageBrushColor(clYelow); {nastavení žluté barvy}
ImageRectangle(28, 70, 48, 90); {horní levé okno}
ImageRectangle(72, 70, 52, 90); {horní střední okno}
ImageRectangle(96, 70, 76, 90); {horní pravé okno}
ImageRectangle(28, 100, 48, 120); {levé dolní okno}
ImageRectangle(72, 100, 52, 130); {dveře}
ImageRectangle(96, 100, 76, 120); {pravé dolní okno}
ImageEllipse(140,20,170,50); {sluníčko}
ImageBrushColor(clRed); {nastavení červené barvy}
ImageTriangle(20,60,60,25,105,60);{střecha}
end;
end.
Takže jak vypadá program již víte. Měli byste být již také schopni sestavit
jednoduchý program z posloupnosti vykonávaných povelů. Každý program můžete přitom
samozřejmě uložit pod jiným názvem. V následující lekci se seznámíte podrobněji
s možností editace programu.