Začínáme programovat

2. díl - Začínáme programovat

Tomáš Herceg       25.04.2007       VB.NET       38699 zobrazení

V tomto díle si představíme vývojové prostředí jazyka Visual Basic .NET, naučíme se vytvářet komponenty, vysvětlíme si, co jsou to vlastnosti a události a na závěr si napíšeme náš první program, který zobrazí jednoduchou zprávu na obrazovku.

Celý tento tutoriál je vytvořen ve verzi Visual Basic 2010 Express Edition. Starší verze Visual Basicu se mohou trochu lišit! Ukázky kódu budou fungovat, protože nové funkce z verze 2010 zatím nebudeme používat, ale některá okna budou vypadat trochu jinak. Pokud máte jen Visual Basic 6 nebo Visual Basic v MS Office, pak vězte, že tyto verze jsou úplně jiné a prakticky žádné příklady ani ukázky kódu vám nebudou fungovat! Stáhněte a nainstalujte si Visual Basic 2010 Express Edition z odkazu v minulém díle.

Vše připraveno, nainstalováno, můžeme začít programovat!

Spusťte z nabídky Start Visual Basic 2010. Po chvíli nastavování se zobrazí úvodní obrazovka, kde najdete jednak aktuální informace o nových vylepšeních a přídavných modulech do Visual Basicu, tak i rychlé odkazy na diskusní skupiny a nápovědu. V oddílu Recent Projects najdete projekty, se kterými jste naposledy pracovali. Zatím tam pochopitelně žádné nejsou.

Nejjistější způsob, jak začít nový projekt, je kliknout na nabídku File a vybrat New Project. Objeví se dialogové okno s několika typy projektů. Nás zatím bude zajímat Windows Forms Application, což je obyčejná aplikace pro Windows, taková, jaké běžně známe. Dalším typem je například Class Library, což není přímo program, ale jen knihovna funkcí, která se dá využívat z jiných programů. Dále je zde třeba Console Application, což je aplikace pro příkazový řádek. S těmi si také budeme časem hrát.

Dole v okně pro vytvoření projektu je ještě textové pole, kam můžete zapsat název naší aplikace. Vepište Lekce1 (raději bez mezery) a kliknněte na tlačítko OK. Tím se nový projekt vytvoří.

 Vytvoření nového projektu

Ovládací prvky vývojového prostředí

Po kliknutí na tlačítko OK se po chvíli ukáže základní obrazovka vývojového prostředí. Je na ní vidět budoucí okno aplikace (budeme mu říkat formulář), dále souprava nástrojů (toolbox), okno vlastností (Property Window) a průzkumník projektu (Solution Explorer). Vše je popsáno na obrázku níže.

 Obrazovka návrhu formuláře

Pokud na boku nemáte soupravu nástrojů rozbalenou, stačí najet nebo kliknout myší na tlačítko Toolbox na levém okraji a poté, co se lišta rozbalí, ji můžete nahoře malou ikonkou špendlíku “přišpendlit”, aby po pouštění myši nezajížděla zase zpátky. Podobně to lze dělat i s ostatními panely, pokud máte více monitorů, můžete je i vytáhnout mimo hlavní okno. Přizpůsobte si prostředí tak, aby vám vyhovovalo.

Prázdné okno je sice hezká věc, ale my do něj potřebujeme vložit nějaké ovládací prvky. Těm budeme říkat komponenty (anglicky controls). Takovou komponentou může být například tlačítko, textové pole, kam uživatel zadá text, rozbalovací seznam, posuvník, zaškrtávací políčko, obrázek atd.

Každá taková komponenta má své vlastnosti, které blíže určují, jak vypadá a jak se chová. U většiny komponent můžeme změnit typ písma, barvu a všelijaké vzhledové parametry, vlastnostmi také částečně upravujeme chování komponenty (jestli se na ni dá kliknout nebo jestli je uzamčená atd.).

Přidávání komponent na formulář

Abychom mohli přidat komponentu na formulář, v soupravě nástrojů na ní klikneme a pak ji na formuláři se stisknutým tlačítkem roztáhneme do požadované velikosti. Nebo komponentu ze soupravy nástrojů přetáhneme na požadované místo a pomocí čtverečků pro změnu velikosti její rozměry přizpůsobíme. Prostředí nám zobrazuje vodící čáry, které umožňují komponenty pěkně zarovnávat.

Vyzkoušejte přetáhnout do okna různé komponenty a podívejte se, jak vypadají.

Každá komponenta má své jméno. Toto jméno se musí skládat pouze z písmen, čísel nebo podtržítka, přičemž nesmí začínat číslem. Mezery a jiné speciální znaky ve jméně nejsou povoleny. Jméno vždy zjistíme v okně vlastností, kde je vypsáno hned nahoře pod modrým záhlavím v řádku (Name). Vedle jména (v našem případě Button1) je napsán i typ komponenty (Button). Kdybychom nyní přidali druhé tlačítko, jmenovalo by se Button2. To však teď dělat nebudeme, jedno nám zatím stačí.

Žádné dvě komponenty v jednom okně nesmí mít stejné jméno. Toto jméno se uživateli nikde nezobrazuje, slouží nám k tomu, abychom se na komponentu mohli později odkazovat.

Změna vlastností v režimu návrhu

Pokud je komponenta označená, je kolem ní devět obdélníčků, které slouží ke zvětšování a zmenšování. V okně vlastností je v levém sloupečku seznam všech vlastností, které komponenta má, v pravém jsou pak hodnoty těchto vlastností, které můžeme měnit. V okně vlastností se ukážou vždy vlastnosti označené komponenty! Komponenta, se kterou chceme pracovat, musíme nejdříve označit tím, že na ní jednou klikneme.

Najděte tedy vlastnost Text, klikněte v příslušném řádku do pravého sloupečku, vymažte obsah políčka, napište Klikni na mě!. Tím jsme změnili hodnotu vlastnosti Text našeho tlačítka. Pokud se text na tlačítku nezměnil, asi jste tlačítko neměli vybrané a změnili jste titulek formuláře.

Poté klikněte na formulář (ale ne na jeho modrý titulkový pruh a ne na to tlačítko; prostě někam do plochy okna). Obdélníky kolem tlačítka by měly zmizet a objeví se okolo formuláře. Nyní tedy upravíme vlastnost formuláře. Změňte hodnotu vlastnosti Text na První program.

Komponentu, kterou chcete měnit, můžete též vybrat v okně vlastností ze seznamu nahoře.

 Změna textu na tlačítku Změna titulku formuláře

Až program spustíme, na tlačítku a na formuláři budou napsané texty, které jsme nastavili. Vlastnosti komponent se kromě počátečních hodnot, které jsme nastavovali teď, dají měnit i ve chvíli, kdy program již běží, to se naučíme vzápětí. Zatím umíme měnit vlastnosti komponent v režimu návrhu, tj. dokud program není spuštěn. Vše, co takto nastavíme, se projeví již při zobrazení okna.

Nejběžnější vlastnosti, které byste měli znát

Zde v této tabulce jsou uvedeny nejpoužívanější vlastnosti a popis toho, na co mají vliv. Tyto vlastnosti mají skoro všechny komponenty.

Vyzkoušejte tyto vlastnosti změnit a sledujte, co se stane. Některé změny se projeví jen v okamžiku spuštění programu, v režimu návrhu nejsou vidět. Pro spuštění programu stačí stisknout F5. Pro návrat do vývojového prostředí spuštěný program ukončete křížkem v rohu okna.

Název vlastnosti Popis její funkce
Text Textový obsah nebo titulek
Visible Určuje, zda-li je komponenta viditelná. (True - viditelná, False - schovaná)
Enabled Určuje, zda-li je komponenta odemknutá. (True - odemknutá, False - zašedlá)
BackColor Barva pozadí komponenty
ForeColor Barva textu v komponentě
TextAlign Zarovnání textu v komponentě
Top Vzdálenost horního okraje od horního okraje rodiče (v tomto případě okna)
Left Vzdálenost levého okraje od levého okraje rodiče (v tomto případě okna)
Width Šířka komponenty
Height Výška komponenty

Události a procedury

Nyní již umíme měnit vlastnosti objektů, takže nezbývá, než se pustit do samotného psaní zdrojového kódu. Kód píšeme, abychom určili a nadefinovali, jak bude program reagovat například na vstupy a akce uživatele. Takovým vstupem může být třeba kliknutí na tlačítko, stisknutí klávesy, nebo i příchozí data ze sítě atd. Toto chování se ošetřuje tzv. událostmi.

Událost je vyvolána nějakým vstupem a při jejím vyvolání může spustit nějakou proceduru. Procedura je sada příkazů, které se postupně provedou jeden za druhým.

V různých programovacích jazycích se příkazy oddělují různě, ve Visual Basicu bývá většinou jeden příkaz na jednom řádku. Chceme-li napsat více příkazů na jeden řádek, oddělíme je dvojtečkou. Chceme-li jeden příkaz rozdělit do více řádků, někdy se to dělá zapsáním sekvence mezera podtržítko, jindy stačí prostě ukončit řádek a pokračovat na dalším. Přesně si pravidla pro strukturování příkazů vysvětlíme časem, teď nám zatím stačí jednoduché pravidlo “jeden příkaz na řádek”.

My budeme nyní v našem programu chtít naprogramovat proceduru události, která se spustí, když klikneme na naše tlačítko.

Vytvoření procedury události

Dvakrát klikněte v režimu návrhu levým tlačítkem myši na naše tlačítko. Vývojové prostředí se přepne do okna kódu, ve kterém se nám již vytvořila procedura. Pokud se budeme chtít dostat zpět do návrhu formuláře, použijeme záložky v horní části okna a vybereme záložku Form1 [Design].

Okno kódu by mělo obsahovat tento předpřipravený text:

 Public Class Form1 
  
     Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click 
  
  
     End Sub 
 End Class

První a poslední řádek oznamují začátek a konec kódu formuláře. Vše, co je mezi nimi, patří do formuláře Form1. Před Public Class Form1 a za End Class nic nepište.

Vnitřní dva řádky ohraničují proceduru Button1_Click, která se spustí, když klikneme na tlačítko Button1. Kód procedury musíme napsat mezi prostřední dva řádky, jinak se program nespustí a prostředí vypíše chybovou hlášku, že program nelze zkompilovat!

Nyní můžeme zapsat příkaz do procedury Button1_Click. Přesně opište tento řádek, včetně všech závorek a uvozovek:

  MsgBox("Kliknuli jste na tlačítko!") 

Slovo MsgBox je funkce, která zobrazí zprávu uživateli. Každá funkce se spouští (neboli volá) tak, že napíšeme její jméno a do kulaté závorky hned za ní argumenty. Argumenty se vždy uvádí do kulaté závorky hned za název volané funkce a jejich počet se liší podle toho, o jakou funkci jde. Některé funkce dokonce argumenty nepotřebují, v takovém případě napíšeme jen otevírací a uzavírací kulatou závorku, tedy (). Pokud je argumentů více, oddělují se čárkou. Argumenty jsou hodnoty, které upřesňují chování a činnost funkce. Argumentům se také někdy říká parametry.

V tomto případě jsme zavolali funkci MsgBox a předali jsme jí jeden jediný argument, a tím je text Kliknuli jste na tlačítko!. Protože se jedná o text, který se má někam vypisovat, a ne o část příkazu, je nutné jej dát do uvozovek! Funkce MsgBox zobrazuje na obrazovce zprávu a jako argument jsme jí tedy předali text, který se má zobrazit uvnitř této zprávy.

Během psaní se Vám možná objeví žlutý proužek s nějakým anglickým textem. To je inteligentní nápověda jazyka Visual Basic, kterou se později naučíme využívat. Pokud se na ni podíváte pozorněji, uvidíte, že nám anglicky píše, co tato funkce dělá a jaké má mít argumenty. Prozatím si jí ale nemusíte všímat, budeme se jí věnovat později.

 

Spuštění programu

Nyní jsme hotovi. Klávesou F5 můžeme program spustit. Jakmile se program zkompiluje a spustí, objeví se nám okno s tlačítkem, které jsme vytvořili. Pokud na tlačítko kliknete, zobrazí se systémová zpráva s nastaveným textem.

Klikněte na tlačítko a potvrďte přečtení zprávy kliknutím na tlačítko OK. Pak můžete program zavřít. Dokud spuštěný program neukončíte, nemůžete pracovat s prostředím Visual Basicu! Nejdříve musíte spuštěný program zavřít křížkem!

Hlavní okno našeho programu Zpráva vytvořená funkcí MsgBox  

Všimněte si, že naše okno je plně funkční, a chová se jako běžné okno v systému. Dá se měnit jeho velikost, můžeme jej minimalizovat, zobrazuje své tlačítko na hlavním panelu dole atd. Kliknutím na křížek okno můžeme zavřít.

Mezi spuštěním aplikace a zobrazením okna, které se chová tak, jak to naše, je poměrně velká spousta kódu. Je potřeba provést mnoho různých volání nejrozličnějších funkcí v systému, aby se okno zobrazilo. Tento kód ale nemusíme psát my, protože z velké části je napsán v knihovně .NET Frameworku, kterou náš program automaticky používá.

To, co je uvnitř okna, jsme naklikali a natahali myší v návrháři. Ve skutečnosti podle toho, jak jsme komponenty na formulář rozmístili, Visual Basic jen vygeneroval kus zdrojového kódu, který se opět spustil. Je potřeba si uvědomit, že mnoho věcí za nás dělá vývojové prostředí. My jsme napsali jen to, co má program skutečně dělat – po kliknutí na tlačítko zobrazit zprávu. Všechnu režii okolo za nás udělal .NET Framework nebo vývojové prostředí Visual Basic.

Uložení projektu

Svůj projekt si samozřejmě uložte, stačí kliknout na ikonku Save All (Save All, uložit vše) v panelu nástrojů nahoře, nebo stisknout klávesy Ctrl+Shift+S. Objeví se okno, ve kterém si můžete vybrat, kam se má projekt uložit a jak se má jmenovat. Pojmenujte jej třeba Lekce1 a klikněte na tlačítko Save. Tím se projekt uloží.

 Okno uložení projektu

Pokud ukončíte Visual Basic, můžete se ke své práci kdykoliv vrátit, při dalším spuštění Visual Basicu se totiž náš projekt ukáže na úvodní obrazovce v sekci Recent Projects (naposledy otevření projekty) a otevřete jej jednoduchým kliknutím. Samozřejmě můžete použít i možnost Open Project, kde vyberete složku, ve které se projekt nachází. Upozorňuji, že pokud nenastavíte svou vlastní cestu, kam se má projekt uložit, uloží se do složky Visual Studio 2010\Projects, kterou najdete ve složce Dokumenty.

Pokud byste své programátorské pokusy chtěli ukázat svým přátelům, nemusí si instalovat Visual Basic. Stačí, když ve složce, kde je projekt uložen, otevřete podsložku bin/Debug a v ní najdete příslušný EXE soubor. Ten by pro spuštění měl stačit (zatím děláme jednoduché projekty). Pokud aplikace nepůjde na jiném počítači spustit, ujistěte se, že je na něm nainstalován .NET Framework 4.

To je pro tento díl vše. Příště se naučíme měnit hodnoty vlastností komponent za běhu programu a ne jen v režimu návrhu, jako jsme to dělali teď.

 

hodnocení článku

5 bodů / 5 hlasů       Hodnotit mohou jen registrované uživatelé.

 

Všechny díly tohoto seriálu

