Windows applicaties met Visual Basic.NET Ultimate 2012 HA 2260 01 Boekhouden informatica, Informaticabeheer Marc De Wandel, Gerry Everaert, Nicole Legroe Christel Valkeners, Ria Van Eysendeyk, Marleen Vande Putte Werkgroep Handel 2014 Vlaams Verbond van het Katholiek Secundair Onderwijs Guimardstraat 1, 1040 Brussel
Vlaams Verbond van het Katholiek Secundair Onderwijs Guimardstraat 1, 1040 Brussel Windows applicaties met Visual Basic.NET Ultimate 2012 HA 2260 01 Boekhouden informatica, Informaticabeheer Marc De Wandel, Gerry Everaert, Nicole Legroe Christel Valkeners, Ria Van Eysendeyk, Marleen Vande Putte Werkgroep Handel 2014 http://handel.vvkso.net D/2014/7841/069 Alle rechten voorbehouden. Behoudens de uitdrukkelijk bij wet bepaalde uitzonderingen mag niets uit deze uitgave worden verveelvoudigd, opgeslagen in een geautomatiseerd gegevensbestand of openbaar gemaakt, op welke wijze ook, zonder de uitdrukkelijke voorafgaande en schriftelijke toestemming van het VVKSO.
Inhoud Installatie van Visual Studio... 7 Waarom programmeren?... 15 2.1 Leren coderen in het vijfde jaar... 15 2.2 Visual Studio 2012 opstarten... 18 2.3 Een bestaand project openen... 18 Kennismaking met de omgeving van Visual Studio... 23 3.1 Een bestaand project openen... 23 3.2 Delen van de omgeving... 24 3.3 Toepassing testen in Visual Studio 2012... 31 3.4 Eigenschappen, gebeurtenissen en methodes in VB.NET... 34 Eigenschappen (Properties)... 34 Gebeurtenissen (Events)... 37 Methodes (Methods)... 38 3.5 De Object Browser... 39 3.6 Zelf een eerste toepassing maken... 41 Een nieuw project maken... 41 Design van het formulier... 42 Het project opslaan... 43 Code van het formulier... 44 3.7 Indienen van een project... 45 Zippen van een project... 45 Unzippen van een gezipt project... 46 3.8 Visual Basic Help... 47 3.9 Oefeningen... 48 Bouwstenen... 51 4.1 Operatoren en berichtvenster... 52 Berekeningen tonen in berichtvensters... 53 Operatoren... 54 Messagebox of berichtvenster... 55 4.2 Variabelen en constanten... 57 Variabelen... 57 Constanten... 57 Voorbeeld: frmverkoopprijs... 57 Declareren... 58 Toewijzen... 61 Hoe constanten opzoeken in de Help?... 61 4.3 Oefeningen... 62 4.4 Gegevenstypes... 65 Gegevenstypes in Visual Basic 2012... 65 Sterke typering... 65 Overzicht gegevenstypes en tags... 66 Conversie van tekst naar een ander gegevenstype... 66 Conversie naar een string... 66 Conversiefuncties... 66 4.5 Invoer van gegevens... 67 Voorbeeld: frmverkoopprijsinteractief... 67 Andere invoermogelijkheden... 69 4.6 Nassi Shneiderman diagrammen... 70
4.7 Commentaar opnemen... 70 4.8 Invoer Verwerking Uitvoer... 71 4.9 Oefeningen... 74 Ingebouwde methoden... 79 5.1 Methoden voor wiskundige berekeningen... 79 frmwiskundigemethoden... 79 frmlandmeter... 80 5.2 Methoden voor strings... 84 frmmethodenvoorstrings... 85 5.3 Methoden voor datums... 87 frmmethodenvoordatums... 89 frmverjaardag... 91 5.4 Oefeningen... 96 Oplossen van fouten in een programma... 101 6.1 Syntaxisfouten... 101 Voorbeeld... 101 Syntaxisfouten voorkomen... 101 6.2 Runtime fouten... 103 Voorbeeld... 103 Oorzaken en vermijden van runtime fouten... 104 6.3 Semantische fouten... 104 6.4 Logische fouten of denkfouten... 105 Voorbeeld... 105 Oplossen van logische fouten... 105 6.5 Hulpmiddelen bij het testen en opsporen van logische fouten... 105 Een Breakpoint... 106 De standaard werkbalk en de werkbalk Debug... 107 Het Command Window Immediate... 108 Watch Window: inhoud van variabelen volgen... 110 Locals: inhoud van variabelen volgen en wijzigen... 110 Het Output venster... 112 De Debug.Write methode... 112 Console venster... 115 Controlestructuur 1: de sequentie... 117 8.1 Voorbeelden van de controlestructuren... 117 8.2 Voorbeeld van de sequentie: frmeenhoofdletter... 118 8.3 Voorbeeld van de sequentie: frmorthodontist... 120 8.4 Radiobuttons en picturebox: frmgsm... 122 8.5 Horizontal scrollbars en structure Color: frmachtergrond... 126 8.6 Structure Point en event MouseEnter: frmprogrammeren... 131 8.7 Oefeningen... 136 Controlestructuur 2: de selectie... 139 9.1 Verschillende vormen van de selectie: theorie... 139 De enkelvoudige keuzestructuur... 139 De tweevoudige keuzestructuur... 140 De meervoudige keuzestructuur: 1 selectievariabele... 141 De meervoudige keuzestructuur: meerdere selectievariabelen... 142
9.2 Verschillende vormen van de selectie: oefening... 143 De enkelvoudige keuzestructuur... 143 De tweevoudige keuzestructuur... 146 De meervoudige keuzestructuur: 1 selectievariabele... 148 De meervoudige keuzestructuur: meerdere selectievariabelen... 150 9.3 Oefeningen op de enkelvoudige selectie... 153 Uitgewerkte oefening: frmalfabetisch... 153 Opgave van extra oefeningen... 157 9.4 Oefeningen op de tweevoudige selectie... 158 Uitgewerkte oefening: frmgelukscijfer... 158 Uitgewerkte oefening: frmboodschappenlijst... 160 Opgave van extra oefeningen... 164 9.5 Oefeningen op de meervoudige selectie... 166 Tips bij het gebruik van Select Case... 166 Uitgewerkte oefening: frmhelloworld... 167 Uitgewerkte oefening: frmwortels... 170 YouTube filmpje in een formulier.... 174 Uitgewerkte oefening: frmbonus... 176 Uitgewerkte oefening: frmrekenwonder... 180 Opgave van extra oefeningen... 184 Controlestructuur 3: de iteratie...193 10.1 Verschillende vormen van de iteratie: theorie... 193 De begrensde herhaling... 193 De voorwaardelijke herhaling met aanvangsvoorwaarde... 193 De voorwaardelijke herhaling met afbreekvoorwaarde... 195 10.2 Verschillende vormen van de iteratie: oefeningen... 196 De begrensde iteratie... 196 De voorwaardelijke herhaling met aanvangsvoorwaarde: frmleeuwen1/2... 197 De voorwaardelijke herhaling met afbreekvoorwaarde: frmleeuwen3/4... 199 Is er een verschil tussen de 4 voorwaardelijke iteraties?... 200 Voorwaardelijke herhaling: frmgemiddelde1/2/3/4... 201 10.3 Vergelijking tussen de verschillende herhalingen... 204 10.4 Oneindige lussen... 204 Oneindige lus in een begrensde herhaling... 205 Oneindige lus in een voorwaardelijke herhaling met aanvangsvoorwaarde... 205 Oneindige lus in een voorwaardelijke herhaling met afbreekvoorwaarde... 206 10.5 Oefeningen op de begrensde herhaling... 207 frmteller... 207 frmdefecten... 208 Extra oefeningen op de begrensde herhaling... 214 Teller van het type Single... 219 10.6 Oefeningen op de voorwaardelijke herhaling... 219 Iteratie met aanvangsvoorwaarde: frmwaagjekans2... 219 Iteratie met afbreekvoorwaarde: frmwaagjekans3... 223 Extra oefeningen op de voorwaardelijke herhaling... 225 10.7 Collecties... 227 Theorie... 227 Oefening frmmenu... 228 10.8 Geneste controlestructuren... 232 Theorie... 232 Oefening frmtafels... 232 Extra oefeningen op geneste controlestructuren... 233
Zelf gedefinieerde functies en procedures... 237 11.1 Voorbeeld 1... 239 11.2 Voorbeeld 2... 241 11.3 Voorbeeld 3... 246 11.4 Oefeningen... 248 Bereik, beschikbaarheid en levensduur... 251 12.1 Algemene begrippen... 251 Declaratieruimten... 251 Bereik... 251 Beschikbaarheid... 252 Variabelen declareren... 252 12.2 Voorbeeld 1... 254 12.3 Voorbeeld 2... 256 12.4 Voorbeeld 3... 259 frmsimpel... 259 frmelegant... 260 12.5 Voorbeeld 3... 261 frminvoer... 262 frmgemiddelde... 262 12.6 Voorbeeld 5... 263 Probleemstelling 1... 263 Probleemstelling2... 264 12.7 Oefeningen... 265 Werken met Arrays... 269 13.1 Inleiding... 269 13.2 Een Array of matrix... 269 13.3 Declaratie van een array... 269 13.4 De initialisatie van een array... 270 Fixed size rijvariabele... 270 Dynamische array... 270 Fixed size array rijobject... 272 Dynamische array rijobject... 272 Declaratie en initialisatie van fixed size array rijobject... 272 Voorbeeld 1... 273 Voorbeeld 2... 274 13.5 Voorbeeld: ReDim Preserve... 276 13.6 Enkele belangrijke eigenschappen van arrays... 277 13.7 Oefeningen... 278 Validation... 283 14.1 Inleiding... 283 14.2 Controle op een leeg tekstvak... 283 14.3 De visuele foutaanduiding verwijderen... 284 14.4 Controle op een patroon... 285 14.5 Extra voorbeeld... 285 14.6 Fraaiere oplossing voor extra voorbeeld... 286 Timer... 289 15.1 Inleiding... 289 15.2 Voorbeeld 1... 289
15.3 Voorbeeld 2... 291 15.4 Oefeningen... 293 Grafische elementen...295 16.1 Benodigde objecten... 295 Voorbeeld 1... 296 Voorbeeld 2... 299 Voorbeeld 2... 299 16.2 Oefeningen... 302 Ontwerpen van eigen menu s...305 17.1 Menu balk met deelmenu s... 305 Menu balk op het formulier plaatsen... 305 Gebeurtenis koppelen aan een menu item... 306 17.2 Animatie voorzien... 307 17.3 Oefeningen... 308 Module...311 18.1 Situering... 311 18.2 Voorbeeld 1... 311 18.3 Voorbeeld 2... 313 Probleemstelling... 313 Analyse en documentatie... 313 frmstart... 313 Module... 314 frmomzettingwoord... 314 frmomzettingtekst... 315 Distribueren van toepassingen...317 19.1 Een setupprogramma maken met behulp van de Publish Wizard... 317 19.2 Het setup of updateprogramma maken/aanpassen... 320 19.3 Een installatiepakket uitvoeren... 322 19.4 Desinstalleren van een zelfgemaakt pakket... 323 19.5 Oefening... 323 Voor de liefhebbers...327 Bijlagen...347 21.1 Bijlage 1: Dot Net Naming Convention... 347 21.2 Bijlage 2: Declaratie en gegevenstypes van variabelen... 349 21.3 Bijlage 3: gebruik van expressies bij MaskedTextbox... 351 21.4 Bijlage 4: ASCII tabel... 352