Kan iemand deze code bekijken.

Status
Niet open voor verdere reacties.

bmo89

Nieuwe gebruiker
Lid geworden
12 jun 2007
Berichten
1
Hallo,
Ik moet voor school een opdracht maken met visual basic en ben dus weinig ervaring met dit programma.
Ik heb nu een stuk code geschreven maar krijg een foutmelding. Kan iemand mij helpen?
Toevoegen op msn kan ook, bartmol@planet.nl

De code:

Private Sub cmdBereken_Click()

'Dit programma is gemaakt door Bart Mol
'Met dit programma kun je je Quetelet Index laten bepalen
'Hiermee kan worden vastgesteld of er sprake is van overgewicht
'Je Quetelet Index wordt bepaald met behulp van je lengte
'en je gewicht

'Declaratie van de variabelen
Dim strLengte, strGewicht, strQia, strBoodschap As String
Dim dblLengte, dblGewicht, dblQia, dblQi As Double

'Inlezen van textboxen in de variabelen (strings)
strLengte = txtLengte.Text
strGewicht = txtGewicht.Text

'Omzetten van strings naar doubles (om mee te kunnen rekenen)
dblLengte = Val(strLengte)
dblGewicht = Val(strGewicht)

'Hoofdprogramma - berekenen van de Quetelet Index

'Bij een vrouw 6 cm van de lengte afhalen
If optVrouw = True Then
dblLengte = dblLengte - 6
End If

'De lengte omzetten van cm naar m
dblLengte = dblLengte / 100

'De Quetelet Index berekenen
dblQi = dblGewicht / (dblLengte ^ 2)

'De Quetelet Index afronden op één decimaal
dblQia = Int(dblQi * 10 + 0.5) / 10

'De boodschap schrijven: te zwaar of niet te zwaar
If dblQia > 25 Then strBoodschap = "Te zwaar." Else strBoodschap = "Niet te zwaar."

'Omzetten van double naar string
strQia = Str(dblQia)

'Het antwoord, de Qia, plaatsen in de tekstbox met de methode .Text
txtQia.Text = strQia

'De boodschap schrijven in de bijbehorende tekstbox met de methode .Text
txtBoodschap.Text = strBoodschap

End Sub

Hier een plaatje van de lay-out:
formui4.png


En hier de namen van de objecten:
- imgAppel
- lblKeuze
- optMan
- optVrouw
- lblLengte
- txtLengte
- lblGewicht
- txtGewicht
- cmdBereken
- lblQI
- txtQI
- lblAdvies
- txtAdvies

Alvast bedankt
 
Je fout zat in deze code:
Code:
If optVrouw.Checked = True Then
            dblLengte = dblLengte - 6
End If

Je kan niet kijken of een radiobutton True is, je moet hiervoor de property Checked opvragen.
Waarschijnlijk gewoon een verstrooidheidsfoutje ;)
Wanneer ik de berekening uitvoer kom ik wel een abnormaal hoog getal uit voor mijn eigen gegevens. Dus ik veronderstel dat er daar ook nog wel ergens een berekeningsfoutje gebeurd.
Maar dit kan je zelf wel oplossen veronderstel ik :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan