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

VB – 41. lekceVB – 41. lekce

 

VB – 41. lekce

Google       Google       7. 3. 2006       12 752×

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

Reklama
Reklama
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 Delphi 10.1.2 (Berlin Update 2) – na co se můžeme těšit

Delphi 10.1.2 (Berlin Update 2) – na co se můžeme těšit

Touto roční dobou, kdy je zem pokrytá barevným listím a prsty křehnou v mrazivých ránech, se obvykle těšíme na zbrusu novou verzi RAD Studia. Letos si však ale budeme muset počkat na Godzillu a Linux až do jara. Vezměme tedy za vděk alespoň updatem 2 a jelikož dle vyjádření pánů z Embarcadero se budou nové věci objevovat průběžně, pojďme se na to tedy podívat.

Reklama
Reklama
Obrázek ke článku Konference: Moderní datová centra pro byznys dneška se koná už 24. 11.

Konference: Moderní datová centra pro byznys dneška se koná už 24. 11.

Stále rostoucí zájem o cloudové služby i maximální důraz na pružnost, spolehlivost a bezpečnost IT vedou k výrazným inovacím v datových centrech. V infrastruktuře datových center hraje stále významnější roli software a stále častěji se lze setkat s hybridními přístupy k jejich budování i provozu.

Obrázek ke článku Konference: Mobilní technologie mají velký potenciál pro byznys

Konference: Mobilní technologie mají velký potenciál pro byznys

Firmy by se podle analytiků společnosti Gartner měly  rychle přizpůsobit skutečnosti, že mobilní technologie už zdaleka nejsou horkou novinkou, ale standardní součástí byznysu. I přesto - nebo možná právě proto - tu nabízejí velký potenciál. Kde tedy jsou ty největší příležitosti? I tomu se bude věnovat již čtvrtý ročník úspěšné konference Mobilní řešení pro business.

Obrázek ke článku Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres přiveze v září do Prahy špičky světové kryptoanarchie

Hackerský kongres HCPP16 pořádá od 30. září do 2. října nezisková organizace Paralelní Polis již potřetí, a to ve stejnojmenném bitcoinovém prostoru v pražských Holešovicích. Letos přiveze na třídenní konferenci přes 40 většinou zahraničních speakerů – lídrů z oblastí technologií, decentralizované ekonomiky, politických umění a aktivismu. Náměty jejich přednášek budou také hacking, kryptoměny, věda, svoboda nebo kryptoanarchie.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032016 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý