- 2.1 První program
- 2.2 Vlastnosti objektů, aneb Ahoj světe podruhé
- 2.3 Domácí úkol
- 2.4 Příští lekce
2.1 První program
Ještě než se pustím do nějakého velkého psaní, tak vám sdělím sladké tajemství, a to jak se ve VB značí komentáře. Velmi mi to usnadní výuku a i pro vás bude vysvětlovaná látka jednodušeji pochopitelná. Komentáře se tedy značí apostrofem – ‘
. Ten začíná každý řádek komentáře. Komentář může začínat jak na novém řádku, tak může pokračovat za kódem. Za ním však již kód být nesmí. Tedy může, ale nebude fungovat. Komentář ukončíme tím, že přejdeme na nový řádek. Pokud tedy ve VB chceme napsat více řádků komentáře, musí každý začínat apostrofem.
Například:
‘Toto je komentář
Toto je kód ‘Toto je komentář
První program bude jak jinak než „Ahoj Světe“. Věřte nevěřte, ale je mnohem jednodušší, než si myslíte, stačí vám napsat pouze řádek kódu. Tento řádek se napíše do procedury form_click.
Private Sub Form_Click() ‘začátek procedury která
‘reaguje na kliknutí na form
Print "ahoj světe" ‘Příkaz na vytisknutí na formulář
End Sub ‘označení konce procedury
Proceduru form_click vybereme v okně s kódem:
Tato procedura znamená, že po kliknutí na formulář se vykoná obsažený kód. V našem případě se na formulář vypíše „ahoj světe“. Příkaz print znamená vytisknout „ahoj světe“. Je v uvozovkách a v uvozovkách být musí, jinak by nebyl brán jako text, ale jako proměnná. A jelikož jsou to dvě slova a dvě proměnné vedle sebe oddělené jen mezerou, tak se vedle sebe nemohou stát, kompilátor by vám to hlásil jako chybu a nedovolil by pokračovat.
Program se spouští modrou šipkou „play“, která je nahoře v toolbaru. Jakmile se programu spustí, klepněte na formulář. Zobrazí se vám nápis „Ahoj světe“.
2.2 Vlastnosti objektů, aneb Ahoj světe podruhé
Nyní si program trochu zkomplikujeme. A to tím, že na formulář vložíme tlačítko a jeden Label. Vložené prvky se nám pojmenují Command1 a Label1.
Jejich jména jim zatím ponecháme a podíváme se na jejich vlastnosti. Klikneme nejprve na prvek Command1 a podíváme se do tabulky Properties, která vypadá stejně jako na obrázku vlevo. Záložky nahoře nám vlastnosti seřazují podle kategorie nebo podle názvu. První a nejdůležitější vlastností je jméno prvku (name). Bez něj by nebylo možno s prvkem vůbec pracovat. Appearance (obrázek vpravo) je typ zobrazení prvku v prostoru. BackColor určuje barvu pozadí tlačítka, s tou se dá pracovat, pouze pokud je položka Style na hodnotě graphical. Caption je popisek tlačítka, čili text, který se na tlačítku zobrazí. Je-li hodnota Cancel nastavena na true, potom toto tlačítko reaguje na stisknutí tlačítka „Esc“. Tlačítko s takto nastavenou hodnotou Cancel může být maximálně jedno na formuláři, stejně jako u následující vlastnosti Default. Default je prakticky totéž, ale reakce je na tlačítko „Enter“. Zde je možno navolit font písma na tlačítku. Height je velikost na šířku, Weight je velikost na výšku, Left je vzdálenost levého kraje prvku od levého kraje formuláře, Top vzdálenost horního okraje prvku od horního okraje formuláře. Enabled použitelnost prvku pokud je na true je prvek možno používat pokud je na false je prvek je nedostupný. Mouse Pointer určuje ukazatel, který ukazuje na daný objekt.To jsou základní vlastnosti, které budeme pro začátek potřebovat o ostatních si povíme časem o některých asi nebude řeč vůbec. Label má navíc vlastnosti jako je zarovnání a další, vše si vyzkoušejte, je to nejlepší způsob, jak zjistit co, co dělá. Formulář má také velké množství různých vlastností, které ale nebudeme probírat teď, ale až později nicméně by nebylo na škodu kdyby jste si je vyzkoušeli změnit a podívat se co se stane. Některé neudělají nic a jejich význam se projeví až v samotném programu. Teď vytvoříme program tak, aby nám po stisknutí tlačítka vypsal ono „Ahoj světe“ do Objektu Label.. Kód bude vypadat následovně.
Private Sub Command1_Click()
Label1.Caption = "Ahoj Světe"
End Sub
Poklepáním na tlačítko Command1 se nám objeví kód procedury a mi zapíšeme opět jen jeden řádek. Tímto kódem vlastně přiřadíme vlastnosti caption (popisek) hodnotu „Ahoj Světe“ a ta se nám na jeho místě zobrazí místo původního popisku „Label1“. Pro nás to znamená že tímto způsoben můžeme předávat vlastnostem prvků jejich hodnoty tzn. Není problém třeba změnit polohu některého z prvků. Například následujícím kódem.
Private Sub Command1_Click()
Form1.Left = Form1.Left + 100
End Sub
Než začnete psát tento kód tak si na prázdný formulář vložte jedno tlačítko poklepejte na něho dvakrát a doplňte následující kód, aby vypadal takto. Ten způsobí že se vám vždy po stisknutí tlačítka. Formulář posune doprava. Z tohoto příkladu je krásně vidět, že k původní hodnotě se přičítá hodnota 100 tzn. Původní hodnota se o 100 Zvětší. Jednotky se kterými se pracuje jsou twipy jeden twip je 1/15 pixelu, pro ty hůř chápající to znamená, že 15 twipů je jeden pixel.Nastavení základních jednotek lze změnit, ale to až později. Tlačítko může posouvat i samo sebe nebo jakýkoliv jiný objekt, Těmito jednoduchými příkazy se dají libovolně měnit hodnoty jakýchkoliv vlastností, které daný objekt má, ale musíme se řídit určitými pravidly, která jsou v celku logická, třeba to že nemůžeme dosadit za rozměr slovo „velký“nebo „malý“, ale že mu musíme dát číselnou hodnotu. Jednotlivé hodnoty se můžou různě propojovat. Budete potřebovat jeden Label a jedno tlačítko. Kód bude vypadat následovně:
Private Sub Command1_Click()
Label1.Caption = Form1.Left
End Sub
Tento kód vám ukáže pozici levého okraje formuláře od kraje monitoru. Zkuste si formulářem posunout a zmáčknout tlačítko a uvidíte že se hodnoty mění. Jednoduchou Změnou kódu se dá dosáhnou vytištění rozměru na formulář.
Private Sub Command1_Click()
Print Form1.Left
End Sub
Hodnoty vlastností se dají i sčítat nebo odečítat třeba takto:
Private Sub Command1_Click()
Print Form1.Left + Form1.Width
End Sub
Tímto kódem si zjistíme rozměr vzdálenost pravého rohu od levého kraje monitoru. Tyto hodnoty se dají samozřejmě násobit dělit atd. Možná bych měl dodat, že form1 je formulář a left a podobně jsou jeho vlastnosti, ale kdo nepochopil tohle nepochopil nic.
2.3 Domácí úkol
Domácí úkol bude spočívat v práci s vlastnostmi. Udělejte program který po stisknutí tlačítka vypíše souřadnice každého rohu formuláře v twipech. Poradím vám že formulář má 4 rohy. A že toho dosáhnete součty vlastností Left a Weight, a Top a Height. V praxi to znamená že po nás chci vytisknout na formulář 8 čísel a to souřadnice každého rohu vždy na ose X a ose Y. Vytisknete je pomocí funkce print. A aby to nebylo úplně jednoduché tak se nápis na tlačítku po stisknutí změní na libovolný který vás napadne. Pokud byste potřebovali poradit tak v poradně. Úkoly odevzdávejte jako čistý kód ten zatím stačí, u složitějších programů se potom dozvíte podrobnosti.
2.4 Příští lekce
V příští lekci si povíme něco o proměnných, přidáme si další dva objekty a povíme si něco o generování náhodných čísel.