18. Dědičnost 06.10.2008
17. Objektově orientované programování - základy 30.06.2008
16. Třídy a funkce .NET frameworku, o kterých je dobré vědět 31.12.2007
15. Práce se soubory, úvod do objektově orientovaného programování 19.11.2007
14. Vykreslujeme graf 31.08.2007
13. Úvod do grafiky 27.08.2007
12. Práce s textem a řetězci 17.08.2007
11. Kolekce a pole 27.07.2007
10. Funkce a procedury 01.06.2007
9. Přidáváme druhý formulář 18.05.2007
8. Pole, cykly a práce se soubory 14.05.2007
7. Pole 09.05.2007
6. Cyklus For 05.05.2007
5. Složitější podmínky a rozhodovací struktury 26.04.2007
4. Podmínky a operátory 26.04.2007
3. Proměnné a datové typy 25.04.2007
2. Začínáme programovat 25.04.2007
1. Úvod, vývojové prostředí a základní pojmy 25.04.2007

 

Mohlo by vás také zajímat

Řešené příklady v ASP.NET - díl 1.: Aplikace pro zamlouvání sedadel (část 1)

V této části vytvoříme databázi, napíšeme základní infrastrukturu a nakonfigurujeme přihlašování uživatelů pomocí knihovny Altairis Web Security.

Řešené příklady v ASP.NET - díl 4.: Jak na dlouhotrvající úlohy

Občas potřebujeme ve webových aplikacích provádět dlouhotrvající úlohy, které se nevejdou do jednoho HTTP požadavku. V tomto článku si ukážeme jeden z možných přístupů k řešení tohoto problému.

Windows Presentation Foundation (WPF) - díl 8.: Canvas, StackPanel, WrapPanel

Článek se věnuje dalším široce používaným pozicovacím komponentám WPF. Canvas pro absolutní pozicování, StackPanel pro skládání elementů vedle sebe nebo nad sebe a WrapPanel zalamující jejich tok do řádků nebo sloupců.

 

 

Nový příspěvek

 

Kopírování dlouhých souborů

Dobrý den.
Vytvořil jsem si program na kopírování souborů. Mám však problém. Když kopíruji dlouhé soubory (filmy atd.) tak program nereaguje na příkazy kde vypisuji, který soubor se momentálně kopíruje.
Př.
.
.
.
tbPokec.Text = "Kopíruje se " & poc & "/" & celkem
FileSystem.CopyFile(zdroj, cil, overwrite:=True)
.
.
.
Zobrazení tbPokec.Text se v průběhu kopírování nemění. Vypadá to, že funkce textovému poli vlastně nedá Focus. Mělo by se vlastně objevit třeba
Kopíruje se 13/26
To samé je, když použiji ProgressBar.
nahlásit spamnahlásit spam 0 odpovědětodpovědět

Diskuse: Začínáme programovat

Neviete mi poradit co musim zmenit v nastaveni objektu Tab control aby som zakazal pohyb sipkami a END medzi Tabpage1,2,3...7.

Dik Tmax

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Diskuse: Začínáme programovat

Public Class Form1

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

End Sub

End Class

Poraďte prosím, kam přesně mám tuto část nakopírovat, když v programu chybí. Mám vytvořen formulář Form1 a tlačítko T ( to vše v prostředí Microsoft VisualC++ 2010 Express).

Díky AKu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tohle je Visual Basic, ne C++.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

A prosím vás, myslíte, že bych někde našel odpověď na mou otázku ?

AKu.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Odpověď je ta, že to nejde. V C++ musíte použít úplně jiný kód a celé se to dělá jinak.

Takže buď si nainstalujte Visual Basic 2010 Express a návod bude fungovat, anebo si najděte článek o tom, jak se programuje v C++.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Nejjednoduší způsob je dvojklik na tlačítko, když máte Form1[Desing].

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Diskuse: Začínáme programovat

Po napsání MsgBox("text") mi vypíše, že: The name "MsgBox" does not exist in the current context.

A celé prostředí mi to vypíše takto:

public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            MsgBox("Kliknuli jste na tlačítko!")
        }
    }

Díky za radu nevím v čem je chyba.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Tohle je o Visual Basicu, ne o C#. C# funkci MsgBox nemá, musíte místo toho napsat MessageBox.Show.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Diskuse: Začínáme programovat

Chci jen říct, neboť chváli nikdy není dost, že Vaše tutoriály jsou velmi solidní, srozumitelné a přínosné, klobouk dolů.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Okno, kde je vidět "Kliknuli jste na tlačítko" a tlačítko "OK" je pojmenováno "WindowsApplication1". Je možné tento název nahradit jiným, který bych si sám definoval ?

nahlásit spamnahlásit spam -3 / 3 odpovědětodpovědět

msgbox("text v okně", ,"jméno okna")

nahlásit spamnahlásit spam 2 / 2 odpovědětodpovědět

Diskuse: Začínáme programovat

Nikde som nenašiel ako vytvoriť samostatne spustiteľný exe subor,ktorý by som mohol otvoriť aj na inom pc. V jednom návode bolo,File-make xxx exe ,ale to bolo pre verziu VB 5. ja mam VB 2008 home edition

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

Dejte Build>Build <název projektu> a potom to naleznete ve složce:

<název složky programu>/<znovu>/bin/Release/

nahlásit spamnahlásit spam 0 / 2 odpovědětodpovědět

Diskuse: Začínáme programovat

Mohl byste zde prosím napsat postup, jak třeba z tohoto jednoduchého prográmku vytvořit samospustitelný exe soubor?

Předem děkuji za odpověď.

nahlásit spamnahlásit spam -1 / 1 odpovědětodpovědět

EXE Mas ulozeny v Dokumentech kam se uklada tvuj projekt ve slozce Dokumenty\Visual Studio 2008\Projects\jmeno projektu\jmeno projektu\bin\Release

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Diskuse: Začínáme programovat

Nevim, co delam spatne, ale kdyz si ulozim VB a chci ho znovu otevri, bud klasickym dvouklikem nebo pres open project z VB. Nic se mi nezobrazi.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Diskuse: Začínáme programovat

Mám staženou nejnovější verzi VB 2008, budou mi fungovat všechny kódy z předchozí verze?

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Ano. Verze 2008 je rozšířním verze 2005 - umí to samé + něco navíc.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Diskuse: Začínáme programovat

mám stejný dotaz jako ostatní jo a ještě jde někde stáhnout VB s freeware licencí už předem je mi líto ,že mi VB půjde jenom 30dní.

nahlásit spamnahlásit spam 0 odpovědětodpovědět

Diskuse: Začínáme programovat

Poradíte někdo jak to uložit, abych měl exe soubor?

nahlásit spamnahlásit spam 0 odpovědětodpovědět
                       
Nadpis:
Antispam: Komu se občas házejí perly?
Příspěvek bude publikován pod identitou   anonym.

Nyní zakládáte pod článkem nové diskusní vlákno.
Pokud chcete reagovat na jiný příspěvek, klikněte na tlačítko "Odpovědět" u některého diskusního příspěvku.

Nyní odpovídáte na příspěvek pod článkem. Nebo chcete raději založit nové vlákno?

 

  • Administrátoři si vyhrazují právo komentáře upravovat či mazat bez udání důvodu.
    Mazány budou zejména komentáře obsahující vulgarity nebo porušující pravidla publikování.
  • Pokud nejste zaregistrováni, Vaše IP adresa bude zveřejněna. Pokud s tímto nesouhlasíte, příspěvek neodesílejte.

přihlásit pomocí externího účtu

přihlásit pomocí jména a hesla

Uživatel:
Heslo:

zapomenuté heslo

 

založit nový uživatelský účet

zaregistrujte se

 
zavřít

Nahlásit spam

Opravdu chcete tento příspěvek nahlásit pro porušování pravidel fóra?

Nahlásit Zrušit

Chyba

zavřít

feedback