Seriál - 1. díl
Úvod, co je to Visual Basic, co umožňuje, prostředí, první aplikace

1. Úvod
2. Co je a co umí Visual Basic (VB)
3. Začínáme s Visual Basicem
    3.1. Vytvoření nového projektu, jeho vlastnosti
    3.2. Součásti projektu
    3.3. Metody, vlastnosti, události
    3.4. První jednoduchá aplikace
    3.5. Vytváření menu

1. Úvod

Tímto číslem začíná nový seriál o programování ve Visual Basicu. V žádném případě nepůjde o kompletní učebnici (což ostatně ani není možné, seriál by musel mít poněkud více dílů než plánujeme). Spíše bychom chtěli ukázat začátečníkům v několika dílech, jak v tomto jazyku programovat.

Před začátkem některých kapitol naleznete text psaný kurzivou. Vždy jde o vysvětlení některých pojmů, které musíte znát pro pochopení následujícícho textu.

Pokud už jste někdy něco ve Visual Basicu zkoušeli, můžete tento díl vynechat. Tenotkrát se budeme snažit vysvětlit, jak používat jeho programovací prostředí. Většina pojmů bude ještě vysvětlena podrobněji v dalších pokračováních.

Pro koho je seriál určen?

Seriál je určen pro naprosté začátečníky ve Visual Basicu. Není však určen naprostým začátečníkům v programování. Nebudeme zde např. vysvětlovat, co jsou to datové typy, nebo k čemu slouží, k čemu jsou např. příkazy FOR, WHILE apod. Také by bylo dobré znát základy objektově orientovaného programování (není to ale nutné). Od čtenáře se předpokládá obecná znalost operačních systémů Windows 95 nebo 98.

Zpět na obsah


2. Co je a co umí Visual Basic (VB)

Ještě dnes si mnoho lidí spojuje Basic s Visual Basicem (dále jen VB). Je pravdou, že z něj VB původně vycházel. Dnes už mnoho společného nemají. VB je plnohodnotným programovacím jazykem zcela srovnatelným např. s produktem Delphi firmy Inprise nebo podobnými produkty. Zdánlivá jednoduchost VB má ovšem jiný důvod a tím je zvýšení produktivity práce programátorů a vývojářských týmů.

Pro zajímavost uvádíme, jak charakterizuje Visual Basic 6.0 firma Microsoft. "Microsoft Visual Basic 6.0 je nejúčinnějčím nástrojem k tvorbě velmi výkonných podnikových řešení pro Windows a Web. Prostředí pro rychlý vývoj aplikací (RAD) pomáhá rychle vytvářet a implementovat distribuované aplikace a snadno programovat webové aplikace s využitím známých nástrojů a funkcí Visual Basicu."

VB obsahuje nástroje a objekty pro používání databází (DAO, ADO, ODBC, OLEDB atd.). Součástí těchto nástrojů je také plnohodnotný jazyk SQL. VB také podporuje mechanizmy OLE, neboli OLE Automation (Object Linking and Embedding), pomocí nichž můžete používat objekty jiných aplikací (např. dokument Wordu), dále také mechanizmus DDE (Dynamic Data Exchange), který vám umožní výměnu dat mezi aplikacemi. Dále VB obsahuje mnoho objektů pro různé akce, např. komunikace v síti, s tiskárnami, grafické a multimediání prvky atd.

Dnes můžete VB koupit ve třech verzích, Learning, Professional a Enterprise. Verze Learning, jak napovídá název, je určena spíše pro učení se jazyku. Ze všech třech je nejlevnější, neumí program kompilovat do tvaru EXE a nemá také všechny nástroje a objekty pro přístup k databázím aj. Navíc oproti dvěma dalším verzím má na CD interaktivní učebnici. Pokud však chcete své programy prodávat, či jinak distribuovat, budete muset zvolit verzi Professional nebo Enterprise. Obě tyto verze umožňují vše, co je uvedeno výše, dále umožňují překlad do nativního kódu, obsahují integrované nástroje pro přístup k databázím atd. Verze Enterprise obsahuje navíc různé nástroje pro vyvíjení aplikací client-server, pro programátorské týmy apod. a také umožňuje vytvářet kód pro procesory DEC Alpha. Cenově se rovná cca. dvojnásobku verze Professional.

