VB – 41. lekce
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu

VB – 41. lekceVB – 41. lekce

 

VB – 41. lekce

Google       Google       7. 3. 2006       16 291×

41.1 Událost validate
41.2 Výpustka
41.3 TabIndex
41.4 Hranaté závorky a názvy objektů
41.5 Rychlokomentování
41.6 Přednosti a překrývání
41.7 Funkce Static
41.8 Vlastnost Container
41.9 Domácí úkol
41.10 V další lekci

41.1 Událost validate

Událost validate – co to je, k čemu to použít a kdy nastane? Tak zaprvé se podíváme na to, k čemu se používá. Používá se tedy ke kontrole zadaných dat, nejčastěji se používají u textboxů. Aby tato událost nastala, musí být nastavena vlastnost CausesValidation. Tato událost nastává ještě předtím, než nastane událost LostFokus. To znamená, že uvedeme tento kód:


Private Sub Text1_Validate(Cancel As Boolean)
    Cancel = True
End Sub

K události LostFokus vůbec nedojde a tudíž se vlastně nestane nic jiného. Kód pak můžet upravit třeba takto:


Private Sub Text1_Validate(Cancel As Boolean)
    If cokoliv = cemukoliv Then
        Text1.Text = "nesprávný údaj"
        Cancel = True
    End If
End Sub

Tím bychom měli problematiku události Validate za sebou.

41.2 Výpustka

Opět se podíváme na to, kdy se používá, kde se používá a co znamená. Výpustka jsou ty tři tečky v menu, pokud víte, co myslím. Pokud jsou za nějakým slovem v nabídce tři tečky, čili výpustka upozorňuje to uživatele, že po stisknutí tohoto tlačítka se mu objeví nejspíš nějaký dialog s nastavením. Tak se liší třeba tlačítko Tisk a tlačítko Tisk…. Pokud tedy stisknete tlačítko Tisk, vytiskne se vám dokument přímo, podle implicitního nastavení. Stiskem tlačítka Tisk… se vám zobrazí dialog, kde si můžete vybrat jak tiskárnu, na které budete tisknout, tak i ostatní nastavení tisku.

41.3 TabIndex

TabIndex je pořadí, po kterém se posouvá fokus při stisku tlačítka TAB. Prvek, který je jako první vložený na formulář a může získat fokus, má TabIndex nastaven na 0, druhý na 1 atd. Pokud některý zněmíte, ostatní se automaticky posunou. Jak, to si zkuste sami. TabIndexu můžete využít například když jste vložili objekty na formulář v jiném pořadí, než jste chtěli. Nebo pokud objekty na formuláři přeskupujete. K tomu bych dodal jednu věc – dříve než formulář začnete tvořit naostro, je vhodné si ho navrhnout, třeba na papír anebo v nějakém projektu jen tak a už tam si určit tabulovací pořadí. Pokud si děláte nějakou aplikaci jen pro osobní použití, tak vám to bude nejspíš jedno, ale pokud děláte aplikace, které chcete vypustit mezi lidi, tak se tím trochu řiďte, jsou totiž lidé, kteří ovládání na klávesnici preferují.

41.4 Hranaté závorky a názvy objektů

Pokud máte v úmyslu pojmenovat nějaký objekt podle klíčového slova, je to možné, ale nedoporučuji to. V některých případech se to ale může hodit. Pro to, abyste s takovým objektem mohli pracovat v kódu, je jeho jméno nutné uvést do hranatých závorek.


Private Sub Print_Click()
    [Print].Caption = " ahoj "
    [EndIf].Caption = "nevim"
    [Or].Default = True
End Sub

Ale jak říkám, tomuto se raději vyhýbejte.

41.5 Rychlokomentování.

Pokud potřebujete část kódu označit jako komentář (třeba při testování), je dobré použít tlačítko Comment Block a Uncomment Block, když chcete blok okomentovat. To je tak vše, co jsem vám v této minikapitolce rychlokomentování chtěl sdělit.

41.6 Přednosti a překrývání.

Tohle je také zajímavá kapitola, které se třeba u jazyků C++ věnuje mnohem více času než tady. Ale něco málo si řekneme.

Proměnné se mohou překrývat, znamená to, že mám veřejnou lokální proměnné. Veřejná proměnná platí všude, pokud ji některá proměnná, která je lokálnější, nepřekryje. Pokud tedy bude mít proceduru, ve které bude deklarována proměnná se stejným jménem, bude se v této proceduře pracovat s proměnnou, která je lokální, ale jakmile proceduru opustíme, tak pracuje zase s veřejnou proměnnou. Zbytek vyjádřím v kódu:


Private Sub Command1_Click()
    Dim xy As Long
    xy = xy + 1
    Print xy
End Sub

Private Sub Command2_Click()
    Static xy As Long
    xy = xy + 1
    Print xy
End Sub

Private Sub Command3_Click()
    Print xy
End Sub

Private Sub Form_Load()
    xy = 7
End Sub
41.7 Funkce Static

Tak tahle věc se vám může hodit. Pokud totiž vytvoříte nějakou funkci, která bude statická, stanou se statické i všechny proměnné, které obsahuje. Viz kód.


Static Function GetSerial()
    Dim a As Long
    Dim b As Long
    Dim c As Long
    Dim d As Long
    a = a + 1
    If a = 20 Then b = b + 1: a = 0
    'atd
    GetSerial = a & "_" & b & "_" & c & "_" & d
End Function

Nemusíte tedy deklarovat proměnné jako statické. I když myslím, že tolik práce to zase není, ale pro vás může být informační charakter to, že je celá funkce statická. Slovo static může být i před procedurou.

41.8 Vlastnost Container

Poslední, na co se v tomto díle podíváme, je vlastnost Container. Je to jedna z vlastností, kterou můžeme upravovat pouze za běhu aplikace. To, co jsem teď napsal, není tak stoprocentní. Ano, my tuto vlastnost nemůžeme nastavit v okně Properties. Ale můžeme toho dosáhnout přemístěním ovládacích prvků do, nebo mimo kontejnerový prvek. To ale nejde běžnou technikou, tedy přetáhnutím, ale musíme využít Ctrl+X a Ctrl+V anebo nabídku vyjmout a vložit. Vlastnost můžeme upravovat například takto:


Private Sub Command1_Click()
    Set Command1.Container = Picture1
    Command1.Left = 1
    Command1.Top = 1
End Sub

Private Sub Command3_Click()
    Set Command1.Container = Form1
    Command1.Left = 1
    Command1.Top = 1
End Sub

Je nezbytné používat klíčové slovo Set. Proč? Na to vám odpovím v několika kapitolách, které budou zaměřené na OOP (Objektově orientované programování), tj. tvorba tříd, objektů, zapouzdření dat atd.

41.9 Domácí úkol

Vytvořte program, který využívá při zadávání dat události Validate a užívá static funkcí.

41.10 V další lekci

Pokud bude nálada, tak snad SQL ve VB

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

3 názory  —  3 nové  
Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Jiří ChytilAutor programuje ve VB, zajímá se o elektrotechniku, studuje na SOŠ Elektrotechnické - obor číslicová technika.
Web    

Nové články

Obrázek ke článku Stavebnice umělé inteligence 1

Stavebnice umělé inteligence 1

Článek popisuje první část stavebnice umělé inteligence. Obsahuje lineární a plošnou optimalizaci.  Demo verzi je možné použít pro výuku i zájmovou činnost. Profesionální verze je určena pro vývojáře, kteří chtějí integrovat popsané moduly do svých systémů.

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý