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