Slovo Visual v názvu znamená vytváření programu vizuálně, tedy hlavně za pomocí myši a vyplňování různých dialogů. Není to až tak úplně pravda, za pomocí myši a dialogů vytvoříte grafické rozhranní aplikace, a max. nějaké základní úkoly. Pokud však chcete vytvořit trochu složitější aplikaci, bez psaní kódu se neobejdete.

Zpět na obsah


3. Začínáme s Visual Basicem

PROJEKT - soubor formulářů, modulů, tříd atd., jednoduše soubor různých částí, ze kterých se skládá celá aplikace. Na disku je projekt reprezentován souborem s příponou VBP. Tento obsahuje informace o všech součástech projektu, jako např. formuláře, objekty, a dále nastavení vlastností, např. verze, název atd.

V této kapitole se budeme snažit vysvětlit používání vývojového prostředí VB, význam jednotlivých menu, dialogů a oken. Samozřejmě že nebudeme vysvětlovat každou položku v menu či dialogu. Pokud budete chtít vědět více, informace naleznete v nápovědě k VB.

Zpět na obsah


3.1. Vyvoření nového projektu, jeho vlastnosti

Spustíte-li si VB, uvidíte, pokud si někdo nehrál s nastavením prostředí, dialog New project (pokud se vám tento dialog nezobrazí, zvolte menu File | New Project, uvidíte podobný dialog). To se vás VB ptá, jaký druh projektu chcete otevřít. Karty Existing resp. Recent zobrazí existující resp. naposledy použité projekty. Na kartě New si můžete vybrat z různých typů nových projektů.

Pro začátek je nejdůležitějších prvních pět.

  1. Standard EXE
  2. ActiveX EXE
  3. ActiveX DLL
  4. ActiveX Control
  5. VB Application Wizard

Standard EXE je normální aplikace, jako třeba poznámkový blok, malování apod. ActiveX EXE a ActiveX DLL jsou OLE servery běžící mimo proces nebo v procesu aplikace. ActiveX Control znamená vytvoření komponenty (prvku, OCX ... - všechno znamená to samé), kterou můžete používat v dalších projektech nejen ve Visual Basicu. No a poslední, VB Application Wizard je průvodce, který na základě vašich odpovědí na dotazy vytvoří kostru aplikace. Pro ty, kdo rádi experimentují, jej doporučujeme vyzkoušet. Pokud přesně nechápete význam některé z položek, nezoufejte, podrobněji se k ním dostaneme jestě později.

Pro začátek zvolte projekt typu Standard EXE a poté klikněte na tlačítko Otevřít. Otevře se vám nový projekt, který se jmenuje Project1 a k tomu spousta oken, jejichž význam si během seriálu postupně vysvětlíme.

Protože každý programátor má jiné zvyky, je dobré vědět, jak si přispůsobit vývojové prostředí (IDE - Integrated Development Environment). Nastavuje se v dialogu Options v menu Tools | Options.

Zde můžete nastavovat mnoho věcí, které se dělí do určitých kategorií reprezentovaných záložkami. V záložce EDITOR nastavujete věci, které se týkají psaní kódu. Např. odsazení textu při stisku tabulátoru nebo nastavení rychlé nápovědy. Záložka EDITOR FORMAT umožňuje nastavení písma. To je dobré v případě, že píšete česky (standardně je použit anglický font). GENERAL určuje chování prostředí při vytváření vzhledu programu, např. velikost mřížky, do které jsou prvky umísťovány, chování prostředí při výskytu chyby atd. DOCKING určuje, která okna budou nezávislá. Ve VB můžete některá okna volně přesunovat. Okna, která jsou DOCKING, se připojují již k zobrazeným oknům. V záložce ENVIRONMENT nastavujete chování prostředí při spuštění, při spuštění programu a určujete adresář se šablonami (a zda se mají nabízet). V záložce ADVANCED jsou ostatní nastavení, jako např. typ vývojového prostředí (SDI, MDI), editor HTML atd.

