copyright 1999 - 2014 by heinz prelle - hannover  - lenbachstraße 42 - www.visual-basic5.de | impressum
'Beispiel: VB .Net - Fettkalorien in Prozent berechnen
'
Option Explicit On
Option Strict On

Imports System.Diagnostics.Process

Public Class Form1

    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) _
            Handles MyBase.Load
        Me.CenterToScreen()
        Me.Text = "Wieviel Prozent der Gesamt-Kalorien eines Lebensmittels sind Fettkalorien?"
        Dim inf As Informations = New Informations()
        Me.TextBox1.Text = inf.ToString() : Me.TextBox1.SelectionStart = 0
        Me.TextBox2.Text = "11,64" : Me.TextBox3.Text = "372,1"
        Me.Label2.Text = "Fettangabe: z.B. 11,64 g Fett Packungsangabe"
        Me.Label3.Text = "Gesamtkalorien: z.B. 372,1 kcal Packungsangabe"
        Me.TextBox2.MaxLength = 7
        Me.TextBox3.MaxLength = 7
        Try
            Dim url As String = "http://www.visual-basic5.de"
            Me.LinkLabel1.Text = "Besuchen Sie: " & url
            Me.LinkLabel1.Links.Add(14, url.Length)
        Catch
        End Try
        Me.LinkLabel1.BackColor = Color.Transparent
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) _
            Handles Button1.Click
        Try
            Dim a As Double = CType(Me.TextBox2.Text, Double)
            Dim b As Double = CType(Me.TextBox3.Text, Double)

            If b / a < 9.3F Then
                MessageBox.Show( _
                    "Die angegebene Fettmenge ist f r die Kalorienangabe zu hoch.", _
                    "Info", _
                    MessageBoxButtons.OK, _
                    MessageBoxIcon.Information)
                Me.TextBox2.Text = ""
                Me.TextBox3.Text = ""
                Me.TextBox4.Text = ""
                Return
            End If

            Dim c As Double = a * 9.3F
            Dim Result As Double = c / b * 100
            Me.TextBox4.Text = CType(Math.Round(Result, 1), String) & " %" & System.Environment.NewLine & _
                " Fettanteil in der angegebenen Menge"
        Catch ex As Exception
            MessageBox.Show(ex.Message.ToString(), "Info")
        End Try
    End Sub

    Private Sub TextBox2_KeyPress(ByVal sender As System.Object, _
            ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox2.KeyPress
        LimitTextboxInput(e, Me.TextBox2)
    End Sub

    Private Sub TextBox3_KeyPress(ByVal sender As System.Object, _
            ByVal e As System.Windows.Forms.KeyPressEventArgs) Handles TextBox3.KeyPress
        LimitTextboxInput(e, Me.TextBox3)
    End Sub

    Private Sub LimitTextboxInput(ByVal e As System.Windows.Forms.KeyPressEventArgs, _
            ByVal tb As System.Windows.Forms.TextBox)
        Select Case e.KeyChar
            Case Chr(48) To Chr(57)
            Case Chr(8)
            Case ","c
                If tb.Text.IndexOf(",") = -1 Then
                    e.Handled = False
                Else
                    e.Handled = True
                End If
            Case "."c
                SendKeys.Send(",")
                e.Handled = True
            Case Else
                e.Handled = True
        End Select
    End Sub

    Private Sub TextBox2_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) _
            Handles TextBox2.MouseDown
        With Me.TextBox2
            .SelectionStart = 0
            .SelectionLength = .Text.Length
        End With
    End Sub

    Private Sub TextBox3_MouseDown(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) _
            Handles TextBox3.MouseDown
        With Me.TextBox3
            .SelectionStart = 0
            .SelectionLength = .Text.Length
        End With
    End Sub

    Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, _
            ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgs) Handles LinkLabel1.LinkClicked
        Try
            Dim url As String = Me.LinkLabel1.Text.Substring(e.Link.Start, e.Link.Length)
            Start(url)
        Catch ex As Exception
            MessageBox.Show(ex.Message.ToString(), "Info")
        End Try
    End Sub

    Private Sub LinkLabel1_MouseEnter(ByVal sender As Object, ByVal e As System.EventArgs) _
            Handles LinkLabel1.MouseEnter
        Me.ToolStripStatusLabel1.Text = "http://www.visual-basic5.de besuchen"
    End Sub

    Private Sub LinkLabel1_MouseLeave(ByVal sender As Object, ByVal e As System.EventArgs) _
            Handles LinkLabel1.MouseLeave
        Me.ToolStripStatusLabel1.Text = ""
    End Sub

End Class

Public Class Informations

    Public Sub New()
    End Sub

    Public Overrides Function ToString() As String
        Dim sb As New System.Text.StringBuilder
        With sb
            .Append("Beispiel:")
            .Append("\n1. Auf einem Becher Kr uterk se steht als Fettangabe")
            .Append("\n11,64 g Fett und 372,1 kcal Gesamtkalorien per 100 g.")
            .Append("\nDie Berechnung der Fettkalorien erfolgt dann so:")
            .Append("\nSie multiplizieren 11,64 g Fett x 9,3")
            .Append("\n(1 Gramm Fett = 9,3 Kalorien) = 108,252 Kalorien")
            .Append("\nDas bedeutet: 108,252 Kalorien von 372,1 Gesamtkalorien")
            .Append("\nsind ca. zwei drittel reine Fettkalorien und f r eine")
            .Append("\nbewusste Ern hrung somit ungeeignet. Wollen Sie wissen,")
            .Append("\nwieviel Prozent das sind? Dann teilen Sie 108,252")
            .Append("\ndurch 372,1 und kommen auf 0,290 x 100 = 29,0921 %.")
        End With
        sb.Replace("\n", System.Environment.NewLine)
        Return sb.ToString()
    End Function
End Class