Alt om DATA nr. 26 er netop kommet på gaden er der findes del 2 af artikelserien om VB.NET – denne gang med fokus på WinForm-udvikling. Der blev taget udgangspunkt i en simpel BMI beregner:
Koden bag applikationen var rimelig simpel, og kan eventuel klippes fra følgende (forklaring på koden findes i artiklen). Hele projektet kan i zippet form findes her - BMIBeregner.zip (14,88 KB).
Private Function CheckHøjde(ByVal højde As String) As Boolean
If Not IsNumeric(højde) Then Return False
If CInt(txtHøjde.Text) < 30 Or _
CInt(txtHøjde.Text) > 250 Then Return False
Return True
End Function
Private Function CheckBMI(ByVal bmi As String) As Boolean
If Not IsNumeric(bmi) Then Return False
If CDbl(txtBMI.Text) < 10 _
Or CDbl(txtBMI.Text) > 50 Then Return False
Return True
End Function
Private Function CheckVægt(ByVal vægt As String) As Boolean
If Not IsNumeric(vægt) Then Return False
If CInt(txtVægt.Text) < 30 _
Or CInt(txtVægt.Text) > 200 Then Return False
Return True
End Function
Private Sub btnBeregnBMI_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnBeregnBMI.Click
If Not CheckHøjde(txtHøjde.Text) Or Not CheckVægt(txtVægt.Text) Then
MsgBox("Der er angivet forkerte data")
Exit Sub
End If
Dim vægt As Double = CDbl(txtVægt.Text)
Dim højde As Double = CDbl(txtHøjde.Text)
Dim bmi As Double = vægt / ((højde / 100) * (højde / 100))
txtBMI.Text = bmi.ToString("n1")
SkrivBMIVurdering()
End Sub
Private Sub btnBeregnVægt_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles btnBeregnVægt.Click
If Not CheckHøjde(txtHøjde.Text) Or Not CheckBMI(txtBMI.Text) Then
MsgBox("Der er angivet forkerte data")
Exit Sub
End If
Dim højde As Double = CDbl(txtHøjde.Text)
Dim bmi As Double = CDbl(txtBMI.Text)
Dim vægt As Double = bmi * ((højde / 100) * (højde / 100))
txtVægt.Text = vægt.ToString("n1")
SkrivBMIVurdering()
End Sub
Private Sub SkrivBMIVurdering()
Select Case CDbl(txtBMI.Text)
Case Is < 18.5
lblBMIVurdering.Text = "Du vejer for lidt"
lblBMIVurdering.ForeColor = Color.Red
Case 18.5 To 25
lblBMIVurdering.Text = "Din vægt er passende"
lblBMIVurdering.ForeColor = Color.Green
Case 25.1 To 30
lblBMIVurdering.Text = "Du er overvægtig"
lblBMIVurdering.ForeColor = Color.Red
Case Is > 30
lblBMIVurdering.Text = "Du er svært overvægtig"
lblBMIVurdering.ForeColor = Color.Red
End Select
End Sub