Protože již máme otevřený nový projekt, je dobré si před začátkem práce nastavit jeho vlastnosti (není to ovšem nutnost). K tomu slouží dialog Project properties z menu Project | Properties.

Na záložce GENERAL můžete nastavovat typ projektu (Standard EXE, ActiveX DLL, ActiveX EXE, ActiveX Control), odkud se bude aplikace spouštět (na výběr dostanete všechny formuláře z projektu nebo proceduru Main), název projektu, soubor nápovědy k Vaší aplikaci a popis projektu. Záložka MAKE umožňuje nastavit verzi projektu, ikonu a titulek, další nastavení jako např. název firmy, komentář, atd., argumenty příkazové řádky a nastavení proměnných podmíněné kompilace. Další záložku, COMPILE, využijete až při kompilaci. Můžete si vybrat ze dvou typů:

Zpět na obsah


3.2. Součásti projektu

Každý projekt se může skládat z mnoha částí, které se zobrazují v okně Project Explorer. Jednotlivé části se přidávají v první části menu Project nebo pomocí stisku pravého tlačítka myši v tomto okně. Některé části jsou nabízeny automaticky, další lze do menu přidat v záložce Designers z menu Project | Components. Ve vrchní části okna se nacházejí tři tlačítka. První (zleva) ukáže kód vybrané části, druhé zobrazí vzhled (pouze u některých částí, např. Form, MDIForm, UserControl), třetí mění pouze vzhled okna Project Explorer tak, že zobrazuje všechny části v jedné větvi, nedělí je podle typu. Ze základních je třeba vyjmenovat formulář, MDI formulář, modul, třídu, ActiveX prvek a stránky vlastností.

formulář (form)

Formulář je objekt, okno, které vytváří součást uživatelského rozhranní aplikace. Může obsahovat (a také většinou obsahuje) zdrojový kód. Na formulář můžete umísťovat libovolné prvky. Dále také může mít menu, titulek, minimalizační, maximalizační a uzavírací tlačítka.
MDI formulář (MDI form)
Okno, které se chová jako pozadí aplikace a kromě některých ActiveX prvků obsahuje též formuláře. Narozdíl od formuláře má MDI formulář některé zvláštnosti. Všechny formuláře v projektu, které mají nastavenu vlastnost MDIChild na hodnotu True (k tomu se dostaneme později) nejsou mimo oblast MDI formuláře vidět (pouze pokud je aplikace spuštěna, v návrhovém módu to samozřejmě neplatí). Minimalizujete-li MDI formulář, všechny se minimalizují také. A pokud otevřete formulář, který má menu, bude toto umístěno pod titulek MDI formuláře a jeho vlastní zmizí.
modul (module)
Modul je pouze "schránka", která obsahuje procedury, funkce a deklarace. Umožňuje definování globálních proměnných, uživatelských datových typů, procedur a funkcí.
třída (class module)
Předloha pro vytváření instancí objektů. Převedeno do normální řeči se jedná o vzor pro vytváření konkrétních objektů.
ActiveX prvek (ActiveX control)
Objekt, který může být součástí aplikace nebo může být samostatnou aplikací (v tomto případě má příponu OCX). ActiveX prvky se zobrazují v okně Toolbar.
stránky vlastností (property pages)
Formulář, který používají ActiveX prvky pro komfortní nastavení svých vlastností mimo okno Properties.

Zpět na obsah


3.3. Metody, vlastnosti, události

Metoda

Metoda je v pojetí VB funkce resp. procedura, která se váže k nějakému objektu. Běžnou funkci můžete spustit, je-li globální, kdekoliv v programu jednoduše zapsáním jejího názvu. Např. MAX(a,b). Metoda se ve VB spouští napsáním názvu objektu, dále tečkou a názvem metody. Např. máme objekt dlgFile (CommonDialog), metoda ShowOpen se spouští takto: dlgFile.ShowOpen.

Vlastnost

