Functies: code
- De leeftijd berekenen in een functie:
Function leeftijd1(geboortedatum As Date) As
Integer
leeftijd1 = Int((Now - geboortedatum) / 365.25)
End Function
of, wat ook kan:
Function leeftijd2(geboortedatum As Date) As
Integer
leeftijd2 = DateDiff("yyyy", geboortedatum, Now)
End Function
- Een functie om het BMI te berekenen op basis van
de lengte en het gewicht.
Function bmi(lengte_in_cm As Single, gewicht As
Single) As Single
bmi = gewicht / (lengte_in_cm * lengte_in_cm)
Exit Function
- Een vergelijkbare functie om een conclusie te
formuleren op basis van het BMI berekend met gewicht en lengte.
Function bmiconclusie(lengte_in_cm As Single,
gewicht As Single) As String
Dim bmi As Double
bmi = gewicht / (lengte_in_cm * lengte_in_cm)
If bmi < 18.5 Then
bmiconclusie = "Ondergewicht"
End If
If bmi < 25 Then 'de andere gevallen hebben we al gehad
bmiconclusie = "Normaal gewicht"
End If
If bmi < 30 Then
bmiconclusie = "Licht overgewicht"
End If
If bmi < 35 Then
bmiconclusie = "Overgewicht"
End If
If bmi < 40 Then
bmiconclusie = "Stevig overgewicht"
End If
bmiconclusie = " Zwaar overgewicht"
End Function
- Een functie om te bepalen tot welke provincie een
postcode behoort
Function provincie(postcode As Integer) As
String
Select Case postcode
Case 1000 To 1299
provincie = "Brussel"
Case 1300 To 1499
provincie = "Waals-Brabant"
Case 1500 To 1999
provincie = "Vlaams-Brabant"
Case 2000 To 2999
provincie = "Antwerpen"
Case 3000 To 3499
provincie = "Vlaams-Brabant"
Case 3500 To 3999
provincie = "Limburg"
Case 4000 To 4999
provincie = "Liège"
Case 5000 To 5999
provincie = "Namur"
Case 6000 To 6699
provincie = "Hainaut"
Case 6700 To 6999
provincie = "Luxembourg"
Case 7000 To 7999
provincie = "Hainaut"
Case 8000 To 8999
provincie = "West-Vlaanderen"
Case 9000 To 9999
provincie = "Oost-Vlaanderen"
End Select
End Function
- Een functie die het grootste van twee getallen teruggeeft
Function grootste(ByVal getal1 As Double, ByVal
getal2 As Double) As Double
If getal1 > getal2 Then
grootste = getal1
Else
grootste = getal2
End If
End Function
- Een functie die de eerste en de laatste letter van een string teruggeeft
Function eerstelaatste(ByVal woord As String)
As String
eerstelaatste = Left(woord, 1) & Right(woord, 1)
End Function
[In .NET doe je dit met Mid.]
- Een functie die een getal uit een tekst haalt: alle cijfers worden achter
elkaar gezet: a1a2a3 wordt 123. Daarvoor overlopen we de tekst letter
per letter met Mid$. Lees deze code aandachtig en zorg dat je ze begrijpt:
het is een veelgebruikt mechanisme.
Function haalgetaluit(ByVal woord As String)
As Double
Dim positie As Integer
Dim letter As String
Dim outputbuffer As String
For positie = 1 To Len(woord)
letter = Mid(woord, positie, 1)
If IsNumeric(letter) Then
outputbuffer = outputbuffer & letter
End If
Next positie
haalgetaluit = CDbl(outputbuffer)
End Function
[VB Web] - [hlrnet]
- [copyright]