Sunday, November 30, 2008

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:

image

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

posted on Sunday, November 30, 2008 10:06:05 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Tuesday, November 18, 2008

Har lige undervist et par dage i Avanceret ASP.NET på TI og lovede at smide et par links til de værktøjer vi benyttede (måske kan andre også få glæde af dem):

Herudover snakkede vi lidt om

Det var vist det ;)

posted on Tuesday, November 18, 2008 6:38:10 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]
 Friday, November 07, 2008

Jeg har til Alt om DATA skrevet en artikelserie om den nyeste version af VB.NET og de muligheder man har som VB (.NET) udvikler. Første del er en intro og skulle så vidt jeg har forstået komme i bladet primo november (hvilket jo er nu). Der er planlagt i alt fem artikler.

I den første artikel beskriver jeg VB.NET 9.0 og Visual Studio 2008 (VB Express), og viser samtidig en lille simpel konsolapplikation til at genere tilfældige regnstykker (forklaring i artiklen).

resultat

I artiklen lovede jeg at gøre koden tilgængelig her – så her er den:

Sub Main()

    ' Nyt objekt til at finde tilfældige tal
    Dim rnd As New Random
    ' Variabel til output
    Dim output As String = ""

    ' Ti regnestykker
    For index As Integer = 1 To 10
        Dim tal1 As Integer = rnd.Next(1, 7)
        Dim tal2 As Integer = rnd.Next(1, 7)
        output &= tal1 & " + " & tal2 & " = " & vbCrLf
    Next

    ' Udskriv til konsole
    Console.WriteLine(output)

    ' Afvent klik på Enter
    Console.ReadLine()

End Sub

I artiklen bliver der ligeledes nævnt et par interessante links:

Jeg har skrevet og afleveret del to (WinForm) og tre (ASP.NET) og skal nok smide kode og links her inden bladene er ude af trykken.

posted on Friday, November 07, 2008 2:56:38 PM (Romance Standard Time, UTC+01:00)  #    Comments [0]