Lekce 1.09
První program, projekt


předchozí lekce (1.08) obsah kurzu následující lekce (1.10)

V předchozích lekcích jsme si probrali základní informace o používání příkazového okna pro zadávání povelů jazyka přímo z klávesnice. Výstup výsledků byl prováděn do textového nebo grafického okna. V následujících lekcích využijeme získané poznatky již přímo při vývoji vlastních programů.

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 *.BPR.

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 BONANZA’. 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:


Sub Main()
    'zde zapište program
End sub
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 musí dodržovat určitou strukturu. Jednotlivé části programů jsou rozděleny do bloků. Blok v programu začíná vždy svým návěštím, které označuje druh bloku. Vygenerovaný program obsahuje jeden takový blok. Ten je zahájen označením Sub Main a ukončen označením End Sub. Blok musí mít vždy svůj začátek a odpovídající konec. V následujících lekcích se seznámíme i se dalšími druhy bloků, nyní však bude stačit, pokud si zapamatujete, že vygenerovaný blok programu je určen pro zápis programu.

Vygenerovaný prázdný program obsahuje ve svém těle pouze řádku:


'zde zapište program
Protože je text řádky uveden za apostrofem, bude jej systém ignorovat. Vše, co uvedete na řádku za apostrof bude proto považováno za komentář bez vlivu na činnost programu. 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.

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. Proveďte proto pouze doplnění programu o příkaz Writeln dle následující ukázky:


Sub Main()
    'zde zapište program
    Writeln("Ahoj, zdraví Vás systém BONANZA")
End sub
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 *.BON. 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:


Sub Main()
    ConsoleShow   'zobrazí a aktivuje textový výstup
    ConsoleClear  'vymaže plochu textového výstupu
    Writeln("Ahoj, zdraví Vás systém BONANZA")
End sub
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.

Sub Main()
    ImageShow                    'aktivuje textový výstup
    Call ImageInit(150, 200)     'inicializuje plochu
    Call ImageRectangle(10,10,140,190)'nakreslí obdélník
    ImageFontColor(clBlue)       'nastaví modrou barvu fontu
    ImageFontSize(16)            'nastaví velikost fontu
    Call ImageTextOut(50,30,"BONANZA")
End Sub
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í.

Sub Main()                    'volání hlavní procedury programu
    ImageShow                 'aktivace grafické plochy
    ImageInit 200, 150        'inicializace grafické plochy
    ImageBrushColor(clLime)   'nastavení zelené barvy plochy
    ImageRectangle 0, 130, 200, 150    'nakreslení zahrádky
    ImageBrushColor(clOlive)  'nastavení tmavě zelené barvy
    ImageRectangle 20,60, 105, 130     'nakreslení stěny domu
    ImageBrushColor(clYellow)          'nastavení žluté barvy
    ImageRectangle 28, 70, 48, 90      'horní levé okno
    ImageRectangle 52, 70, 72, 90      'horní střední okno
    ImageRectangle 76, 70, 96, 90      'horní pravé okno
    ImageRectangle 28, 100, 48, 120    'levé dolní okno
    ImageRectangle 52, 100, 72, 130    'dveře
    ImageRectangle 76, 100, 96, 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 Sub
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.
předchozí lekce (1.08) obsah kurzu následující lekce (1.10)

OZOGAN, 1 Máje 97, 460 01 Liberec
tel.,fax: (048) 52 28 338, e-mail: info@ozogan.cz