Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows...

68
1 Arteveldehogeschool – OSOVS Informatica – Visual Basic (D2) 2010-2011 Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis Programmeren in Visual Basic – D: II Programmeren in Visual Basic – D: II 1 1 Eerder bereikte competenties 6 2 Eigenschappen, methoden en gebeurtenissen 6 2.1 Eigenschappen 6 2.2 Methoden 6 2.3 Gebeurtenissen 6 3 De eigenschappen en methoden van tekst 7 3.1 Eigenschap Length 7 3.2 Methode Substring 7 3.3 Standaard stuk code om een woord (of string value) letter voor letter in te lezen. 7 3.4 Methoden ToUper en ToLower 7 4 Debuggen 8 5 Controlestructuren 8 6 Afbeeldingen 9 7 Het uitvoervenster (messagebox) 10 8 Werken met verschillende formulieren 11 8.1 Een formulier toevoegen 11 8.2 Methoden van een formulier 11 8.3 Formulieren aanspreken 11 8.4 Startup from wijzigen 12 9 Een snelmenu 13 10 Hergebruik van code 14 11 Code uitvoeren na het ingeven van een enter 15 12 Verkorte notatie voor operatoren 16 13 Globale variabelen 17

Transcript of Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows...

Page 1: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

1

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

Programmeren in Visual Basic – D: IIProgrammeren in Visual Basic – D: II 1

1 Eerder bereikte competenties 6

2 Eigenschappen, methoden en gebeurtenissen 6

2.1 Eigenschappen 6

2.2 Methoden 6

2.3 Gebeurtenissen 6

3 De eigenschappen en methoden van tekst 7

3.1 Eigenschap Length 7

3.2 Methode Substring 7

3.3 Standaard stuk code om een woord (of string value) letter voor letter in te lezen. 7

3.4 Methoden ToUper en ToLower 7

4 Debuggen 8

5 Controlestructuren 8

6 Afbeeldingen 9

7 Het uitvoervenster (messagebox) 10

8 Werken met verschillende formulieren 11

8.1 Een formulier toevoegen 11

8.2 Methoden van een formulier 11

8.3 Formulieren aanspreken 11

8.4 Startup from wijzigen 12

9 Een snelmenu 13

10 Hergebruik van code 14

11 Code uitvoeren na het ingeven van een enter 15

12 Verkorte notatie voor operatoren 16

13 Globale variabelen 17

14 Werken met kleuren 18

15 Willekeurige getallen 19

16 Lijsten 20

17 Oefeningen 21

Page 2: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

2

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.1 Herhalingsoefeningen VB.net 21

17.1.1 Vraag 1 21

17.1.1.1 Vraag 1 – Opgave 21

17.1.1.2 Vraag 1 – Uitwerking 21

17.1.2 Vraag 2 22

17.1.2.1 Vraag 2 – Opgave 22

17.1.2.2 Vraag 2 – Uitwerking 23

17.1.3 Vraag 3 24

17.1.3.1 Vraag 3 – Opgave 24

17.1.3.2 Vraag 3 – Uitwerking 24

17.2 Oefeningen 24 maart 25

17.2.1 Vraag 1 25

17.2.1.1 Vraag 1 – Opgave 25

17.2.1.2 Vraag 1 – Uitwerking 25

17.2.2 Vraag 2 26

17.2.2.1 Vraag 2 – Opgave 26

17.2.2.2 Vraag 2 – Uitwerking 26

17.2.3 Vraag 3 26

17.2.3.1 Vraag 3 – Opgave 26

17.2.3.2 Vraag 3 – Uitwerking 26

17.2.4 Vraag 4 (6.9) 27

17.2.4.1 Vraag 4 – Opgave 27

17.2.4.2 Vraag 4 – Uitwerking 27

17.2.5 Vraag 5 (Zweuds, 6.11) 28

17.2.5.1 Vraag 5 – Opgave 28

17.2.5.2 Vraag 5 – Opgave – Uitbreiding 28

17.2.5.3 Vraag 5 – Uitwerking 28

17.2.5.4 Vraag 5 – Uitwerking - Uitbreiding 29

17.2.6 Vraag 6 (6.15) 30

17.2.6.1 Vraag 6 – Opgave 30

17.2.6.2 Vraag 6 – Uitwerking 30

17.3 Herhalingsoefeningen 30 maart 31

17.3.1 Vraag 1 31

17.3.1.1 Vraag 1 – Opgave 31

Page 3: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

3

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.3.1.2 Vraag 1 – Uitwerking 31

17.3.2 Vraag 2 32

17.3.2.1 Vraag 2 – Opgave 32

17.3.2.2 Vraag 2 – Uitwerking 32

17.3.3 Vraag 3 (P-taal) 33

17.3.3.1 Vraag 3 – Opgave 33

17.3.3.2 Vraag 3 – Opgave – Uitbreiding 33

17.3.3.3 Vraag 3 – Uitwerking 33

17.3.3.4 Vraag 3 – Uitwerking – Uitbreiding 34

17.3.4 Vraag 4 (Hoelang nog tot middernacht?) 35

17.3.4.1 Vraag 4 – Opgave 35

17.3.4.2 Vraag 4 – Uitwerking 35

17.4 Extra oefeningen 36

17.4.1 Vraag 1 36

17.4.1.1 Vraag 1 – Opgave 36

17.4.1.2 Vraag 1 – Uitwerking 36

17.4.2 Vraag 2 37

17.4.2.1 Vraag 2 – Opgave 37

17.4.2.2 Vraag 2 – Uitwerking 37

17.4.3 Vraag 3 (Breezer-talk) 38

17.4.3.1 Vraag 3 – Opgave 38

17.4.3.2 Vraag 3 – Uitwerking 38

17.4.4 Vraag 4 39

17.4.4.1 Vraag 4 – Opgave 39

17.4.4.2 Vraag 4 – Uitwerking 39

17.4.5 Vraag 5 40

17.4.5.1 Vraag 5 – Opgave 40

17.4.5.2 Vraag 5 – Uitwerking 41

17.4.6 Vraag 6 42

17.4.6.1 Vraag 6 – Opgave 42

17.4.6.2 Vraag 6 – Uitwerking 43

17.4.7 Vraag 7 44

17.4.7.1 Vraag 7 – Opgave 44

17.4.7.2 Vraag 7 – Uitwerking 44

Page 4: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

4

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.5 Oefenexamen 2009-2010 46

17.5.1 Vraag 1 46

17.5.1.1 Vraag 1 – Opgave 46

17.5.1.2 Vraag 1 – Uitwerking 47

17.5.2 Vraag 2 48

17.5.2.1 Vraag 2 – Opgave 48

17.5.2.2 Vraag 2 – Uitwerking 49

17.5.3 Vraag 3 49

17.5.3.1 Vraag 3 – Opgave 49

17.5.3.2 Vraag 3 – Uitwerking 49

17.6 Oefenexamen uit cursus 50

17.6.1 Vraag 1 50

17.6.1.1 Vraag 1 – Opgave 50

17.6.1.2 Vraag 1 – Uitwerking 50

17.6.2 Vraag 2 50

17.6.2.1 Vraag 2 – Opgave 50

17.6.2.2 Vraag 2 – Uitwerking 50

17.6.3 Vraag 3 50

17.6.3.1 Vraag 3 – Opgave 50

17.6.3.2 Vraag 3 – Uitwerking 50

17.6.4 Vraag 4 50

17.6.4.1 Vraag 4 – Opgave 50

17.6.4.2 Vraag 4 – Uitwerking 50

17.7 Examen andere groep 51

17.7.1 Vraag 1 51

17.7.1.1 Vraag 1 – Opgave 51

17.7.1.2 Vraag 1 – Uitwerking 51

17.7.2 Vraag 2 51

17.7.2.1 Vraag 2 – Opgave 51

17.7.2.2 Vraag 2 – Uitwerking 51

17.7.3 Vraag 3 51

17.7.3.1 Vraag 3 – Opgave 51

17.7.3.2 Vraag 3 – Uitwerking 51

17.7.4 Vraag 4 51

Page 5: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

5

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.7.4.1 Vraag 4 – Opgave 51

17.7.4.2 Vraag 4 – Uitwerking 52

Page 6: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

6

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

1 Eerder bereikte competenties Zie SV-1OSOINVS2-VB

2 Eigenschappen, methoden en gebeurtenissenObjecten (formulier, label, tekstvak, opdrachtknop) hebben automatisch een aantal eigenschappen methoden en gebeurtenissen.

2.1 EigenschappenElk object heeft eigenschappen, omschrijven bepaald aspect van het object. Eigenschappen verschillen van object tot object, maar vaak gemeenschappelijke eigenschappen.

Eigenschappen werden al behandeld in INVS2.

Eigenschappen van een object vind je terug in het eigenschappenvenster in designvenster. Waarden die hier worden ingesteld zijn beginwaarden voor de eigenschappen van de objecten.

2.2 MethodenStukken code die reeds in VB geprogrammeerd zijn. Vaak voorkomende handelingen. Bij intypen krijg je hulp van VB. na het zetten van een punt verschijnt er lijstje met alle eigenschappen en methoden die bij object horen. Let op de twee tabbladen: ‘Common’ is de lijst met de meest gebruikte eigenschappen en methoden. ‘All’ geeft een overzicht van alle eigenschappen en methoden van het object.

In INVS2 kwam bv reeds de methode ‘round’ van het object ‘math’ aan bod:

sglGetal = Math . Round(sglGetal, 2)

We zien dat er tussen de ronde haakjes 2 waarden worden meegegeven, gescheiden door een komma. We noemen deze twee waarden argumenten van de methode round. Ook hier krijg je bij het ingeven hulp van VB. Na het openen van het ronde haakje krijg je een lijst van alle mogelijkheden voor het meegeven van argumenten met de nodige uitleg. Wordt een argument leeggelaten, dan wordt een standaardwaarde gebruikt.

2.3 GebeurtenissenP4 cursus

Page 7: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

7

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

3 De eigenschappen en methoden van tekstVariabelen zijn objecten van een bepaald gegevenstype. Deze objecten hebben ook eigenschappen en methoden.

Eigenschap Length en methoden Substring, ToUpper en ToLower

3.1 Eigenschap LengthDe lengte van een string verkrijgen.

strVar.Length, verkregen waarde is een integer.Vb: strInvoer bevat “Hallo”strInvoer.Length zal “5” uitkomen.

3.2 Methode SubstringDeel van een string selecteren.

strVar.Substring(positie, bereik)Opletten! Begint te tellen bij 0.Vb: strInvoer bevat “Hallo”strInvoer.Substring(2,1) bevat “l”

Oefeningen: 6.5, 6.6, 6.7, 6.13, 6.16

3.3 Standaard stuk code om een woord (of string value) letter voor letter in te lezen.

Dim strInvoer, strKar As String Dim intLengte, intTeller As Integer

intLengte = strInvoer.Length

For intTeller = 0 To intLengte - 1 strKar = strInvoer.Substring(intTeller, 1) '... 'verdere code o.a. om letter te vergelijken '...

Next

3.4 Methoden ToUper en ToLowerDe methoden ToUpper en ToLower zetten een tekenreeks respectievelijk om in grote en kleine letters.

Dim strTekst As String strTekst = txtInvoer.Text lblHoofdLetters.Text = strTekst.ToUpper lblKleineLetters.Text = strTekst.ToLower

0 1 2 3 4H a l l o

Page 8: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

8

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

4 DebuggenDebuggen verwijst naar het weghalen van fouten in een programma. Bij het programmeren onderscheiden we 3 soorten fouten: syntaxfouten, uitvoeringsfouten en logische fouten.

Een syntaxfout is een fout tegen taal. Het is vaak een tikfout, een haakje vergeten... Deze fouten zijn gemakkelijk te verbeteren. In VB worden ze aangeduid met een blauwe golflijn.

Uitvoeringsfouten treden op wanneer het programma iets probeert te doen dat op dat moment niet kan. Het programma zal een foutmelding genereren. Bijvoorbeeld wanneer een stukje tekst in een variabele van het type integer gestoken wordt. Hierbij is het belangrijk steeds de foutmelding grondig te lezen en te interpreteren. Vaak wordt de oplossing van de fout al gegeven. Uitvoeringsfouten die slechts in uitzonderlijke gevallen voorkomen, bijvoorbeeld wanneer er geen invoer wordt gegeven, moeten met foutenafhandeling opgelost worden. Meer hierover in het 2e en 3e jaar.

Logische fouten zijn de moeilijkst op te lossen fouten. Hierbij is alles taalkundig wel in orde, er verschijnt bij de uitvoering van het programma geen foutmelding, maar toch doet het programma niet wat het zou moeten doen.Om de fout toch te vinden kan je een onderbrekingspunt plaatsen in het programma, Klik in de grijze balk naast de instructie, er komt een rode bol te staan.Tijdens het uitvoeren van het programma stopt de computer bij deze instructie. De waarden van de variabelen in het werkgeheugen kunnen gecontroleerd worden. Kies tijdens de foutenanalyse in het menu 'Debug' voor 'autos'.

Nu kan je het programma verder stap voor stap doorlopen door te klikken op “Step Into”

• Bedenk op voorhand welke waarde van variabele je zou moeten hebben na het uitvoeren van de instructie

• Voer de instructie uit• Controleer of de waarden van de variabele nog steeds overeen komen met wat je voorop had

gesteld

5 ControlestructurenZie SV-1OSOINVS2-VB

Page 9: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

9

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

6 AfbeeldingenOm afbeeldingen op een formulier te plaatsen bestaat het object ‘picturebox’ in de toolbox. De belangrijkste eigenschappen van dit object zijn:

Object Eigenschap WaardePictureBox (name) De naam van het object. Volgens Leszynski naamgeving is de tag voor

een afbeelding ‘img’.Image Het lokaal pad naar de afbeelding of een verwijzing naar de afbeelding

geimporteerd in het project.Sizemode Normal: de afbeelding wordt in de linkerbovenhoek afgesneden

volgens de afmetingen van de picturebox.strechImage: de afbeelding zal vervormd worden zodat ze volledig wordt weergegeven volgens de afmetingen van de picturebox.Autosize: de picturebox neemt de afmetingen van de afbeelding aan.centerImage: de afbeelding wordt in het midden afgesneden volgens de afmetingen van de picturebox.Zoom: de afbeelding zal verkleind worden zodat de afbeelding in de picturebox past. De verhouding van de oorspronkelijke afbeelding blijft behouden.

Twee manieren om te verwijzen naar een afbeelding. Via lokaal pad of via verwijzing naar geïmporteerde afbeelding. Voor lokaal pad in te stellen in eigenschappen venster volstaat het te bladeren naar het lokaal pad. Dit lokaal pad wordt dan opgeslagen. Wil je het lokaal pad instellen via de code dan gaat dit als volgt:

imgAfbeelding.Image = Image.FromFile("X:\images\foto.jpg")

Als afbeelding verplaatst of hernoemd (of bij kopiëren naar ander toestel) dan pad naar afbeelding niet meer juist. Daarom interessant afbeelding te importeren binnen het project. Dan komen ze in map ‘recources’ van het project.

Om afbeelding te importeren:

Open het eigenschappenvenster van het project (menu project > properties) en ga naar het tabblad ‘resources’.

Kies voor ‘Add resource’ > ‘Add existing file’ Blader naar de afbeelding en bevestig

De map ‘recources’ zal, indien deze nog niet bestaat, aangemaakt worden en de afbeelding wordt hierin geïmporteerd. Bij de eigenschap ‘image’ van de picturebox zal de geïmporteerde afbeelding te vinden zijn in het lijstje van de project resource files.

De afbeelding via de code in stellen gaat als volgt:

imgAfbeelding.Image = My.Resources.fotoHierbij verwijst ‘My’ naar het project.

Page 10: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

10

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

7 Het uitvoervenster (messagebox)Het object messagebox heeft methode ‘Show’ die uitvoervenster laat verschijnen.

MessageBox.Show("Hallo")Omdat dit vaak wordt gebruikt bestaat er kortere schijfwijze.

MsgBox("Hallo")

Bij ingeven van de methode msgbox worden volgende argumenten meegegeven:

- Prompt: is verplicht in te vullen en is de tekst die in het uitvoervenster verschijnt.- Buttons: de knoppen die moeten verschijnen in het uitvoervenster. De waarde die hier moet

ingevuld worden, wordt aangegeven door VB. Enkele voorbeelden: MsgBoxStyle.YesNo, MsgBoxStyle.OkOnly, MsgBoxStyle.OkCancel, … De resultaten hiervoor spreken voor zich. Indien niets meegegeven wordt standaard enkel de OK-knop getoond.

- Title: is ook niet verplicht mee te geven. Het bevat de tekst die in de titelbalk van het uitvoervenster moet staan.

Als resultaat van een msgbox wordt een waarde teruggegeven afhankelijk van op welke knop de gebruiker heeft geklikt. Zo kan je in de code opvangen op welke knop van het uitvoervenster de gebruiker heeft geklikt. Verduidelijkend voorbeeld:

If MsgBox("Kies je ja of nee?", MsgBoxStyle.YesNoCancel, "kiezen") = MsgBoxResult.Yes Then 'code als de gebruiker op ja heeft geklikt Else 'code als de gebruiker op nee heeft geklikt End If

Page 11: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

11

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

8 Werken met verschillende formulieren8.1 Een formulier toevoegenEen project bestaat in eerste instantie uit één formulier met de standaardnaam 'form1.vb' (zie solution explorer). Dit formulier is ook meteen het 'startup form': het formulier dat getoond wordt bij het opstarten van het project.

Het is mogelijk om met meerdere formulieren te werken. Je voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form' en geef het formulier de naam die wenst met de extensie '. vb'.

Bij het ontwerpen van een formulier, zowel bij form1.vb als alle nieuwe formulieren die je toevoegt, ontwerp je eigenlijk een modelformulier (sjabloon). Als je een formulier wil weergeven, moet een instantie van het modelformulier worden gemaakt (een realisatie van het modelformulier).

Bij het startup formulier wordt bij het opstarten automatisch een instantie gemaakt. Wil je vanuit de code bij een bepaald formulier een tweede formulier tonen, dan zal je zelf die instantie moeten maken.

Een voorbeeld: Een project bevat twee formulieren: eerste.vb en tweede.vb. Vanuit de code van eerste.vb moet een instantie van tweede.vb worden getoond. Dan ziet de code bij eerste.vb er als volgt uit:

Dim frmTweede As New tweede frmTweede.Show()De instantie van 'tweede. vb' krijgt hier de naam 'frmTweede'.

8.2 Methoden van een formulierShow: instantie van een formulier weergeven.

Close: instantie van een formulier sluiten

Hide: instantie van een formulier verbergen, nog steeds aanspreekbaar.

8.3 Formulieren aansprekenVanuit de code bij eerste.vb kunnen nu ook alle objecten op frmTweede aangesproken worden:

frmTweede.lblUitvoer.text = "tekst..."

Als je de eigenschappen van het formulier wilt aanpassen moet je het formulier aanspreken met ‘Me’. Je kan hier natuurlijk niet de naam van de instantie van het formulier nemen aangezien die in het huidige formulier niet gekend is.Bv de code bij tweede.vb om de achtergrondkleur van een instantie van het formulier zelf te wijzigen: Me.BackColor = Color.Beige

Page 12: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

12

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

8.4 Startup from wijzigenBij het werken met meerdere formulieren kan het wenselijk zijn om het startup form te wijzigen. Ga hiervoor naar de eigenschappen van het project en in het eerste tabblad (application) kan je het startup form instellen.

Page 13: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

13

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

9 Een snelmenuMet het object 'contextmenu' uit de toolbox kan je een snelmenu koppelen aan een object op het formulier. Bij het plaatsen van een contextmenu op een formulier lijkt het alsof je een gewoon menu hebt ingevoegd. Dit is de interface om het snelmenu in te geven. Hierna kan je bij de eigenschap 'contextmenustrip' van om het even welk object op je formulier het snelmenu koppelen aan dat object. Het menu zal verschijnen wanneer met de rechtermuisknop op het object wordt geklikt.

Page 14: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

14

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

10 Hergebruik van codeKan soms handig zijn voor code die vaak gebruikt word of om leesbaarheid van project te behouden om maar eenmaal te programmeren en waar nodig weer op te roepen. Verbeterd niet enkel leesbaarheid van code maar vereenvoudigt ook het aanpassen of verbeteren van de code. Dit moet slechts eenmaal gebeuren.

De hergebruikte code wordt in een aparte procedure (subprocedure) geplaatst.

Praktisch voorbeeld waarbij er een knop wissen is en waarbij na het bevestigen van het resultaat de invoervakken leeg moeten zijn:

Public Class eerste Sub allesLeeg() txtInvoer1.Text = "" txtInvoer2.Text = "" End Sub Private Sub cmdWissen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdWissen.Click Call allesLeeg() End Sub

Private Sub eerste_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load Call allesLeeg() End Sub

Private Sub cmdUitvoeren_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUitvoeren.Click If MsgBox("Resultaat") = MsgBoxResult.Ok Then Call allesLeeg()

End If End SubEnd ClassHet gebeurt dat een deel van de code in een aparte procedure wordt geplaatst enkel om de leesbaarheid van de code te verhogen. Het meermaals voorkomen van de code Is dus geen noodzakelijke voorwaarde om code op te splitsen.

Page 15: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

15

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

11 Code uitvoeren na het ingeven van een enterCode wordt uitgevoerd als gevolg van een gebeurtenis op een object. Klikken (gebeurtenis) op een knop (object). Als je in het designvenster dubbelklikt op een object dan kom je in je code terecht bij de standaardgebeurtenis van dat object.Als je code wenst te schrijven voor een gebeurtenis verschillend van de standaardgebeurtenis, dan moet je het object en de gebeurtenis selecteren in de keuzelijst bovenaan het codevenster.

Het zou kunnen dat je code wenst uit te voeren bij het drukken op enter(gebeurtenis) in een tekstvak(object). Of bij het drukken op enter bij gelijk welk object.Deze expliciete gebeurtenis staat niet in de lijst van gebeurtenissen van objecten. We zullen een omweg moeten nemen.

Als voorbeeld kiezen we klikken op enter na het ingeven van tekst in een tekstvak. Kies in de lijst van objecten het tekstvak en als gebeurtenis kies je 'KeyPress'.Deze gebeurtenis vindt plaats iedere keer er op een toets wordt gedrukt terwijl het tekstvak de focus heeft. Wat we nu nog moeten doen is opvangen wanneer er op enter wordt gedrukt.

Private Sub txtInvoer1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtInvoer1.KeyPress If e.KeyChar = Chr(13) Then 'code die moet worden uitgevoerd bij het klikken op enter End If End SubHet object "e" bevat de eigenschap "KeyChar". Deze houdt bij op welke toets werd gedrukt. We moeten deze waarde vergelijken met een enter. In VB wordt die voorgesteld als Chr(13) nl karakter 13.

Niet enkel enter kan als trigger worden gebruikt. In volgend stukje code is de trigger de letter “a”.

Private Sub txtInvoer1_KeyPress(ByVal sender As Object, ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles txtInvoer1.KeyPress If e.KeyChar = "a" Then 'code die moet worden uitgevoerd bij het intikken van een a End If End Sub

Page 16: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

16

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

12 Verkorte notatie voor operatorenOplijsting van veel gebruikte operatoren in VB:

+ Som/concatenatie Wordt gebruikt om tweee getallen bij elkaar op te tellen.Staat deze operator tussen twee strings of karakters dan zal deze de teksten aan elkaar plakken.

5+6=>11“appel”+”boom” => “appelboom”“5”+”6” => “56”

_ Verschil Berekent het verschil tussen twee getallen 10-2=>8* Vermenigvuldiging Berekent het product van 2 getallen 4*6 => 24/ Deling Berekent het quotient van twee getallen.

Het resultaat zal vaak een komma getal zijn

6/5 => 1,2

& Concatenatie Tweee tekenreeksen worden aan elkaar gekoppeld

“appel”&”boom” => “appelboom”

\ Gehele deling Bepaalt hoeveel keer de deler in het deeltal kan. Het resultaat is altijd een geheel getal

8\3=> 2

MOD Rest bij deling Geeft de rest bij gehele deling terug 14 MOD 4 => 2^ Machtsverheffing Verheft een getal tot een bepaalde macht 2^4=>16() Haakjes Groepeert rekenkundige bewerkingen.

Beinvloedt de prioriteit van het uitwerken van een berekening

(2+6)*2 => 16

= ToekenningoperatorOfVergelijkingsoperator (afhankelijk van de context)

Toekenningsoperator: de rechterzijde van de toekenningsoperator wordt uitgerekend en de verkregen waarde wordt teogekend aan de linkerzijde van de toekenningoperator.Vergelijkingsoperator: de linker en de rechterzijde van de vergelijkingsoperator worden uitgerekend. De verkregen waarden worden met elkaar vergeleken. Zijn de waarden aan elkaar gelijk dan is het resultaat true, anders false.

Voor veel gebruikte bewerkingen bestaat ook een verkorte notatie. Enkele verduidelijkende voorbeelden volgen.

intGetal = intGetal + 1 → intGetal+= 1

strTekst = strTekst & “nog tekst” → strTekst &= “nog tekst”

Page 17: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

17

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

13 Globale variabelenGlobale variabelen zijn variabelen die beschikbaar zijn zolang het formulier geopend is (tot “End Class”).

Public Class eerste Private Sub cmdUitvoeren_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUitvoeren.Click Dim intInvoer1, intInvoer2, intSom As Integer Dim sglGemiddelde As Single

intInvoer1 = txtInvoer1.Text intInvoer2 = txtInvoer2.Text

sglGemiddelde = (intInvoer1 + intInvoer2) / 2 intSom = intInvoer1 + intInvoer2

lblSom.Text = intSom End Sub

Private Sub cmdWeergevenGemiddelde_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdWeergevenGemiddelde.Click MsgBox("Het gemiddelde is " & sglGemiddelde) 'dit kan niet, want het gemiddelde is gedeclareerd en berekend bij de actie cmdUitvoeren.Click End SubEnd Class

Vorig stuk code werkt enkel als we het gemiddelde als globale variabele declareren, zoals in onderstaand stukje code.

Public Class eerste Dim sglGemiddelde As Single

Private Sub cmdUitvoeren_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUitvoeren.Click Dim intInvoer1, intInvoer2, intSom As Integer

intInvoer1 = txtInvoer1.Text intInvoer2 = txtInvoer2.Text

sglGemiddelde = (intInvoer1 + intInvoer2) / 2 intSom = intInvoer1 + intInvoer2

lblSom.Text = intSom End Sub

Private Sub cmdWeergevenGemiddelde_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdWeergevenGemiddelde.Click MsgBox("Het gemiddelde is " & sglGemiddelde) 'dit kan, want het gemiddelde is gedeclareerd bij het formulier End SubEnd Class

We gebruiken enkel globale variabelen als het echt nodig is, anders blijven we de variabelen lokaal declareren.

Page 18: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

18

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

14 Werken met kleurenTwee mogelijkheden:

- Kleuren kunnen gemaakt worden door een waarde te geven aan de rood – groen – blauw waarde van het object color. Deze waarden moeten tussen 0 en 255 liggen.lblKleur.BackColor = Color.FromArgb (32, 206, 123)

- Het object “Color” bevat een hele lijst van systeem gedefinieerde kleuren.

Page 19: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

19

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

15 Willekeurige getallenWillekeurig getal bepalen met de functie ‘Rnd()’. Deze functie geeft een kommagetal terug kleiner dan 1, maar groter of gelijk aan 0. Dim sglRandom As Single sglRandom = Rnd()

Wil je een willekeurig getal tussen 0 en 10 moet je vermenigvuldigen met 10. Dim sglRandom As Single sglRandom = 10 * Rnd()

Wil je een willekeurig geheel getal tussen 0 en 10 dan volstaat het om het willekeurig getal in een integer-variabele te steken. Het getal wordt dan afgerond naar het dichtstbijzijnde gehele getal. Om dit heel bewust te doen gebruik je de functie Cint() (convert to integer). Dim intRandom As Integer intRandom = CInt(10 * Rnd())

Elke keer als je de functie Rnd() gebruikt moet ook de functie Randomize eenmaal opgeroepen worden. Anders heb je keer na keer dezelfde serie willekeurige getallen. Dim intRandom As Integer Randomize() intRandom = CInt(10 * Rnd())Om het even wanneer we op de knop drukken zullen we telkens andere willekeurige getallen krijgen. Het is voldoende éénmaal de functie randomize te gebruiken, bijvoorbeeld bij het laden van het formulier.

Om willekeurige gehele getallen binnen een bepaald bereik te produceren gebruiken we volgende formule:randomValue = CInt(Math.Floor((upperbound - lowerbound + 1) * Rnd()+ lowerbound)) Upperbound is het hoogste nummer in het bereik en lowerbound is het laagste nummer in het bereik.

Voorbeeld

This example uses the Rnd function to generate a random integer value in the range from 1 to 6. ' Initialize the random-number generator.Randomize()' Generate random value between 1 and 6.Dim value As Integer = CInt(Int((6 * Rnd()) + 1))

Page 20: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

20

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

16 LijstenTwee objecten die onder de noemer “lijst” vallen. Listbox en Combobox. Bij de listbox worden de waarden onder elkaar weergegeven en zijn ze ofwel allemaal zichtbaar ofwel zichtbaar mbv de schuifbalk. Bij een combobox is enkel het eerste item van de lijst zichtbaar en is de rest van de lijst zichtbaar met een uitvalmenu.

Belangrijkste eigenschappen en methoden van een lijst

List.SelectedIndex Bevat de index van het geselecteerde item. Het eerste item heeft index 0. Indien geen item geselecteerd is, bevat deze eigenschap de waarde -1.

List.SelectedItem Bevat de tekst van het geselecteerde item. Indien geen item geselecteerd is, is deze eigenschap leeg.

List.Items.Add Voegt een item toe aan de lijst. Het toe te voegen item moet meegegeven worden als argument.

List.Items.Remove Verwijdert een item. Het te verwijderen item moet meegegeven worden als argument.

List.Items.RemoveAt Verwijdert een item met een bepaalde index (plaats). De index moet meegegeven worden als argument.

List.Items.Count Bevat het aantal items in de lijst.List.Items.Item Bevat de tekst van een item op een bepaalde index. De index moet

meegegeven worden als argument.

Page 21: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

21

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17 Oefeningen17.1 Herhalingsoefeningen VB.net

17.1.1 Vraag 117.1.1.1 Vraag 1 – Opgave Na het klikken op een opdrachtknop verschijnen telkens invoervensters met oefeningen op de vermenigvuldiging. De twee getallen die vermenigvuldigd moeten worden zijn willekeurig, maar het product moet telkens kleiner zijn dan honderd.De gebruiker lost telkens de oefening op. Van zodra de gebruiker een foutief antwoord geeft, worden geen oefeningen meer gegeven en verschijnt het aantal correct opgeloste oefeningen.

17.1.1.2 Vraag 1 – Uitwerking Public Class frmVermenigvuldigingOefeningen

Private Sub cmdStart_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdStart.Click Dim intGetal1, intGetal2, intProduct, intAantal, intJuist, intAntwoord As Integer

Do Randomize() intGetal1 = CInt(Int((10 * Rnd()) + 1)) intGetal2 = CInt(Int((10 * Rnd()) + 1)) intProduct = intGetal1 * intGetal2 intAntwoord = InputBox("" & intGetal1 & " * " & intGetal2 & " = ?", "Oefening " & intAantal) intAantal += 1 intJuist += 1 Loop Until intProduct <> intAntwoord lblUitslag.Show() lblUitslag.Text = "Van de " & intAantal & " oefeningen had je er " & intJuist - 1 & " correct."

End SubEnd Class

Page 22: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

22

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.1.2 Vraag 217.1.2.1 Vraag 2 – Opgave

Bij ‘superTOTO’ kan je geld inzetten op een voetbalwedstrijd. Bij deze oefening gaat het om de (fictieve) wedstrijd tussen Nederland en België die op 6 september 2008 zal gespeeld worden.

Ontwerp onderstaand formulier:

In de tekstvakken kunnen de deelnemers hun voorspelde einduitslag van de wedstrijd ingeven.Bij het klikken op ‘meer’ verhoogt hun inzet telkens met 5 euro. Er wordt gestart met een inzet van 5 euro.Bij het klikken op ‘minder’ verlaagt hun inzet opnieuw met telkens 5 euro. Er moet minimum 5 euro ingezet worden. Zorg er dus voor dat er niet lager dan 5 euro kan gegaan worden en dat er bovendien een passende boodschap wordt weergegeven in een messagbox.

Bij het klikken op ‘bevestig’ verschijnt een tweede formulier met een bevestiging (die in principe zou kunnen afgedrukt worden maar dit doen we hier niet).

De uitslag en het bedrag is afhankelijk van wat in het eerste formulier is ingevuld.De formulieren moeten er exact hetzelfde uitzien.

Page 23: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

23

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.1.2.2 Vraag 2 – Uitwerking Public Class frmInzetten Dim intInzet As Integer = 5 Private Sub cmdMinder_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdMinder.Click

If intInzet <= 5 Then MsgBox("Je kan niet minder dan 5 euro inzetten op de match", MsgBoxStyle.OkOnly, "Foutmelding") Else intInzet -= 5 End If

lblInzet.Text = "€ " & intInzet End Sub

Private Sub cmdMeer_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdMeer.Click intInzet += 5 lblInzet.Text = "€ " & intInzet End Sub

Private Sub cmdBevestig_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBevestig.Click Dim intNed, intBelg As Integer

intNed = txtNederland.Text intBelg = txtBelgië.Text

Dim frmBevestig As New bevestig frmBevestig.Label1.Text = "Gegokte uitslag Nederland: " & intNed & " - Belgie: " & intBelg & vbCrLf & "Dit is pas geldig na overschijving van " & intInzet & " euro op rekeningnummer 000-00000-000" & vbCrLf & "Dit formulier afdrukken als bewijs"

frmBevestig.Show() End SubEnd Class

Page 24: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

24

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.1.3 Vraag 317.1.3.1 Vraag 3 – Opgave Schrijf een programma dat een woord of zin inleest. Als uitvoer verschijnt dezelfde zin, maar alle hoofdletter zijn kleine letters geworden en alle kleine letters zijn hoofdletters geworden.Bijvoorbeeld:Invoer: pROgraMMEren IS vERUiT het lIEfstE wAt Ik DOE Op Een ZonnIGE ZondAGUitvoer: ProGRAmmeREN is VeruIt HET LieFSTe WaT iK doe oP eEN zONNige zONDag

17.1.3.2 Vraag 3 – Uitwerking Public Class frmOmzetten

Private Sub cmdUitvoeren_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUitvoeren.Click Dim strInvoer, strUitvoer, strKar As String Dim intLengte, intTeller As Integer

strInvoer = txtInvoer.Text intLengte = strInvoer.Length strUitvoer = "" For intTeller = 0 To intLengte - 1 strKar = strInvoer.Substring(intTeller, 1) If strKar = strKar.ToUpper Then strUitvoer = strUitvoer & strKar.ToLower Else strUitvoer = strUitvoer & strKar.ToUpper End If Next txtInvoer.Text = strUitvoer

End SubEnd Class

Page 25: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

25

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.2 Oefeningen 24 maart

17.2.1 Vraag 117.2.1.1 Vraag 1 – Opgave Welk van de volgende programma’s bevatten een oneindige lus?

Programma 1

intX = 0

intY = 0

While intX < 10

intY = intY + intX

intX = intX + 1

End While

Programma 2

intX = 0

intY = 1

While intX < intY

intX = intX + 1

intY = intY + 1

End While

Programma 3

strNaam = InputBox("Geef je naam:", "Naam invoeren")

intLengte = len(strNaam)

While intLengte > 12

strNaam = InputBox("Geef je naam:", "Naam invoeren")

End while

17.2.1.2 Vraag 1 – Uitwerking Programma 2: Door de in de voorwaardelijke herhaling intX en intY beiden met 1 te verhogen zal intX altijd kleiner blijven dan intY.

Programma 3: Deze kan een oneindige lus vormen als de lengte van de eerst ingegeven naam kleiner is dan 12.

Page 26: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

26

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.2.2 Vraag 217.2.2.1 Vraag 2 – Opgave Bij de uitvoer van het volgende programma krijgen we de een foutmelding: “De rekenkundige bewerking heeft geresulteerd in een overloop”. Verklaar.

Dim intGetal, intTeller As IntegerintGetal = 2For intTeller = 1 To 20 intGetal = intGetal * intGetalNextMsgBox(intGetal)

17.2.2.2 Vraag 2 – Uitwerking De integer is niet groot genoeg, na enkele malen de herhaling te hebben doorlopen is de bekomen waarde groter dan een integer.

17.2.3 Vraag 317.2.3.1 Vraag 3 – Opgave Welke uitvoer heeft het onderstaande programma als de gebruiker achtereenvolgens de getallen 3, 4, 5, 6 en 7 invoert? VERKLAAR VOLLEDIG.

Dim intresultaat, intgetal1, intgetal2 As String Dim inta, intb, intc, intd As Integer Dim strf As String intgetal1 = InputBox("Geef een getal in:", "Getal ingeven") intgetal2 = InputBox("Geef een getal in:", "Getal ingeven") intresultaat = intgetal1 + intgetal2 strf = "" For inta = 1 To 3 intb = InputBox("Geef een waarde in:", "invoer") intc = intb / 5 intd = intc * 5 strf = strf & intd Next lbluitvoer.Text = intresultaat & strf

17.2.3.2 Vraag 3 – Uitwerking In uw uitvoer komt automatisch de samentrekking van de eerste twee getallen (deze zijn als string gedeclareerd en niet als integer, zie eerste lijn code), daarna worden alle getallen gedeeld door 5 en vermenigvuldigd met 5 (omdat het integers zijn is 5/5*5 =5, 6/5*5=5 en 7/5*5=5). Hierdoor kom je 34555 uit als resultaat.

Page 27: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

27

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.2.4 Vraag 4 (6.9)17.2.4.1 Vraag 4 – Opgave Schrijf een programma dat van een ingelezen woord bepaalt of dat woord een palindroom is of niet. Een palindroom is een woord dat van achter naar voor ook kan gelezen worden bv lepel en nemen

17.2.4.2 Vraag 4 – Uitwerking Public Class frmPalindroom

Private Sub cmdUitvoeren_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUitvoeren.Click Dim strInvoer, strUitvoer, strKar As String Dim intLengte, intteller As Integer

strInvoer = InputBox("Geef het woord waarvan u wilt controleren of het een palindroom is in:", "Woord ingeven").ToLower

intLengte = strInvoer.Length lblUitvoer.Text = "" strUitvoer = "" 'strInvoer = strInvoer.ToLower() For intteller = 0 To intLengte - 1 strKar = strInvoer.Substring(intteller, 1) strUitvoer = strKar & strUitvoer Next If strInvoer = strUitvoer Then lblUitvoer.Text = "Het woord " & strUitvoer & " is een palindroom met " & strInvoer Else lblUitvoer.Text = "Het woord " & strUitvoer & " is GEEN palindroom met " & strInvoer End If

End SubEnd Class

Page 28: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

28

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.2.5 Vraag 5 (Zweuds, 6.11)17.2.5.1 Vraag 5 – Opgave Vertaal een ingelezen zin naar het Zweeds. Dit verkrijg je door alle klinkers uit de zin de vervangen door ‘eu’.

Voorbeeld: Ik ben zot => euk beun zeut

17.2.5.2 Vraag 5 – Opgave – Uitbreiding Zorg ervoor dat het programma ook werkt met meerdere klinkers na elkaar. In dat geval worden de opeenvolgende klinkers slechts door één ‘eu’ vervangen.

Voorbeeld: Ik ben ziek => euk beun zeuk

17.2.5.3 Vraag 5 – Uitwerking Public Class frmZweeds

Private Sub cmdUitvoeren_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUitvoeren.Click Dim strInvoer, strUitvoer, strKar As String Dim intTeller, intLengte As Integer

strInvoer = txtInvoer.Text intLengte = strInvoer.Length strUitvoer = "" strKar = ""

For intTeller = 0 To intLengte - 1 strKar = strInvoer.Substring(intTeller, 1) If strKar = "a" Or strKar = "A" Or strKar = "e" Or strKar = "E" Or strKar = "u" Or strKar = "U" Or strKar = "i" Or strKar = "I" Or strKar = "o" Or strKar = "O" Then strKar = "eu" strUitvoer = strUitvoer & strKar Else : strUitvoer = strUitvoer & strKar End If Next txtInvoer.Text = strUitvoer

End SubEnd Class

Page 29: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

29

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.2.5.4 Vraag 5 – Uitwerking - Uitbreiding Public Class frmZweeds

Private Sub cmdUitvoeren_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUitvoeren.Click Dim strInvoer, strUitvoer, strKar As String Dim intTeller, intLengte, intVorige As Integer

strInvoer = txtInvoer.Text intLengte = strInvoer.Length strUitvoer = "" strKar = ""

intVorige = 0 For intTeller = 0 To intLengte - 1 strKar = strInvoer.Substring(intTeller, 1) If strKar = "a" Or strKar = "A" Or strKar = "e" Or strKar = "E" Or strKar = "u" Or strKar = "U" Or strKar = "i" Or strKar = "I" Or strKar = "o" Or strKar = "O" Then strKar = "eu" If intVorige = 0 Then strUitvoer = strUitvoer & strKar End If

intVorige = 1 Else : strUitvoer = strUitvoer & strKar intVorige = 0 End If Next txtInvoer.Text = strUitvoer

End SubEnd Class

Page 30: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

30

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.2.6 Vraag 6 (6.15)17.2.6.1 Vraag 6 – Opgave Bepaal de delers van een ingelezen natuurlijk getal.

17.2.6.2 Vraag 6 – Uitwerking Public Class frmDelersVanGetal

Private Sub cmdUitvoeren_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUitvoeren.Click Dim intInvoer, intTeller, intTussen As Integer Dim strUitvoer As String

intInvoer = txtInvoer.Text If intInvoer > 0 Then

For intTeller = 1 To intInvoer intTussen = intInvoer Mod intTeller If intTussen = 0 Then strUitvoer = strUitvoer & vbCrLf & intTeller End If Next lblUitvoer.Text = strUitvoer Else : lblUitvoer.Text = "Geef een natuurlijk getal in!" End If lblUitvoer.Visible = True Label2.Visible = True End SubEnd Class

Page 31: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

31

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.3 Herhalingsoefeningen 30 maart

17.3.1 Vraag 117.3.1.1 Vraag 1 – Opgave Schrijf een programma dat een zin inleest en daarna diezelfde zin uitschrijft maar met telkens een aantal karakters minder. Deze weggelaten karakters worden bepaald door de veelvouden van een willekeurig gegenereerd getal dat kleiner is dan 10 (code: zie onderaan de vraag).Bijvoorbeeld:Invoer: Programmeren is veruit het liefste wat ik doe op een zonnige donderdagGetal: 4Uitvoer: Proramere isverit et iefte at k de o ee zonig doderagDe code om het programma zelf een willekeurig getal te laten bepalen tussen 0 en 10 gaat als volgt:Dim intWillekeurigGetal As IntegerRandomize()intWillekeurigGetal = CInt(Rnd() * 10)

17.3.1.2 Vraag 1 – Uitwerking Public Class frmWillekeurigRegelmatigWeglaten

Private Sub cmdUitvoeren_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUitvoeren.Click Dim intWillekeurigGetal As Integer Randomize() intWillekeurigGetal = CInt(Rnd() * 10)

Dim strInvoer, strUitvoer, strKar As String Dim intTeller, intLengte As Integer strInvoer = txtInvoer.Text intLengte = strInvoer.Length strUitvoer = ""

For intTeller = 0 To intLengte - 1 strKar = strInvoer.Substring(intTeller, 1) If (intTeller + 1) Mod intWillekeurigGetal <> 0 Then strUitvoer = strUitvoer & strKar End If Next txtInvoer.Text = strUitvoer End SubEnd Class

Page 32: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

32

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.3.2 Vraag 217.3.2.1 Vraag 2 – Opgave Het volgende programma gebruikt onder andere een voorwaardelijke herhaling met aanvangsvoorwaarde. Zet dit programma om in een programma dat gebruikt maakt van een begrensde herhaling en geen gebruik maakt van een voorwaardelijke herhaling. Het programma moet precies hetzelfde doen.

Private Sub cmdStart_Click() Dim intTeller, intSom, intGetal As Integer intTeller = 11 intSom = 0 While intTeller > 0 intGetal = InputBox("Geef een getal in") If intTeller > 5 Then intSom = intSom + intGetal End If intTeller = intTeller - 1 End While lblUitvoer.text = intSomEnd Sub

17.3.2.2 Vraag 2 – Uitwerking Private Sub cmdStart_Click()Dim intTeller, intSom, intGetal As Integer

intSom = 0 For intTeller = 0 To 11 intGetal = InputBox("Geef een getal in") If intTeller > 5 Then intSom = intSom + intGetal End If Next lbluitvoer.Text = intSomEnd Sub

Page 33: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

33

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.3.3 Vraag 3 (P-taal)17.3.3.1 Vraag 3 – Opgave Ontwerp een formulier met twee tekstvakken (één voor de invoer, één voor de uitvoer) en een opdrachtknop. Na een klik op de knop moet het volgende gebeuren:Een ingegeven woord of zin moet worden omgezet naar de ‘p-taal’. Dit betekent dat alle klinkers moeten vervangen worden door de tekenreeks ‘klinker p klinker’. Bv ‘Ik zwem’ wordt ‘ipik zwepem’.

17.3.3.2 Vraag 3 – Opgave – Uitbreiding Als er dubbele klinkers voorkomen, dan mogen die slechts 1 maal door ‘klinker p klinker klinker’ vervangen worden. Bv ‘Ik slaap’ wordt ‘Ipik slapaap’.

17.3.3.3 Vraag 3 – Uitwerking Public Class frmPTaal

Private Sub cmdUitvoeren_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUitvoeren.Click Dim strInvoer, strUitvoer, strKar As String Dim intLengte, intTeller As Integer

strInvoer = txtInvoer.Text intLengte = strInvoer.Length txtUitvoer.Text = "" strUitvoer = ""

For intTeller = 0 To intLengte - 1 strKar = strInvoer.Substring(intTeller, 1)

If strKar = "a" Or strKar = "A" Or strKar = "e" Or strKar = "E" Or strKar = "u" Or strKar = "U" Or strKar = "i" Or strKar = "I" Or strKar = "o" Or strKar = "O" Then

strUitvoer = strUitvoer & strKar & "p" & strKar Else strUitvoer = strUitvoer & strKar End If

Next

txtUitvoer.Text = strUitvoer End SubEnd Class

Page 34: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

34

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.3.3.4 Vraag 3 – Uitwerking – Uitbreiding Public Class frmPTaal

Private Sub cmdUitvoeren_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUitvoeren.Click Dim strInvoer, strUitvoer, strKar As String Dim intLengte, intTeller, intVorige As Integer

strInvoer = txtInvoer.Text intLengte = strInvoer.Length txtUitvoer.Text = "" strUitvoer = "" intVorige = 0 For intTeller = 0 To intLengte - 1 strKar = strInvoer.Substring(intTeller, 1)

If (strKar = "a" Or strKar = "A" Or strKar = "e" Or strKar = "E" Or strKar = "u" Or strKar = "U" Or strKar = "i" Or strKar = "I" Or strKar = "o" Or strKar = "O") And intVorige = 0 Then

strUitvoer = strUitvoer & strKar & "p" & strKar intVorige = 1 Else strUitvoer = strUitvoer & strKar intVorige = 0 End If

Next

txtUitvoer.Text = strUitvoer End SubEnd Class

Page 35: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

35

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.3.4 Vraag 4 (Hoelang nog tot middernacht?)17.3.4.1 Vraag 4 – Opgave Maak een programma dat de tijd berekent tussen de huidige tijd en middernacht. De gebruiker geeft de huidige tijd in uren, minuten en seconden in. De computer berekent hoeveel uren, minuten en seconden er nog zijn tot middernacht, en geeft die weer op het scherm.

17.3.4.2 Vraag 4 – Uitwerking Public Class frmMiddernacht

Private Sub cmdAfsluiten_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAfsluiten.Click Me.Close()

End Sub

Private Sub cmdLeegmaken_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdLeegmaken.Click 'invoer leegmaken txtInvoerUur.Text = "" txtInvoerMinuten.Text = "" txtInvoerSeconden.Text = "" 'uitvoer leegmaken txtUitvoerUur.Text = "" txtUitvoerMinuten.Text = "" txtUitvoerSeconden.Text = ""

End Sub

Private Sub cmdBerekenen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdBerekenen.Click Dim intInvoerUur, intInvoerMinuten, intInvoerSeconden, intUitvoerUur, intUitvoerMinuten, intUitvoerSeconden, intTussen As Integer

intInvoerUur = txtInvoerUur.Text intInvoerMinuten = txtInvoerMinuten.Text intInvoerSeconden = txtInvoerSeconden.Text

intTussen = (intInvoerUur * 60 * 60) + (intInvoerMinuten * 60) + intInvoerSeconden intTussen = 86400 - intTussen intUitvoerSeconden = intTussen Mod 60 intTussen = intTussen \ 60 intUitvoerMinuten = intTussen Mod 60 intTussen = intTussen \ 60 intUitvoerUur = intTussen

txtUitvoerUur.Text = intUitvoerUur txtUitvoerMinuten.Text = intUitvoerMinuten txtUitvoerSeconden.Text = intUitvoerSeconden

End Sub

Page 36: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

36

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

End Class

17.4 Extra oefeningen

17.4.1 Vraag 117.4.1.1 Vraag 1 – Opgave In België en zijn buurlanden krijgen vissers een code die bestaat uit 10 tekens (controleer!). Het eerste teken staat voor het land (B = België, F = Frankrijk, N = Nederland, L = Luxemburg). Het volgende cijfer geeft de werksituatie van de visser weer (1 = student; 2, 3 en 4 = werkend; 5 en 6 = werkloos; 7, 8 en 9 = gepensioneerd)Voorbeeld: F397576345 => Franse werkende visserSchrijf een programma dat de code inleest (en dus controleert) en het land van herkomst en de werksituatie van de visser uitschrijft zoals in het bovenstaande voorbeeld.

17.4.1.2 Vraag 1 – Uitwerking Public Class frmVissersCode Private Sub cmdUitvoeren_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUitvoeren.Click Dim strInvoer, strUitvoer As String strInvoer = txtInvoer.Text If strInvoer.Length <> 10 Then MsgBox("De code moet juist 10 tekens lang zijn!", MsgBoxStyle.OkOnly, "Visserscode ingeven") Else Select Case strInvoer.Substring(0, 1) Case Is = "N" strUitvoer = "Nederlandse" Case Is = "B" strUitvoer = "Belgische" Case Is = "F" strUitvoer = "Franse" Case Is = "L" strUitvoer = "Luxemburgse" End Select Select Case strInvoer.Substring(1, 1) Case Is = "1" strUitvoer = strUitvoer & " studerende visser" Case Is = "2" strUitvoer = strUitvoer & " werkende visser" Case Is = "3" strUitvoer = strUitvoer & " werkende visser" Case Is = "4" strUitvoer = strUitvoer & " werkende visser" Case Is = "5" strUitvoer = strUitvoer & " werkloze visser" Case Is = "6" strUitvoer = strUitvoer & " werkloze visser " Case Is = "7" strUitvoer = strUitvoer & " gepensioneerde visser" Case Is = "8" strUitvoer = strUitvoer & " gepensioneerde visser" Case Is = "9" strUitvoer = strUitvoer & " gepensioneerde visser" End Select lblUitvoer.Text = strUitvoer lblUitvoer.Visible = True End If

Page 37: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

37

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

End SubEnd Class

17.4.2 Vraag 217.4.2.1 Vraag 2 – Opgave Schrijf een programma dat een zin inleest.

Als uitvoer verschijnt dezelfde zin, maar elk woord eindigt met een hoofdletter. De andere letters staan in kleine letters.

bv Ik ben vandaag ziek => iK beN vandaaG zieK

bv HET raam Is GeSloten => heT raaM iS gesloteN

Hier moet je werken met de functies Ucase() en LCase().

17.4.2.2 Vraag 2 – Uitwerking Public Class frmLaatsteLetterHoofd

Private Sub cmdUitvoeren_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUitvoeren.Click Dim intTeller, intLengte As Integer Dim strInvoer, strUitvoer, strKar As String

strInvoer = txtInvoer.Text

intLengte = strInvoer.Length intTeller = 0

For intTeller = 0 To intLengte - 2 strKar = strInvoer.Substring(intTeller, 1) If strInvoer.Substring(intTeller + 1, 1) = " " Then strKar = strKar.ToUpper Else strKar = strKar.ToLower End If strUitvoer = strUitvoer & strKar Next For intTeller = intLengte - 1 To intLengte - 1 strKar = strInvoer.Substring(intTeller, 1) strKar = strKar.ToUpper strUitvoer = strUitvoer & strKar Next txtInvoer.Text = strUitvoer End SubEnd Class

Page 38: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

38

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.4.3 Vraag 3 (Breezer-talk)17.4.3.1 Vraag 3 – Opgave Kennen jullie de tegenwoordige generatie meisjes: de BrEeZaH-gIrLz, herkenbaar aan het feit dat ze “breezers” drinken en dol zijn op deze manier van chatten: hAlLo Ik BeN EeN MeIsJe.Schrijf een programma dat een normale tekst omzet in Breezah-praat. Elke regel begint met een kleine letter en achtereenvolgens worden ze groot en klein geschreven.

17.4.3.2 Vraag 3 – Uitwerking Public Class frmBreezerPraat

Private Sub cmdUitvoeren_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUitvoeren.Click Dim intTeller, intLengte As Integer Dim strInvoer, strUitvoer, strKar As String

strInvoer = txtInvoer.Text

intLengte = strInvoer.Length intTeller = 0

For intTeller = 0 To intLengte - 1 strKar = strInvoer.Substring(intTeller, 1) If intTeller Mod 2 <> 0 Then strKar = strKar.ToUpper Else strKar = strKar.ToLower End If strUitvoer = strUitvoer & strKar Next

txtInvoer.Text = strUitvoer

End SubEnd Class

Page 39: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

39

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.4.4 Vraag 417.4.4.1 Vraag 4 – Opgave De code om het programma zelf een willekeurig getal te laten bepalen tussen 0 en 100 gaat als volgt:Dim intWillekeurigGetal As IntegerRandomize()intWillekeurigGetal = CInt(Rnd() * 100)

Schrijf een programma dat in een invoervenster een willekeurig getal doet verschijnen. De gebruiker moet de grootste deler van dat getal ingeven (strikt kleiner dan het getal). Als de gebruiker inderdaad de grootste deler heeft ingegeven, verschijnt in een label “juist antwoord”, anders verschijnt “fout antwoord”.Let er op dat in het invoervenster de tekst gesplitst wordt over twee regels.

17.4.4.2 Vraag 4 – Uitwerking Public Class frmGrootsteDeler

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUitvoeren.Click Dim intInvoer, intTeller, intTussen, intUitvoer As Integer Dim intWillekeurigGetal As Integer Randomize() intWillekeurigGetal = CInt(Rnd() * 100)

intInvoer = InputBox("Voer de grootste deler van " & intWillekeurigGetal & " in" & vbCrLf & "(strikt kleiner dan het getal zelf)")

For intTeller = 1 To intWillekeurigGetal - 1 intTussen = intWillekeurigGetal Mod intTeller If intTussen = 0 Then intUitvoer = intTeller End If Next If intInvoer = intUitvoer Then lblUitvoer.Text = "juist antwoord" Else lblUitvoer.Text = "fout antwoord" End If lblUitvoer.Visible = True End SubEnd Class

Page 40: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

40

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.4.5 Vraag 517.4.5.1 Vraag 5 – Opgave Schrijf een programma voor het volgende dobbelspel:- het spel wordt met twee spelers gespeeld- beide spelers starten met 10 punten- de spelers gooien om beurt met één dobbelsteen- als de speler 1, 2 of 3 ogen gooit, dan gaat dit aantal ogen van zijn puntentotaal als de speler 4, 5 of 6 ogen gooit, dan wordt dit aantal bij zijn puntentotaal opgeteld - het spel is ten einde al iemand meer dan 20 punten heeft of als iemand minder dan 0 punten heeft.Het programma leest telkens het aantal gegooide ogen in. Als uitvoer verschijnt de winnaar (speler 1 of speler 2)

Page 41: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

41

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.4.5.2 Vraag 5 – Uitwerking Public Class frmDobbelspel

Private Sub cmdUitvoeren_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUitvoeren.Click Dim intGetalA, intGetalB, intSomA, intSomB As Integer intSomA = 10 intSomB = 10

Do If intSomA > 0 And intSomB > 0 And intSomA < 20 And intSomB < 20 Then intGetalA = InputBox("Speler A geef je aantal gerolde ogen in")

Select Case intGetalA Case Is = 1 intSomA = intSomA - intGetalA Case Is = 2 intSomA = intSomA - intGetalA Case Is = 3 intSomA = intSomA - intGetalA Case Is = 4 intSomA = intSomA + intGetalA Case Is = 5 intSomA = intSomA + intGetalA Case Is = 6 intSomA = intSomA + intGetalA End Select End If

If intSomA > 0 And intSomB > 0 And intSomA < 20 And intSomB < 20 Then intGetalB = InputBox("Speler B geef je aantal gerolde ogen in") Select Case intGetalB Case Is = 1 intSomB = intSomB - intGetalB Case Is = 2 intSomB = intSomB - intGetalB Case Is = 3 intSomB = intSomB - intGetalB Case Is = 4 intSomB = intSomB + intGetalB Case Is = 5 intSomB = intSomB + intGetalB Case Is = 6 intSomB = intSomB + intGetalB End Select End If

Loop Until intSomA <= 0 Or intSomB <= 0 Or intSomA >= 20 Or intSomB >= 20 If intSomA <= 0 Or intSomB > 20 Then MsgBox("Speler B is de winnaar") Else MsgBox("Speler A is de winnaar") End If End SubEnd Class

Page 42: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

42

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

Page 43: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

43

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.4.6 Vraag 617.4.6.1 Vraag 6 – Opgave Ontwerp onderstaand formulier:

Als login moet de gebruiker de afkorting van zijn functie ingegeven en daarna zijn paswoord. De lijst van de functies en de paswoorden vind je hier:

Functie paswoordLSO (Leraar secundair onderwijs) Leraar123LKO (Leraar kleuteronderwijs) Leraar123LLO (Leraar lager onderwijs) Leraar123ADM (Administratief personeel) Adm123DIR (Directie) Adm123INFO (Informaticadienst) Info123SCHOON (schoonmaakdienst) Schoon123 Bij een correcte aanmelding verschijnt een formulier met de volgende layout:

Bij een incorrecte aanmelding verschijnt een formulier met deze layout:

Page 44: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

44

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.4.6.2 Vraag 6 – Uitwerking Public Class login

Private Sub cmdAanmelden_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdAanmelden.Click Dim frmControle As New controle Dim strLogin, strWachtwoord, strHulp As String strLogin = txtLogin.Text strWachtwoord = txtWachtwoord.Text strHulp = "LSO" Select Case strLogin Case Is = "LSO" If strWachtwoord = "Leraar123" Then frmControle.lblUitvoer.Text = "Welkom" Else frmControle.lblUitvoer.Text = "foutieve login" End If Case Is = "LKO" If strWachtwoord = "Leraar123" Then frmControle.lblUitvoer.Text = "Welkom" Else frmControle.lblUitvoer.Text = "foutieve login" End If Case Is = "LLO" If strWachtwoord = "Leraar123" Then frmControle.lblUitvoer.Text = "Welkom" Else frmControle.lblUitvoer.Text = "foutieve login" End If Case Is = "ADM" If strWachtwoord = "Adm123" Then frmControle.lblUitvoer.Text = "Welkom" Else frmControle.lblUitvoer.Text = "foutieve login" End If Case Is = "DIR" If strWachtwoord = "Adm123" Then frmControle.lblUitvoer.Text = "Welkom" Else frmControle.lblUitvoer.Text = "foutieve login" End If Case Is = "INFO" If strWachtwoord = "Info123" Then frmControle.lblUitvoer.Text = "Welkom" Else frmControle.lblUitvoer.Text = "foutieve login" End If Case Is = "SCHOON" If strWachtwoord = "Schoon123" Then frmControle.lblUitvoer.Text = "Welkom" Else frmControle.lblUitvoer.Text = "foutieve login" End If Case Else frmControle.lblUitvoer.Text = "foutieve login" End Select frmControle.Show()

End SubEnd Class

Page 45: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

45

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.4.7 Vraag 717.4.7.1 Vraag 7 – Opgave Ontwerp onderstaand formulier:

Bij het menu “kleur” kan je kiezen voor “formulier” of “label”.o menu kleur > formulier: er verschijnt een invoervenster. De gebruiker kan rood,

groen, blauw of geel ingeven. De achtergrondkleur van het formulier wijzigt in de ingegeven kleur. Wordt een andere kleur ingegeven dan verschijnt een tweede formulier:

o menu kleur > label: er verschijnt een invoervenster. De gebruiker kan rood, groen, blauw of geel ingeven. De achtergrondkleur van het label wijzigt in de ingegeven kleur. Wordt een andere kleur ingegeven dan verschijnt eveneens hetzelfde tweede formulier.

Bij het menu “tekst” kan je kiezen voor “titelbalk” of “label”o menu tekst > titelbalk: er verschijnt een invoervenster. De tekst die de gebruiker

ingeeft verschijnt in de titelbalk van het formuliero menu tekst > label: er verschijnt een invoervenster. De tekst die de gebruiker

ingeeft verschijnt in het label

17.4.7.2 Vraag 7 – Uitwerking Public Class frmFormulierKleur

Private Sub LabelToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LabelToolStripMenuItem.Click Dim strInvoer As String

strInvoer = InputBox("Welke kleur moet het label hebben?")

Select Case strInvoer Case Is = "rood" lblUitvoer.BackColor = Color.Red Case Is = "groen" lblUitvoer.BackColor = Color.Green Case Is = "blauw" lblUitvoer.BackColor = Color.Blue Case Is = "geel" lblUitvoer.BackColor = Color.Yellow Case Else MsgBox("Je kan enkel kiezen tussen rood, groen, blauw of geel. Kies een andere kleur", MsgBoxStyle.OkOnly)

Page 46: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

46

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

End Select

End Sub

Private Sub FormulierToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles FormulierToolStripMenuItem.Click Dim strInvoer As String

strInvoer = InputBox("Welke kleur moet het label hebben?")

Select Case strInvoer Case Is = "rood" Me.BackColor = Color.Red Case Is = "groen" Me.BackColor = Color.Green Case Is = "blauw" Me.BackColor = Color.Blue Case Is = "geel" Me.BackColor = Color.Yellow Case Else MsgBox("Je kan enkel kiezen tussen rood, groen, blauw of geel. Kies een andere kleur", MsgBoxStyle.OkOnly) End Select End Sub

Private Sub TittelbalkToolStripMenuItem_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TittelbalkToolStripMenuItem.Click Dim strInvoer As String

strInvoer = InputBox("Welke tekst moet er in de tittelbalk komen?") Me.Text = strInvoer End Sub

Private Sub LabelToolStripMenuItem1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LabelToolStripMenuItem1.Click Dim strInvoer As String

strInvoer = InputBox("Welke tekst moet er in de label komen?") lblUitvoer.Text = strInvoer End SubEnd Class

Page 47: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

47

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.5 Oefenexamen 2009-2010

17.5.1 Vraag 117.5.1.1 Vraag 1 – Opgave Ontwerp onderstaand formulier:

De gebruiker geeft een tekstje in. Na een klik op de knop of na het drukken op “enter” wordt detekst aangepast:Na een punt (.), vraagteken (?) of uitroepingsteken (!) wordt een nieuwe regel genomen.De spatie die eventueel op één van deze leestekens volgt wordt verwijderd.Na een komma (,) of puntkomma (;) moet één spatie staan. Die spatie kan al dan nietingegeven zijn tijdens de invoer.

Als de invoer geen leestekens bevatte, wordt dit vermeld.

Page 48: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

48

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.5.1.2 Vraag 1 – Uitwerking Public Class frmLeestekens

Private Sub cmdUitvoeren_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles cmdUitvoeren.Click Dim intTeller, intLengte, intCon As Integer Dim strInvoer, strUitvoer, strVorige, strKar As String

strInvoer = txtInvoer.Text intLengte = strInvoer.Length intTeller = 0 strUitvoer = ""

strVorige = "$" strUitvoer = "" For intTeller = 0 To intLengte - 1 strKar = strInvoer.Substring(intTeller, 1) If strKar = " " And (strVorige = "." Or strVorige = "?" Or strVorige = "!") Then strKar = "" strUitvoer = strUitvoer & strKar intCon = 1 Else strUitvoer = strUitvoer & strKar End If strVorige = strKar Next strInvoer = strUitvoer intLengte = strInvoer.Length intTeller = 0 strVorige = "$" strUitvoer = "" For intTeller = 0 To intLengte - 1 strKar = strInvoer.Substring(intTeller, 1) If strKar = "." Or strKar = "?" Or strKar = "!" Then strUitvoer = strUitvoer & strKar & vbCrLf intCon = 1 Else strUitvoer = strUitvoer & strKar End If Next

strInvoer = strUitvoer intLengte = strInvoer.Length intTeller = 0 strVorige = "$" strUitvoer = "" For intTeller = 0 To intLengte - 1 strKar = strInvoer.Substring(intTeller, 1) If strKar = " " And strVorige = vbCrLf Then strKar = "" strUitvoer = strUitvoer & strKar Else strUitvoer = strUitvoer & strKar End If strVorige = strKar Next

strInvoer = strUitvoer intLengte = strInvoer.Length intTeller = 0 strVorige = "$"

Page 49: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

49

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

strUitvoer = "" For intTeller = 0 To intLengte - 1 strKar = strInvoer.Substring(intTeller, 1)

If strVorige = "," And strKar <> " " Then strKar = " " & strKar strUitvoer = strUitvoer & strKar intCon = 1 Else strUitvoer = strUitvoer & strKar End If strVorige = strKar Next If intCon <> 1 Then strUitvoer = "Er zijn geen leestekens" End If txtInvoer.Text = strUitvoer End SubEnd Class

17.5.2 Vraag 217.5.2.1 Vraag 2 – Opgave Ontwerp een formulier voor het omzetten van snelheden:

- De gebruiker geeft een waarde in in het tekstvak

- In de keuzelijst kan hij kiezen tussenIn omzetten in kan de gebruiker kiezen verschillende snelheden.Na het klikken op bereken verschijnt een dialoogvenster met de omzetting van de oorspronkelijke snelheid in de gekozen snelheid/snelheden

kommagetalen worden afgrond op twee cijfers na de komma.Verzorg de uitvoer zoals het voorbeeld hierboven.

Page 50: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

50

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.5.2.2 Vraag 2 – Uitwerking

17.5.3 Vraag 317.5.3.1 Vraag 3 – Opgave

17.5.3.2 Vraag 3 – Uitwerking

Page 51: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

51

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.6 Oefenexamen uit cursus

17.6.1 Vraag 117.6.1.1 Vraag 1 – Opgave

17.6.1.2 Vraag 1 – Uitwerking

17.6.2 Vraag 217.6.2.1 Vraag 2 – Opgave

17.6.2.2 Vraag 2 – Uitwerking

17.6.3 Vraag 317.6.3.1 Vraag 3 – Opgave

17.6.3.2 Vraag 3 – Uitwerking

17.6.4 Vraag 417.6.4.1 Vraag 4 – Opgave

17.6.4.2 Vraag 4 – Uitwerking

Page 52: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

52

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.7 Examen andere groep

17.7.1 Vraag 117.7.1.1 Vraag 1 – Opgave Was met substring. Je moest een woord herschrijven zodat je elke letter maar een keer meer kreeg. Dit moest gebeuren als je op enter duwde. De objecten die je had waren een tekstvak(invoer) en label(uitvoer). Moet dus werken met een e.char gedoe. Een voorbeeld: Kikkerrrrrr --> kier

17.7.1.2 Vraag 1 – Uitwerking

17.7.2 Vraag 217.7.2.1 Vraag 2 – Opgave Als je u form laad(prog opent dus) verschijnt er een getal tussen 1000 en 9999 (ge doet dus ne random met randomize en dan zet ge der een while in zodat ge alle getallen onder de 1000 een nieuw getal inleest) dit geef je weer in een label. Dan heb je een tekstvak en vanaf dat je er 4 getallen ingeeft moet in een lbluitvoer een kleur verschijnen, groen als het getal dat je ingaf overeenstemt met het getal dat verscheen, rood als dit niet zo is.

17.7.2.2 Vraag 2 – Uitwerking

17.7.3 Vraag 317.7.3.1 Vraag 3 – Opgave 3 comboboxen met in respectievelijk dagen(31) maanden(12) en jaren(van 1900 tot 2011). Vanaf dat je deze 3 invulde(bvb 7-5-2000) opent er een 2e form met een label waarin verschijnt 7 mei 2000. Het mag niet uitmaken of je eerst dag of maand of jaar selecteerde, mag dus willikeurige volgorde zijn, bvb eerst jaar aanduiden, dan dag en dan pas maand, of andere volgorde maakte allemaal niet uit. Grootste moeilijkheid was het automatisch inladen van dagen en maanden. MAg je niet in de ontwerpweergave doen maar in form load. DIt is niet moeilijk, maar alles moest automatisch gaan zodat je niet alle dagen van 1 tot 31 handmatig moest typen(en dus 31 regels code krijgt) Dit doe je door een

if teller = 1 to 31list.items.add(teller)nextdan vult hij da automatisch tot 31 in. bij maanden ist teller = 1 to 12 en voor jaren: teller = 1900 to 2011.

17.7.3.2 Vraag 3 – Uitwerking

Page 53: Web viewJe voegt een tweede formulier als volgt toe aan jouw project: menu 'project' > 'Add windows form ... word of om leesbaarheid van project te behouden ... index van het

53

Arteveldehogeschool – OSO VS Informatica – Visual Basic (D2) 2010-2011Samenvatting AHS/PBAOSON/6288/1/2010-11 Sonny Coddens-Cornelis

17.7.4 Vraag 417.7.4.1 Vraag 4 – Opgave Maak een trackbar en koppel aan elke waarde van de trb een foto. je had 7 foto's, als de trb links stond zag je een foto, eentje meer naar rechts volgende foto enz enz. Zeer makkelijk dus, waarden van u trb instellen met een max. En dan gewoon met een case werken en elke waarde aan een foto koppelen. En bij het inladen direct een foto in uwen pcb zetten.

17.7.4.2 Vraag 4 – Uitwerking