Vytvoříme-li např. objekt Člověk, musíme jej nějak popsat. Např. věk, barva očí, výška atp. Můžeme říct, že to jsou jeho vlastnosti. To samé mají i objekty. Např. objekt formulář má nějakou barvu, titulek, velikost atp. Vlastnosti každého objektu můžeme měnit např. takto: titulek formuláře frmMain.Caption="Můj formulář" a zjišťovat třeba Print frmMain.Caption

Událost

Událost nastane po nějaké specifické akci uživatele nebo systému. Poté co nastane, spustí se kód, který napíšete do procedury svázané s touto událostí. Každý objekt ve VB může mít spoustu událostí (nemají však všechny stejné). Např. událost CLICK, klikne-li někdo na objekt, KEYPRESS, byla-li stisknuta klávesa apod. Protože je VB událostmi řízený programovací jazyk, veškeré akce jsou iniciovány událostmi. Např. nastavíte-li spuštění projektu z formuláře, spustí se hned několik událostí, např. Form_Load (pokud do ní napíšete nějaký kód).

Zpět na obsah


3.4. První jednoduchá aplikace

Tato kapitola se měla původně jmenovat Návrh grafického rozhranní aplikace, ale nakonec jsme se rozhodli ukázat vám jak na to, pomocí jednoduchého prográmku, který si sami vytvoříte. Pokud někdo nechce vytvářet aplikaci sám, zkopírujte si ji (oproti té, kterou si vytvoříte s námi, má navíc malou ukázku menu), kdo chce aplikaci vytvářet s námi, spusťte si VB a otevřete projekt typu Standard EXE.

Krok 1.
Nejdříve nastavíme vlastnosti zobrazeného formuláře (pokud jej někdo zobrazen nemá, kliněte dvakrát na položku Form1 v okně Project Explorer). Vlastnost Caption (titulek okna) formuláře nastavíme na "Moje první aplikace" a vlastnost StartUpPosition (umístění okna na obrazovce) na hodnotu 2-CenterScreen.

K nastavování vlastností slouží okno Properties. Ve vrchní části okna je rozbalovací nabídka, ve které si vyberete objekt, jehož vlastnosti chcete měnit. To je možné provádět i tak, že kliknete na prvek, který chcete měnit (v našem případě však není z čeho vybírat, zatím máme pouze jeden objekt a to je Form1). Pod touto nabídkou jsou v levém sloupci vlastnosti, které lze nastavovat a v pravém jejich hodnoty - na první záložce seřazené podle abecedy, na druhé podle kategorie. Kliknete-li na vlastnost, ve spodní části se zobrazí její stručný popis. Vlastnost můžete změnit tak, že na ni kliknete a buď hodnotu napíšete, nebo si vyberete ze seznamu. Některé vlastnosti je možno nastavovat pouze za běhu aplikace (v kódu, v okně Properties se ani neobjevují), některé zase pouze při návrhu, většinu však můžete nastavit i při návrhu i za běhu aplikace, tedy v kódu.

Nejběžnější vlastnosti objektů
Name Název objektu. Tímto názvem je potom prvek označován jak při vizuálním návrhu, tak v kódu aplikace.
Enabled Tato vlastnost je typu Boolean, takže nabývá pouze hodnot True nebo False. Je-li False, objekt nepřijímá žádné podněty od uživatele.
Tag Vlastnost pro volné použití. Zde si můžete dát co chcete, prvek to vůbec neovlivní.
Top, Left Umístění levého horního rohu prvku. Pro formulář vzhledem k levému hornímu rohu obrazovky (nebo MDI formuláře), pro ostatní prvky vzhledem k levému hornímu rohu formuláře.
Visible Určuje, zda je prvek za běhu aplikace vidět. Umožňuje pouze True nebo False. Existuje několik prvků (např. Timer), které jsou vidět pouze při návrhu.
Width, Height Šířka a výška v twipech (VB používá zvláštní jednotku TWIP, která je většinou 1/15 pixelu).

Krok 2.
Umístěte na formulář třikrát CommandButton, nastavte jejich jména na "cmdKonec", "cmdZmen" a "cmdUkaz" a Caption na "Konec", "Změň" a "Ukaž text", dále jeden TextBox se jménem "txtTitulek" a jeden Label se jménem "lblTitulek" a s vlastností Caption "Vyplň titulek".

Jakýkoliv prvek umístíte na formulář tak, že na něj nejprve kliknete v okně Toolbar a potom na místo na formuláři, kde má být, přitom držíte levé tlačítko a táhnete myší, čímž určujete jeho velikost. Prvek můžete později přetáhnout kamkoliv jinam na formuláři. Jeho velikost se dá změnit pomocí záchytných bodů, které se zobrazí, je-li prvek aktivní, nebo v okně Properties (Left, Top, Width, Height). Standardní ToolBar obsahuje 20 prvků, které lze samozřejmě přidávat a to pomocí dialogu v menu Project | Components. Zde si v záložce Controls zaškrtnete prvek, který chcete přidat. Pokud prvek není v nabídce, můžete pomocí tlačítka Browse zadat přímo OCX soubor. Prvek, který je přidán, se zobrazí v okně ToolBar a je možno jej přidat na formulář stejně jako ostatní prvky.

Krok 3.
Do události cmdZmen_Click přidejte kód, který změní titulek formuláře na text zadaný v TextBoxu, do události cmdUkaz_Click přidejte kód, který ukáže dialog s textem titulku formuláře a do události cmdKonec_Click přidejte kód, který aplikaci ukončí.

Teď už je třeba psát i kód. Protože používáme Form1, zobrazte si jeho zdrojový kód. Kdo neví jak, přečtěte si znovu kapitolu 3.2. Součásti projektu. Máte-li zobrazené okno s kódem, vypadá podobně jako na našem obrázku (mimo kódu).

Skládá se v podstatě ze tří částí. Nahoře vidíte dva ComboBoxy (neboli rozbalovací nabídky). Vlevo si můžete vybrat objekt, jehož událost chcete upravovat (nabízí všechny objekty na formuláři včetně formuláře), vpravo si vyberete událost. Ve spodní (největší) části potom vidíte kód, který se k vybrané události váže. Vyberete-li si nějaký objekt, automaticky je vložena deklarace defaultní události (každý objekt může mít defaultní událost a vlastnost). Defaultní událost lze také vložit tak, že na objekt na formuláři dvakrát kliknete. V našem případě to znamená buď kliknou dvakrát na všechna tři tlačítka nebo vybrat postupně všechna tři tlačítka z ComboBoxu. Do událostí vložte stejný text jako na obrázku. První událost nastavuje vlastnost Caption formuláře na vlastnost Text (což je napsaný text) prvku txtTitulek. V druhé události je zobrazen dialog (funkce MsgBox), který zobrazí titulek formuláře. No a třetí událost ukončí celý program funkcí End.

Krok 4.
Teď už zbývá aplikaci pouze spustit a vyzkoušet. To můžete buď stiskem klávesy F5 nebo ekvivalentním způsobem z menu Run | Start.

Zpět na obsah


3.5. Vytváření menu

Každý formulář má své vlastní menu. Menu vytvoříte tak, že zobrazíte formulář, na kterém má být a spustíte editor z menu Tools | Menu Editor.


Každé menu musí mít vyplněny vlastnosti Caption (titulek menu) a Name (jméno - každá položka menu je objekt). Dále můžete zadat Index (pro pole objektů - vysvětlíme v některém z pozdějších dílů), klávesovou zkratku (Shortcut), odkaz na položku v nápovědě (HelpContextID), polohu menu (NegotiatePosition), "zatržení" (Checked), jestli je menu aktivní, tzn. přijímá akci od uživatele (Enabled), zda je menu vidět (Visible) a tzv. menu "seznam oken" (v případě MDI aplikace zobrazuje automaticky všechna otevřená okna, mimo MDI okna). Ve spodní části se nalézají čtyři šipky. Šipkami nahoru a dolu určujete pozici. Šipkami doleva a doprava určujete, do které úrovně položka patří. Na obrázku je vytvořené menu k předchozí aplikaci. Chcete-li vytvořit "takovou tu čáru" v menu, vytvořte menu, které bude mít titulek pomlčku. Veškerý kód vztahující se k menu je pouze v události CLICK příslušného menu (jinou událost menu ani nemá).

Zpět na obsah