VISUAL BASIC PRALG
19. Chyby a ladění programu Kompilační chyby - chybná syntaxe, neexistující objekt, chybný parametr,... Run-time chyby - dochází k nim za běhu programu, odkazování se na neexistující objekt, … Logické chyby - nejhůře odstranitelné
Ladění programu Ladit program znamená plánovitě hledat a odstraňovat především jeho logické chyby Při chybě: Continue - pokračovat (jen při malých chybách) End - ukončit běh programu Debug - ladit program, program se přepne na řádek, kde nastala chyba Help - zobrazit detailnější výpis chyby a její možné příčiny
Zarážky Zarážky neboli body přerušení označují řádky – kde se vykonávání programu přeruší nastavují se klepnutím myši na šedý okraj vedle řádku Umístění zarážek: před rozvětvení programu do všech větví, které připadají v úvahu
Okno Local, Okno Watches LOCALS- sleduje všechny proměnné Watches - pro sledování určité proměnné nebo výrazu proměnné, které mají být sledovány se přidávají příkazem Add Watch
Okno Immediate Pro testování řádků kódu. Lze jej používat jak v návrhovém režimu, tak v režimu přerušení.
Odchytávání chyb za běhu programu Run – time chyby Příkaz On Error GoTo Kam zařadit? Na začátek procedury, před místo kdy mohou nastat chyby
Run-time chyby On Error GoTo řádek/návěští Aktivuje se řádek s chybovou rutinou On Error Resume Next Pokračuje následujícím řádkem On Error GoTo 0 – deaktivuje chybovou rutinu Pozor neznamená skok na řádek 0 ! Kód chyby se vrací v Err.Number – Integer Objekt, který způsobil chybu - Err.Source Přehled chyb v Help
Příklad : Vytvořte proceduru pro výpočet podílu dvou čísel. Pomocí odchytávání chyb ošetřete, aby nevznikala chyba v případě dělení nulou. Dále zjistěte čísla možných chyb a upravte program tak, aby reagoval na konkrétní chyby. Private Sub cmdtest_click() On Error Goto odchycenichyb MsgBox txtprvni.text/txtdruhe.text Exit Sub Odchycenichyb: MsgBox “Nepovolené dělení nulou“ Resume Next End Sub
Číslo chyby ERR.Number Private Sub cmdtest_click() On Error Resume Next MsgBox txtprvni.Text / txtdruhe.Text Select Case Err.Number Case 13 MsgBox "Musí být zadána čísla!" Case 11 MsgBox "Nepovolené dělení nulou" End Select End Sub
12. Události ve VB Vyvolané myší Vyvolané klávesou DragDrop, DragOver Vyvolané z externích zařízení
Vyvolané myší Click DoubleClick MouseDown MouseUp MouseMove Change
Události z klávesnice KeyDown KeyUp KeyPress KeyPreview Kódy kláves ConstantValueDescription vbKeyLButton1Left mouse button vbKeyRButton2Right mouse button vbKeyCancel3CANCEL key