Jan Èihák
Lucie Knejpová
Lucie Pelikánová
VISUAL BASIC sbírka øeených pøíkladù
Praha 1998, BEN
Pøíruèka je urèena pøedevím zaèáteèníkùm, u kterých se nepøedpokládá znalost nìjakého programovacího jazyk, pouze minimální zkuenost se systémem Windows. Ke knize je pøiloena disketa se zdrojovými kódy øeených pøíkladù.
Jan Èihák, Lucie Knejpová, Lucie Pelikánová
VISUAL BASIC - sbírka øeených pøíkladù Bez pøedchozího písemného svolení nakladatelství nesmí být kterákoli èást kopírována nebo rozmnoována jakoukoli formou (tisk, fotokopie, mikrofilm nebo jiný postup), zadána do informaèního systému nebo pøenáena v jiné formì èi jinými prostøedky. Autoøi a nakladatelství nepøejímají záruku za správnost titìných materiálù. Pøedkládané informace jsou zveøejnìny bez ohledu na pøípadné patenty tøetích osob. Nároky na odkodnìní na základì zmìn, chyb nebo vynechání jsou zásadnì vylouèeny. Vekerá práva vyhrazena. © Jan Èihák, Lucie Knejpová, Lucie Pelikánová, Praha 1998 Nakladatelství BEN - technická literatura Jan Èihák, Lucie Knejpová, Lucie Pelikánová: Visual Basic - sbírka øeených pøíkladù BEN - technická literatura, Praha 1998 1. vydání
ISBN 80-86056-40-6
OBSAH ÚVOD ............................................................................................................... 11 Zavedené konvence ....................................................................................... 12 Verze programovacího jazyka Visual Basic ................................................ 12 1. Pøivítání s poèítaèem .............................................................................. 13 Prostøedí Visual Basicu ......................................................................... 13 Prvky na formuláøi .................................................................................. 14 Vlastnosti prvkù ..................................................................................... 16 Tvorba programu ................................................................................... 16 Uloení projektu .................................................................................. 18 Námìty na samostatnou práci .................................................................. 19 Shrnutí ...................................................................................................... 19 2. Heslo ........................................................................................................ 21 Popis programu ........................................................................................ 21 Prvky na formuláøi .................................................................................. 22 Vlastnosti prvkù ..................................................................................... 22 Pomocný výklad .................................................................................... 22 Pravidla pro psaní pøíkazù .................................................................. 22 Podmínìný pøíkaz .............................................................................. 23 Prvek MessageBox ............................................................................ 23 Tvorba programu ................................................................................... 25 Psaní komentáøù ................................................................................ 25 Námìty na samostatnou práci .................................................................. 26 Shrnutí ...................................................................................................... 26 3. Motýlci ..................................................................................................... 27 Popis programu ........................................................................................ 27 Prvky na formuláøi .................................................................................. 27 Vkládání obrázkù prvkem PictureBox ................................................ 27 Vlastnosti prvkù ..................................................................................... 28 Pomocný výklad .................................................................................... 28 Prvek Timer ........................................................................................ 28 Promìnné ........................................................................................... 29 Tvorba programu ................................................................................... 30 Mávání køídel ...................................................................................... 30 Pomocný výklad .................................................................................... 31 Ladìní programu ................................................................................ 31 Objekty ve Visual Basicu .................................................................... 32 Pokraèování v tvorbì programu ......................................................... 33 Námìty na samostatnou práci .................................................................. 35 Shrnutí ...................................................................................................... 35 Obsah
3
4.
5.
6.
4
Budík ........................................................................................................ 37 Popis programu ........................................................................................ 37 Prvky na formuláøi .................................................................................. 37 Vlastnosti prvkù ..................................................................................... 38 Pomocný výklad .................................................................................... 38 Logické operátory ............................................................................... 38 Tvorba programu ................................................................................... 38 Nastavení èasu ................................................................................... 38 Zjiování aktuálního èasu ................................................................. 39 Celý program ...................................................................................... 40 Vytvoøení souboru .EXE ..................................................................... 40 Návrhy na samostatnou práci ................................................................... 41 Shrnutí ...................................................................................................... 41 Cihlová zeï ............................................................................................. 43 Popis programu ........................................................................................ 43 Prvky na formuláøi .................................................................................. 44 Vlastnosti prvkù ..................................................................................... 44 Pomocný výklad .................................................................................... 45 Ovládací prvek Image ........................................................................ 45 Vkládání prvkù za bìhu programu ..................................................... 45 Operace mod ...................................................................................... 46 Tvorba programu ................................................................................... 46 Námìty na samostatnou práci .................................................................. 47 Shrnutí ...................................................................................................... 47 Výpoèet povrchu a objemu .................................................................... 49 Popis programu ........................................................................................ 49 Prvky na formuláøi .................................................................................. 50 Vlastnosti prvkù ..................................................................................... 50 Pomocný výklad ....................................................................................... 51 Konstanty ............................................................................................ 51 Cyklus For .......................................................................................... 51 Cyklus While ....................................................................................... 51 Tvorba programu ................................................................................... 52 Výpoèet hodnot objemu a obsahu ...................................................... 52 Výbìr tìlesa ........................................................................................ 52 Select Case ........................................................................................ 53 Formát výstupu ................................................................................... 54 Aktivace prvkù (pøiøazení focusu) ....................................................... 55 Inicializace .......................................................................................... 55 Kontrola vstupù pøes prvky TextBox ................................................... 55 Námìty na samostatnou práci .................................................................. 58 Shrnutí ...................................................................................................... 58 Visual Basic - sbírka øeených pøíkladù
7.
8.
9.
Tabule - malý kreslIcí program .............................................................. 59 Popis programu ........................................................................................ 59 Vlastnosti formuláøe ............................................................................... 60 Pomocný výklad .................................................................................... 60 Kreslení bodu ..................................................................................... 60 Kreslení èáry ....................................................................................... 61 Tvorba programu ................................................................................... 61 Události generované myí .................................................................. 61 Vytváøení nabídky ............................................................................... 64 Nabídka ................................................................................................. 64 Ovládání nabídky ............................................................................... 64 Námìty na samostatnou práci .................................................................. 66 Shrnutí ...................................................................................................... 66 Kalkulaèka ............................................................................................... 67 Popis programu ........................................................................................ 67 Prvky na formuláøi .................................................................................. 67 Vlastnosti prvkù ..................................................................................... 68 Tvorba programu ................................................................................... 68 Nakreslení kalkulaèky ......................................................................... 68 Zobrazování èísel ............................................................................... 69 Vyhodnocení ....................................................................................... 70 Zadávání reálných èísel ..................................................................... 71 Zabránìní bìhové chyby .................................................................... 71 Zadávání pomocí klávesnice .............................................................. 72 Námìty na samostatnou práci .................................................................. 73 Shrnutí ...................................................................................................... 73 Pøevody kurzù ......................................................................................... 75 Popis programu ........................................................................................ 75 Prvky na formuláøi .................................................................................. 76 Vlastnosti prvkù ..................................................................................... 76 Pomocný výklad .................................................................................... 77 Ovládací prvek ComboBox ................................................................. 77 Pole .................................................................................................... 77 Naètení obrázku ze souboru .............................................................. 78 Práce se standardními moduly ........................................................... 78 Práce se soubory ............................................................................... 79 Tvorba programu ................................................................................... 80 Pomocný výklad .................................................................................... 81 Práce s více formuláøi ......................................................................... 81 Pouití dalích cyklù ........................................................................... 82 Tvorba programu ................................................................................... 82 Námìty na samostatnou práci .................................................................. 84 Shrnutí ...................................................................................................... 84 Obsah
5
10. Stopky ...................................................................................................... 85 Popis programu ........................................................................................ 85 Prvky na formuláøi .................................................................................. 86 Vlastnosti prvkù ..................................................................................... 86 Pomocný výklad .................................................................................... 87 Ovládací prvek ListBox ....................................................................... 87 Vytvoøení nové instance ..................................................................... 87 Tvorba programu ................................................................................... 87 Námìty na samostatnou práci .................................................................. 90 Shrnutí ...................................................................................................... 90 11. Logik ........................................................................................................ 91 Popis programu ........................................................................................ 92 Vlastnosti prvkù ..................................................................................... 92 Prvky na formuláøi .................................................................................. 93 Pomocný výklad .................................................................................... 94 Náhodná èísla ..................................................................................... 94 Vlastní procedury s parametrem ........................................................ 94 Tvorba programu ................................................................................... 95 Námìty na samostatnou práci ................................................................ 101 Shrnutí .................................................................................................... 101 12. Prohlíeè rastrových obrázkù ............................................................ 103 Popis programu ...................................................................................... 103 Prvky na formuláøi ................................................................................ 104 Vlastnosti prvkù ................................................................................... 104 Nabídka programu ............................................................................... 104 Pomocný výklad .................................................................................. 104 Pouití metody pro vykreslení obrázku ............................................ 104 Pouití prvku Common Dialog pro otevøení souboru ....................... 105 Tvorba programu ................................................................................. 106 Otevøení obrázku .............................................................................. 106 Zmìna velikosti okna ........................................................................ 106 Zmìna polohy posuvníku ................................................................. 108 Také máte rádi pohodlí? ................................................................... 108 Námìty na samostatnou práci ................................................................ 110 Shrnutí .................................................................................................... 110 13. Adresáø .................................................................................................. 111 Popis programu ...................................................................................... 111 Krátká exkurze do databází ................................................................. 111 Databázové objekty ve Visual Basicu .............................................. 112
6
Visual Basic - sbírka øeených pøíkladù
Prvky na formuláøi ................................................................................ 112 Vlastnosti prvkù ................................................................................... 113 Tvorba programu ................................................................................. 113 Námìty na samostatnou práci ................................................................ 119 Shrnutí .................................................................................................... 119 14. Puzzle ..................................................................................................... 121 Popis programu ...................................................................................... 121 Vlastnosti prvkù ................................................................................... 121 Prvky na formuláøi ................................................................................ 122 Nabídka programu ............................................................................... 122 Pomocný výklad .................................................................................. 122 Drag and drop ................................................................................... 122 Uivatelsky definované typy ............................................................. 123 Tvorba programu .................................................................................... 124 Vytvoøení políèek s èástmi obrázku .................................................. 124 Pøesuny obrázkù .............................................................................. 124 Datová struktura pro rozmístìní prvkù na formuláøi ......................... 125 Promíchání ....................................................................................... 125 Kontrola sloení ................................................................................ 126 Pøidání nápovìdy ............................................................................. 126 Pøidání okna pro nastavení poètu øádkù a sloupcù .......................... 127 Výbìr obrázku .................................................................................. 129 Námìty na samostatnou práci ................................................................ 130 Shrnutí .................................................................................................... 130 15. Patnáctka ............................................................................................... 131 Popis programu ...................................................................................... 131 Prvky na formuláøi ................................................................................ 131 Vlastnosti prvkù ................................................................................... 132 Nabídka programu ............................................................................... 132 Pomocný výklad .................................................................................. 132 DoEvents .......................................................................................... 133 Tvorba programu ................................................................................. 133 Deklarace globálních promìnných ................................................... 133 Nakreslení kostièek .......................................................................... 133 Posun kostièky .................................................................................. 134 Test pro posunutí .............................................................................. 135 Rozházení kostièek ........................................................................ 136 Kontrola uspoøádání ......................................................................... 137 Námìty na samostatnou práci ................................................................ 138 Shrnutí .................................................................................................... 138
Obsah
7
16. Míèek v kleci .......................................................................................... 139 Popis programu ...................................................................................... 140 Prvky na formuláøi ................................................................................ 140 Vlastnosti prvkù ................................................................................... 140 Nabídka programu ............................................................................... 141 Nabídka MDI formuláøe Plocha ........................................................ 141 Nabídka formuláøe Klec .................................................................... 141 Pomocný výklad .................................................................................. 141 MDI formuláø ..................................................................................... 141 Dceøiné MDI formuláøe ..................................................................... 142 Klíèové slovo Me .............................................................................. 142 Vlastnosti ActiveForm a ActiveControl ............................................. 142 Parametr WindowList ve vlastnostech nabídky ................................ 142 Základní rysy rozhraní MDI .............................................................. 142 Tvorba programu ................................................................................. 143 Sputìní MDI aplikace ..................................................................... 143 Vyrovnávání dceøiných oken a ikon .................................................. 143 Míèek v kleci ..................................................................................... 144 Námìty na samostatnou práci ................................................................ 146 Shrnutí .................................................................................................... 146 17. Hodiny .................................................................................................... 147 Popis programu ...................................................................................... 147 Prvky na formuláøi ................................................................................ 148 Vlastnosti prvkù ................................................................................... 148 Pomocný výklad .................................................................................. 149 Tvorba programu ................................................................................. 150 Kontextová nabídka ............................................................................. 152 Pouití API funkcí ve Visual Basicu ..................................................... 153 Námìty na samostatnou práci ................................................................ 156 Shrnutí .................................................................................................... 156 18. Kreslení .................................................................................................. 157 Popis programu ...................................................................................... 157 Prvky na formuláøi ................................................................................ 158 Vlastnosti prvkù ................................................................................... 158 Nabídka programu ............................................................................... 158 Pomocný výklad .................................................................................. 159 Kreslení krunice .............................................................................. 159 Pouití plných barev ......................................................................... 160 Implicitní vlastnosti kreslení grafických obrazcù .............................. 160
8
Visual Basic - sbírka øeených pøíkladù
Pouití pøíkazu Xor k vymazání geometrického obrazce ................. 160 Tvorba programu ................................................................................. 161 Procedury zajiující vykreslování obrazcù ...................................... 161 Vykreslení úseèky ............................................................................. 161 Vykreslení obdélníku a ètverce ........................................................ 161 Vykreslení elipsy a krunice ............................................................. 162 Myí události ..................................................................................... 163 Otevøení a uloení obrázku .............................................................. 165 Námìty na samostatnou práci ................................................................ 166 Shrnutí .................................................................................................... 166 19. Poznámkový blok ................................................................................. 167 Popis programu ...................................................................................... 167 Prvky na formuláøi ................................................................................ 168 Vlastnosti prvkù ................................................................................... 168 Nabídka ............................................................................................... 168 Pomocný výklad .................................................................................. 169 Práce se standardními moduly ......................................................... 169 Práce se schránkou (Clipboard) ....................................................... 170 Tvorba Programu ................................................................................. 170 Ukládání souboru na disk ................................................................. 170 Práce s prvkem CommonDialog ...................................................... 172 Pouívání schránky (Clipboard) ....................................................... 175 Námìty na samostatnou práci ................................................................ 176 Shrnutí .................................................................................................... 176 20. Multimédia ............................................................................................. 177 Popis programù ...................................................................................... 177 Pøehrávaè CD ......................................................................................... 177 Prvky na formuláøi ................................................................................ 177 Microsoft Multimedia Control - vlastnosti ............................................. 178 Vlastnosti prvkù ................................................................................... 179 Tvorba programu ................................................................................. 180 Pøehrávaè záznamù ................................................................................ 181 Prvky na formuláøi ................................................................................ 181 Vlastnosti prvkù ................................................................................... 181 Nabídka programu ............................................................................... 182 Tvorba programu ................................................................................. 182 Námìty na samostatnou práci ................................................................ 184 Shrnutí .................................................................................................... 184
Obsah
9
21. RTF-Editor ............................................................................................. 185 Popis programu ...................................................................................... 185 Prvky na formuláøi ................................................................................ 186 Pomocný výklad .................................................................................. 187 RichTextBox ...................................................................................... 187 Nástrojová lita s tlaèítky .................................................................. 188 Stavová lita ..................................................................................... 189 Systémová registraèní databáze ...................................................... 190 Tvorba programu ................................................................................. 190 Kód ve spoutìcím formuláøi - frmMDI ............................................. 190 Kód v dceøiném formuláøi frmEdit .................................................. 193 Kód ve standardním modulu Funkce.bas ...................................... 198 Kód ve formuláøi (dialogovém oknì) - frmNajdi ................................ 204 Shrnutí .................................................................................................... 205 REJSTØÍK ..................................................................................................... 206
10
Visual Basic - sbírka øeených pøíkladù
ÚVOD Do ruky se vám dostává sbírka øeených pøíkladù v programovacím jazyce Visual Basic. Sbírka je vhodnou pomùckou pro úplné zaèáteèníky, kteøí se chtìjí nauèit programovat ve Visual Basicu. U ètenáøe nepøedpokládáme znalost ádného programovacího jazyka, pouze minimální zkuenost s prací se systémem Microsoft Windows. Doufáme, e tato kniha poslouí i zkuenìjím programátorùm, kteøí se chtìjí nauèit tento jazyk. Kniha je zámìrnì napsána formou sbírky pøíkladù, nebo se domníváme, e z pøíkladù se dané problematice rychleji porozumí. Sbírka mùe poslouit i jako uèebnice jazyka Visual Basic, protoe vechny pouité pojmy a pøíkazy jsou v knize vysvìtleny. Pøíklady plynule pøecházejí od nejjednoduích aplikací k nároènìjím jako napøíklad Poznámkový blok, Pøehrávaè multimédií, Prohlíeè obrázkù a dalí. Tvorba aplikací je v prvních kapitolách podrobnì popisována a doplnìna kompletním zdrojovým kódem aplikace. V prvním pøíkladì je navíc uveden popis prostøedí Visual Basicu. Postupnì se od podrobného výkladu upoutí, jsou uvádìny jen hlavní mylenky programu a výklad je zamìøen na problematická místa, jejich øeení nebylo v knize jetì uvedeno. Vechny zdrojové kódy øeených pøíkladù jsou k dispozici na pøiloené disketì. Pøíklady byly naprogramovány v jazyce Visual Basic verze 4.0, nebo tato verze je v souèasné dobì nejrozíøenìjí a navíc vechny pøíklady lze spoutìt v novìjí verzi 5.0.
Úvod
11