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

VB - 8. lekceVB - 8. lekce

 

VB - 8. lekce

Google       Google       18. 4. 2005       15 474×

8.1 Procedury
8.2 Vkládání a používání více formulářů
8.3 Používaní „Me“
8.4 With . . . a end with
8.5 CommonDialog – Barvy a Font
8.6 MSDN 8.7 Prvky na prolistování obsahu disku
8.8 Domácí úkol
8.9 V další lekci

Reklama
Reklama

8.1 Procedury

Procedury jsou velmi podobné funkcím, ale ve svém názvu nevracejí žádnou hodnotu, avšak vstupní parametry jim můžeme zadávat také. Stejně jako funkce je záhodno i vlastní procedury psát do modulů.  Můžeme je zapsat třemi způsoby:


Private Sub pozdrav()
  Form1.Print "ahoj"
End Sub

Sub pozdrav()
  Form1.Print "ahoj"
End Sub

Public Sub pozdrav()
  Form1.Print "ahoj"
End Sub

První je privátní funkce a je použitelná pouze ve formuláři nebo v modulu, ve kterém je zapsaná. Další dvě jsou potom veřejné a fungují globálně v celém programu. Pokud to vaše bystré oko nepostřehlo, tak zápis je prakticky stejný jako u funkcí. Pokud budeme používat proceduru, které chceme dát nějaké parametry, potom je zapisujeme stejně jako u funkcí. Rozdíl mezi použitím funkce tkví nejen v možnosti použít návratové hodnoty v jejím názvu, ale také v tom, že funkce se používá především pro výpočty a jednodušší operace, zatímco procedura se používá na kódy, které bývají mnohem delší, které pracují s objekty a velmi často také používají dalších funkcí. Tedy procedury v sobě mohou obsahovat ještě další volání funkcí. Naopak je to méně časté. Většina ostatních věcí je stejných jako u funkcí.

8.2 Vkládání a používání více formulářů

Formuláře se vkládají pomocí: Projekt > Add Project. Tím se zobrazí další formulář. Na ten můžete vkládat další objekty. Formulářů může být mnoho. Na každý můžete vkládat mnoho objektů. Formuláře si mezi sebou předávají proměnné pomocí globálních proměnných. Víc nic k tomu není. Všechno najdete v okně projektu.

8.3 Používaní „Me“ a

Me… Me se používá místo Form1, pokud s tímto formulářem právě pracujete - je aktuální. Pokud pracujete ve formuláři Form2, tak Me nahrazuje Form2. Použití:

Místo


Form1.Caption = "Program"

lze napsat:


Me.Caption = "Program"

Takže nám to trochu zjednodušší kód. Ale žádný zázrak to není.

8.4 With . . .  a End With

Tohle je trochu zajímavější a použitelnější. Pokud některému objektu upravujete víc vlastností nebo s ním pracujete ve větším rozsahu, tak je vhodné použití tohoto zápisu. Příklad uvedu opět na formulář:


With Form1 
  .Left = 100 
  .Top = 100
  .Height = 10000
  .Width = 10000
  .Caption = "Program"
End With

Takto vypadá kód ošetřený With a takto bez něj:


Form1.Left = 100
Form1.Top = 100
Form1.Height = 10000
Form1.Width = 10000
Form1.Caption = "Program"

Tedy ne že by to byla nějaká ohromná úspora kódu, ale program je potom mnohem přehlednější. Používání vřele doporučuji. To by bylo taky vše, myslím, že není potřeba říct nic víc.

8.5 CommonDialog – Barvy a Font

Věřte nevěřte, tato maličkost dokáže zjednodušit vaši práci. Obsahuje totiž pár dialogů, které byste jinak museli sami vytvářet jako samostatné formuláře a nejspíš by vám daly zabrat. Dokáže totiž zobrazit dialog pro výběr barvy fontu, dialog pro uložení a otevření souboru, můžete pomocí něj vybírat tiskárnu a zobrazovat help. Začneme Dialogem pro výběr barev. Než se do něj pustíme, tak potřebujeme na formulář vložit CommonDialog. Ale v ToolBoxu není, takže na ToolBox klikneme pravým tlačítkem myši a z nabídky vybereme Components… V okně Components, které se nám zobrazí, tak v záložce Controls vybereme ze seznamu Microsoft CommonDialog Control 6.0. Zaškrtneme CheckBox o něj a klikneme na OK. Tím se nám v ToolBoxu zobrazí jeho zástupce a my ho vložíme na formulář. Vložíme na něj také tlačítko, na tlačítko poklikáme a do procedury napíšeme, že po kliknutí se nám zobrazí CommonDialog, který nám dá možnost výběru barvy pozadí formuláře. Kód bude vypadat následovně:


Private Sub Command1_Click()
  CommonDialog1.ShowColor
  Form1.BackColor = CommonDialog1.Color
End Sub

Kliknete na tlačítko a kód CommonDialog1.ShowColor zobrazí CommonDialog pro výběr barev a čeká na vaši reakci. Poté, co vyberete nějakou barvu, se následujícím řádkem kódu přemístí do vlastnosti BackColor, což je barva pozadí. Pro ukázku ještě jednou na něčem jiném, třeba na našem tlačítku.


Private Sub Command1_Click()
  CommonDialog1.ShowColor
  Command1.BackColor = CommonDialog1.Color
End Sub

A nezapomeňte nastavit vlastnost tlačítka Style na Graphical. To je tak k barvám a teď se podíváme na fonty.

Zde je kousek kódu, který nám umožní výběr fontu, barvy, velikosti a dalších vlastností písma.


Private Sub Label1_Click()
  CommonDialog1.Flags = cdlCFEffects Or cdlCFBoth
  CommonDialog1.ShowFont
  Label1.FontSize = CommonDialog1.FontSize
  Label1.FontBold = CommonDialog1.FontBold
  Label1.FontItalic = CommonDialog1.FontItalic
  Label1.FontStrikethru = CommonDialog1.FontStrikethru
  Label1.FontUnderline = CommonDialog1.FontUnderline
  Label1.FontName = CommonDialog1.FontName
  Label1.ForeColor = CommonDialog1.Color
End Sub

Tento kód nám po kliknutí na Label umožní změnit vlastnosti jeho písma, ale první řádek nás trochu zdrží. Obsahuje vlastně nastavení toho, co se má v CommonDialogu zobrazit a jak Flags znamená v překladu vlajka, ale to není důležité. Důležité je, že tato vlastnost nám umožňuje nastavit, co a jak se má zobrazit, nebo co a jak má být. Tento CommonDialog jako jediný musí mít Flag, aby se zobrazil. Zde jsou ale zapsány dva Flagy, první sice ne první, ale ten důležitější cdlCFBoth umožní načtení písem, a ten druhý cdlCFEffects zvětší možnosti nastavení písma. Oba jsou od sebe odděleny slovíčkem OR.  Těchto Flagů je mnohem víc, ale zabývat se jimi teď nebudeme. Pokud byste měli zájem a máte přístup k internetu, je dobré využít nápovědy MSDN. O ní se zmíním v další části kapitoly. Další vlastnosti CommonDialogu si popíšeme až časem, kdy je budeme potřebovat a kdy je budeme moci použít.

8.6 MSDN – Nápověda Online

MSDN - pokud jste šťastnými majiteli 2CD, na kterých je nápověda k celému Visual Studiu, tak jich můžete využít. Pokud k nim ale nepatříte, tak můžete využít nápovědy on-line. Adresa je: http://msdn.microsoft.com/vbasic/. Je tam prakticky vše, nevýhodou je angličtina. Je tam pole pro vyhledávání, do kterého stačí zadat klíčové slovo nebo sentenci, a povětšinou se podaří najít hledané. Je zde nápověda i pro ostatní jazyky Visual Studia. Tato nápověda může pomoci jak profesionálům a pokročilým, tak i začátečníkům. Ještě bych se chtěl vrátit k možnostem Flagů, protože není problém další Flagy najít na MSDN.

8.7 Prvky na prolistování obsahu disku

Dostáváme se do závěrečné části dnešní lekce a tu tvoří prvky k prolistování obsahu disku, k nim si přidáme ještě drobnou ukázku využití ImageBoxu, protože si uděláme prohlížeč obrázků. Není to nic složitého, stačí myslet. Tak se pusťme do myšlení a začněme rozebráním následujícího kódu. Prvky se jmenují  DriveListBox DirListBox a FileListBox. Každý z nich si po jednom umístíme na formulář, přidejte jeden ImageBox a jeden Label. Zapište následující kód.


Private Sub Dir1_Change()
  File1.Path = Dir1.Path 'pokud změníte složku
                         'tak se změní i obsah FileListBoxu
  Label1.Caption = File1.Path 'změna v obsahu ukazatele plné 
                              'cesty kterým je Label1
End Sub

Private Sub Drive1_Change()
  Dir1.Path = Drive1.Drive 'Vyberete mechaniku a tím 
                           'se změní obsah složek v 
                           'DirlistBoxu
  File1.Path = Dir1.Path 'A následně se změní i obsah 
                         'FileListBoxu
  Label1.Caption = File1.Path 'změna v obsahu ukazatele 
                              'plné cesty kterým je Label1
End Sub

Private Sub File1_Click()
  Image1.Stretch = True 'zapnte možnost ať se obrázek 
                        'přizpůsobí velikosti ImageBoxu
  Image1.Picture = LoadPicture(File1.Path & "\" & _ 
File1.FileName) 'Tímto zadáte celou cestu k 
                'obráku i se jménem souboru. 
'obrázek se načte do Image.
  Label1.Caption = File1.Path & "\" & _ 
File1.FileName 'změna v obsahu ukazatele plné cesty kterým 
                     'je Label1
End Sub

Private Sub Form_Load()
  File1.Pattern = "*.jpg; *.gif; *.bmp; _
 *.dib; *.wmf" 'Omezíte možnost výběru 
                    'složky pouze na tyto druhy 
                    'obrázků. Jiné Visual Basic 
                    'bez zvláštních knihoven 
                    'nepodporuje.
  Label1.Caption = File1.Path & "\" & _ 
File1.FileName 'načtete prvotní informaci do 
               'ukazatele cesty
End Sub 

To by byl kód jednoduchého prohlížeče obrázků. Zde je ukázáno využití prvků FileListBox, DirListBox a DriveListBox. Já osobně tyto prvky moc nedoporučuji a radil bych spíš využití CommonDialogu. Ušetříte si tak spoustu kódů. No ale už vás nehodlám zdržovat výkladem, tak se pustíme do domácího úkolu. Bacha na chybu, pokud se třeba přepnete na mechaniku E a nemáte v ní disk, tak vám to vyhodí chybu, ale o tom v příští lekci.

Ještě jsem téměř zapomněl, a tak se vrátím k funkci Pattern. Ta nám umožňuje zobrazovat pouze vybrané typy souborů. Můžeme jich použít i několik. Všechny jsou v jedněch uvozovkách a oddělují  se středníkem. Takto:

File1.Pattern = "*.jpg; *.gif; *.bmp; *.dib; *.wmf"

Můžeme použít i otazníky, které nahrazují každý jeden znak, anebo hvězdičky, které zastupují různý počet znaků. Třeba B*.??F je každý soubor, který začíná na B a jeho přípona je na tři písmena a končí na F.

8.8 Domácí úkol

Za domácí úkol bude vytvoření prohlížeče obrázků, ale nebude ledajaký. Zaprvé - pokud kliknete na Label, tak budete moci pomoci CommonDialogu změnit jeho barvu. Prvky se na formuláři rozmístí až po startu programu, a to pomocí procedury, kterou zavoláte z Form_Load tak, že když já si váš program pustím, tak uvidím prvky přesně tak rozmístěné, jako je máte vy. Budete si moci změnit barvu pozadí formuláře, a to též pomocí CommonDialogu.

8.9 V další lekci

CommonDialog pokračování, odchytávání chyb, barvy, datum a čas, reakce na stisknutí různých tlačítek myši nebo kláves a Pop up Menu.

×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 NEWTON Media prohledá 200  milionů mediálních zpráv během sekund díky Cisco UCS

NEWTON Media prohledá 200 milionů mediálních zpráv během sekund díky Cisco UCS

Česká společnost NEWTON Media provozuje největší archiv mediálních zpráv ve střední a východní Evropě. Mezi její zákazníky patří například ministerstva, evropské instituce nebo komerční firmy z nejrůznějších oborů. NEWTON Media rozesílá svým zákazníkům každý den monitoring médií podle nastavených klíčových slov a nabízí online službu, kde lze vyhledat mediální výstupy v plném znění od roku 1996.

Reklama
Reklama
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.

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.

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ý