vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Mails senden, abrufen und decodieren - ganz easy ;-)  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Fortgeschrittene
Re: Idealgewicht Rechner 
Autor: ronnie
Datum: 19.07.14 11:01

Das war der Link zu deinem Post auf ActiveVB.
Also hier nochmal meine Antwort:
Zitat:


ich würde mal drauf tippen das du in eine der Textboxen keine Zahl eingegeben hast.
Entweder du musst das abfangen oder du nimmst z.B. ein NumericUpDown Control.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Idealgewicht Rechner 
Autor: Chief
Datum: 17.10.03 22:50

Hallo,
ich habe mal in VB6 links einen Idealgewicht Rechner gefunden ( BMI ).
Die Berechnung funktioniert in VB6 ganz gut, nur wenn ich den Code in VB.NET in meinem Projekt einfüge funktioniert es natürlich nicht.
Wo muß ich die Option Explicit reinschreiben?

Hat jemand für mich eine Lösung wie ich den Code umschreiben soll so das es in VB.NET funktioniert?

Gruß und Danke
Chief

Hier der Code:

Option Explicit
Private Sub Berechnen()
' BMI berechnen
Dim Gewicht As Single
Dim Groesse
Dim BMI As Single

If Trim$(IdealKg.Text) <> "" Then
Gewicht = CDec(IdealKg.Text)
Else
Gewicht = 0
End If

If Trim$(IdealCm.Text) <> "" Then
Groesse = CDec(IdealCm.Text)
Else
Groesse = 0
End If

If Gewicht > 0 And Groesse > 0 Then
BMI = (Gewicht / (Groesse / 100) ^ 2)
IdealWert.Caption = "Ihr Wert: " & BMI
Else
IdealWert.Caption = "Ihr Wert: " & 0
End If
End Sub


Private Sub IdealKg_Change()
' Bei Änderung des Textinhalts Berechnung aufrufen
Berechnen
End Sub

Private Sub IdealCm_Change()
' Bei Änderung des Textinhalts Berechnung aufrufen
Berechnen
End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: Chief
Datum: 17.10.03 23:34

Hallo,

falss es jemand interessiert, der Idealgewicht rechner funktioniert mit dem VB6 Code auch.

Man benötigt 2 TextBoxen und ein Label, im Label wird dann der Wert ausgegeben.
In der oberen TextBox Kg eingeben, in der unteren TextBox Größe in cm.
Beim verändern der Größe, ändert sich auch der Wert sprich BMI.

Gruß
Chief

So sieht der Code aus:

In Form1:

Private Sub Berechnen()

' BMI berechnen

Dim Gewicht As Single
Dim Groesse
Dim BMI As Single

If Trim$(TextBox1.Text) <> "" Then
Gewicht = CDec(TextBox1.Text)
Else
Gewicht = 0
End If

If Trim$(TextBox2.Text) <> "" Then
Groesse = CDec(TextBox2.Text)
Else
Groesse = 0
End If

If Gewicht > 0 And Groesse > 0 Then
BMI = (Gewicht / (Groesse / 100) ^ 2)
Label12.Text() = "Ihr Wert: " & BMI
Else
Label12.Text() = "Ihr Wert: " & 0
End If
End Sub


Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox1.TextChanged

Berechnen()

End Sub

Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles TextBox2.TextChanged

Berechnen()

End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: Sloorg
Datum: 02.07.14 03:41

Hi Chief,

hab gerade dein Thema hier gefunden - ich stehe vor ner ähnlichen Aufgabe:

Erstellen Sie ein Programm mit folgender Fachlichkeit:
Ein Formular erwartet die Eingabe von Namen, Größe, Geschlecht und Gewicht einer Person.
Beim Drücken des Buttons Berechnen wird ein zweites Formular angezeigt, das Angaben
über das Idealgewicht, das Istgewicht und ein eventuelles Über- oder Untergewicht enthält.
Der Berechnungsfaktor für männliche Personen beträgt 0,9, für weibliche Personen 0,85. Die
Formel zur Berechnung des Idealgewichtes lautet:
Idealgewicht = Körpergröße - 100 * Faktor

Hat jmd. ne Idee, wie man das umschreiben könnte?
Salut, Sloorg! B)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: Sloorg
Datum: 02.07.14 03:43

Fortsetzung - Text war zu lang:

Bisher hab ich das hier:

Imports System.Console
Module Module1
    Dim gewicht, körpergröße, alter As Integer
    Dim bmi As Short
    Dim strGewicht, strGröße, strAlter As String
 
    Sub Main()
        WriteLine("Berechnung Ihres BMI (Body Mass Index)" & vbNewLine)
        WriteLine("Bitte geben Sie Ihr Gewicht in kg ein: ")
 
        Do While (IsNumeric(strGewicht) = False)
            strGewicht = ReadLine()
        Loop
        gewicht = CInt(strGewicht)
        WriteLine("Geben Sie bitte Ihre Größe in cm ein: ")
 
        Do While (IsNumeric(strGröße) = False)
            strGröße = ReadLine()
        Loop
        körpergröße = CInt(strGröße)
 
        WriteLine("Geben Sie bitte Ihr Alter ein: ")
        Do While (IsNumeric(strAlter) = False)
            strAlter = ReadLine()
        Loop
        alter = CInt(strAlter)
 
        WriteLine("Ihr BMI beträgt:")
        Try
            bmi = CShort(gewicht / ((körpergröße / 100) ^ 2))
            WriteLine(CStr(bmi) & vbNewLine)
            Select Case alter
                Case 18 To 24
                    Select Case bmi
                        Case 19 To 24
                            WriteLine("Ihr BMI-Wert is im normalen Bereich!")
 
                        Case Is < 19
                            WriteLine("Sie neigen zur Untergewichtigkeit!")
                        Case Is > 24
                            WriteLine("Sie neigen zur Übergewichtigkeit!")
 
                    End Select
                Case 25 To 34
                    Select Case bmi
                        Case 20 To 25
                            WriteLine("Ihr BMI-Wert ist im normalen Bereich!")
                        Case Is < 20
                            WriteLine("Sie neigen zur Untergewichtigkeit!!")
                        Case Is > 25
                            WriteLine("Sie neigen zur Übergewichtigkeit!")
                    End Select
                Case 35 To 44
                    Select Case bmi
                        Case 21 To 26
                            WriteLine("Ihr BMI-Wert ist im normalen Bereich!")
                        Case Is < 21
                            WriteLine("Sie neigen zur Untergewichtigkeit!!")
                        Case Is > 26
                            WriteLine("Sie neigen zur Übergewichtigkeit!")
                    End Select
                Case 45 To 54
                    Select Case bmi
                        Case 22 To 27
                            WriteLine("Ihr BMI-Wert ist im normalen Bereich!")
                        Case Is < 22
                            WriteLine("Sie neigen zur Untergewichtigkeit!!")
                        Case Is > 27
                            WriteLine("Sie neigen zur Übergewichtigkeit!")
                    End Select
                Case 55 To 64
                    Select Case bmi
                        Case 23 To 28
                            WriteLine("Ihr BMI-Wert ist im normalen Bereich!")
                        Case Is < 23
                            WriteLine("Sie neigen zur Untergewichtigkeit!!")
                        Case Is > 28
                            WriteLine("Sie neigen zur Übergewichtigkeit!")
                    End Select
                Case Is > 64
                    Select Case bmi
                        Case 24 To 29
                            WriteLine("Ihr BMI-Wert ist im normalen Bereich!")
                        Case Is < 24
                            WriteLine("Sie neigen zur Untergewichtigkeit!!")
                        Case Is > 29
                            WriteLine("Sie neigen zur Übergewichtigkeit!")
                    End Select
                Case Is < 18
                    WriteLine("Sie müssen volljährig sein um diesen BMI-Test" & _
                      "durchzuführen!")
                Case Else
                    WriteLine("Es ist ein Fehler aufgetreten!")
            End Select
            WriteLine(vbNewLine)
            WriteLine("Vielen Dank für Ihren BMI-Test!")
        Catch ex As Exception
            WriteLine("Ihr BMI konnte NICHT berechnet werden! Bitte starten sie" & _
              "das Programm neu!")
        End Try
        ReadLine()
        Read()
    End Sub
End Module
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: powerzone3000
Datum: 05.07.14 21:47

Hallo Sloorg,
dein Ansatz ist leider an der Aufgabenstellung vorbei. Also erstmal: Genau lesen!

Zitat:

Ein Formular erwartet die Eingabe [...]
Beim Drücken des Buttons Berechnen wird ein zweites Formular angezeigt

Diese Stichwörter sollten dir sagen, dass hier ein Forms-Projekt und keine Konsolenanwendung gefordert ist.

Außerdem hast du in deinem obigen Code den BMI berechnet, dieser berechnet sich allerdings anders als die in der Aufgabenstellung angegebene Formel!


Zur Umsetzung vielleicht noch ein paar Worte:
Welche Steuerelemente das Formular enthalten soll, ist ja nach genauem lesen der Aufgabe zu entnehmen. Ich denke die "schwierigkeit" bei dieser Aufgabe liegt darin, Werte an ein zweites Formular zu übergeben - hier gibt es mehrere Möglichkeiten. Schau doch noch mal in deine Unterlagen welche Variante euch beigebracht wurde (Properties, Konstruktor...?)

Dann schauen wir weiter.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: Sloorg
Datum: 07.07.14 16:58

Hallo powerzone3000,

da hast du mich wohl falsch verstanden: Ich weiß, dass ich eine Win-Forms-Anwendung schreiben soll, aber ich will sie anhand meiner Vorlage (Konsolenanw.) schreiben. Man müsste also nur die Formel ändern (wie in der Aufgabe erwähnt), die Auswahl männl./weibl. ergänzen und das in eine Forms-Anwendg. umschreiben. Nur hab ich noch keinen rechten Plan, wie ich vorgehen soll... - dachte, das wäre auch für Chief interessant und er könnte sein Programm dadurch verbessern.

Schöne Grüße.
Sloorg! B)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: powerzone3000
Datum: 07.07.14 20:07

Hi,
gibt natürlich viele Möglichkeiten - und ich weiß auch nicht was du bereits gelernt hast- aber hier mal 2 Vorschläge:

1.
Im Hauptformular erstellst du Properties für die eingegebenen Werte, auf diese kann Form 2 dann zugreifen und die Werte entsprechend berechnen und anzeigen

2.
Du schreibst einen Konstruktor für Form 2 der die benötigten Werte als Parameter entgegennimmt und übergibst sie auf diese Weise
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: Sloorg
Datum: 10.07.14 21:53

Hi Chief,

hab grade deinen Idealgewicht-Rechner mal nachgebaut, aber funktioniert leider nicht. Doch ich hab die beiden Fehler korrigiert - hattest dich wohl vertippt: es muss heißen: Label 1, nicht 12! ;>)

So geht's:

Public Class Form1
 
    Private Sub Berechnen()
 
        ' BMI berechnen 
 
        Dim Gewicht As Single
        Dim Groesse
        Dim BMI As Single
 
        If Trim$(TextBox1.Text) <> "" Then
            Gewicht = CDec(TextBox1.Text)
        Else
            Gewicht = 0
        End If
 
        If Trim$(TextBox2.Text) <> "" Then
            Groesse = CDec(TextBox2.Text)
        Else
            Groesse = 0
        End If
 
        If Gewicht > 0 And Groesse > 0 Then
            BMI = (Gewicht / (Groesse / 100) ^ 2)
            Label1.Text() = "Ihr Wert: " & BMI
        Else
            Label1.Text() = "Ihr Wert: " & 0
        End If
 
    End Sub
 
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles TextBox1.TextChanged
        Berechnen()
    End Sub
 
    Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles TextBox2.TextChanged
        Berechnen()
    End Sub
 
    Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Label1.Click
 
    End Sub
End Class
Schöne Grüße,
Sloorg. B)

Beitrag wurde zuletzt am 10.07.14 um 21:55:21 editiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: Sloorg
Datum: 10.07.14 22:04

Thx, powerzone3000!

Hab erstmal den Rechner von Chief nachgebaut, damit ich ins Thema reinkomme. Jetzt fällt der Einstieg leichter. Dann schaun wir mal, ob wir das hinbekommen.

Salut, Sloorg. B)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: Rippler
Datum: 10.07.14 22:11

    Private Sub Berechnen()
 
        ' BMI berechnen 
 
        Dim Gewicht As Single
        Dim Groesse As Single
        Dim BMI As Single
 
        If Trim$(TextBox1.Text) <> "" Then
            Gewicht = CDec(TextBox1.Text)
        Else
            Gewicht = 0
        End If
 
        If Trim$(TextBox2.Text) <> "" Then
            Groesse = CDec(TextBox2.Text)
        Else
            Groesse = 0
        End If
 
        If Gewicht > 0 And Groesse > 0 Then
            BMI = CSng((Gewicht / (Groesse / 100) ^ 2))
            Label1.Text() = "Ihr Wert: " & BMI.ToString("0")
        Else
            Label1.Text() = "Ihr Wert: " & 0
        End If
 
    End Sub
 
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As  _
      System.EventArgs) Handles TextBox1.TextChanged, TextBox2.TextChanged
        Berechnen()
    End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: Rippler
Datum: 10.07.14 22:48

hier eine kurze Version:

    Private Sub Berechnen()
 
        Dim Gewicht As Single = CDec(Trim$(TextBox1.Text))
        Dim Groesse As Single = CDec(Trim$(TextBox2.Text))
        Label1.Text = (Gewicht / (Groesse / 100) ^ 2).ToString("0")
 
    End Sub
 
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As  _
      System.EventArgs) Handles TextBox1.TextChanged, TextBox2.TextChanged
        Berechnen()
    End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: Sloorg
Datum: 14.07.14 15:40

Hi,

ich hab das jetzt umgeschrieben, dass es nicht den BMI, sondern das Ideal- und das Istgewicht für männl. Personen ausgibt, würde es aber gerne noch mit 2 Radiobuttons erweitern Männl./weibl. Sowie der Ausgabe für evtl. Über- od. Untergewicht. Der Berechnungsfaktor für männliche Personen beträgt 0,9, für weibliche Personen 0,85. Die
Formel zur Berechnung des Idealgewichtes lautet:
Idealgewicht = Körpergröße - 100 * Faktor

Hat jmd. vllt. nen Plan? Ty, ppl!


Private Sub Berechnen()
 
        'Idealgewicht berechnen 
 
        Dim Gewicht As Single
        Dim Groesse As Single
        Dim Idealgewicht As Single
 
        If Trim$(TextBox1.Text) <> "" Then
            Gewicht = CDec(TextBox1.Text)
        Else
            Gewicht = 0
        End If
 
        If Trim$(TextBox2.Text) <> "" Then
            Groesse = CDec(TextBox2.Text)
        Else
            Groesse = 0
        End If
 
        If Gewicht > 0 And Groesse > 0 Then
            Idealgewicht = CSng((Groesse - 100) * 0.9)
            Label1.Text() = "Ihr Idealgewicht: " & Idealgewicht & " " & "- Ihr" & _
              "Gewicht:" & Gewicht.ToString("0")
        Else
            Label1.Text() = "Ihr Wert: " & 0
        End If
 
    End Sub
 
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles TextBox1.TextChanged
        Berechnen()
    End Sub
 
    Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles TextBox2.TextChanged
        Berechnen()
    End Sub
 
    Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Label1.Click
 
    End Sub
End Class
Huier noch ne Idee dazu:

Public Sub berechne_Idealgewicht()
    If Maennlich = True then
        Faktor = FaktorM    
    Else
        Faktor = FaktorW
    End If
    Idealgewicht = Groesse - 100 * Faktor
End Sub
Public Sub berechne_Gewichtabweichung()
    If Gewicht > Idealgewicht then
        Uebergewicht = True
        Gewichtabweichung = Gewicht - Idealgewicht
    Else
        Uebergewicht = False
        Gewichtabweichung = Idealgewicht - Gewicht
    End If
End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: Rippler
Datum: 14.07.14 16:40

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) _
      Handles MyBase.Load
        RadioButton1.Checked = True
    End Sub
 
    Private Sub Berechnen()
 
        Dim Faktor As Single = 0.9
        If RadioButton2.Checked = True Then Faktor = 0.85
 
        Dim Gewicht As Single = CDec(Trim$(TextBox1.Text))
        Dim Groesse As Single = CDec(Trim$(TextBox2.Text))
 
        Dim IdealGewicht As Single = (Groesse - 100) * Faktor
        Label1.Text = IdealGewicht.ToString("0")
 
        Select Case Gewicht - IdealGewicht
            Case Is < -0.5
                Label2.Text = "Untergewicht"
            Case Is > 0.5
                Label2.Text = "Übergewicht"
            Case Else
                Label2.Text = "Normalgewicht"
        End Select
 
    End Sub
 
    Private Sub TextBoxChanged(ByVal sender As System.Object, ByVal e As  _
        System.EventArgs) Handles TextBox1.TextChanged, TextBox2.TextChanged, _
        RadioButton1.CheckedChanged, RadioButton2.CheckedChanged
 
        Berechnen()
 
    End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: Sloorg
Datum: 14.07.14 17:31

Hi Rippler,

das ging aber schnell! Hab das mal eingefügt und noch 2 Radiobuttons eingebaut, aber krieg da ne Fehlermeldung:

Public Class Form1
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) _
      Handles MyBase.Load
        RadioButton1.Checked = True
    End Sub
 
    Private Sub Berechnen()
 
        Dim Faktor As Single = 0.9
        If RadioButton2.Checked = True Then Faktor = 0.85
 
        Dim Gewicht As Single = CDec(Trim$(TextBox1.Text))
        Dim Groesse As Single = CDec(Trim$(TextBox2.Text))
 
        Dim IdealGewicht As Single = (Groesse - 100) * Faktor
        Label1.Text = IdealGewicht.ToString("0")
 
        Select Case Gewicht - IdealGewicht
            Case Is < -0.5
                Label2.Text = "Untergewicht"
            Case Is > 0.5
                Label2.Text = "Übergewicht"
            Case Else
                Label2.Text = "Normalgewicht"
        End Select
 
    End Sub
 
    Private Sub TextBoxChanged(ByVal sender As System.Object, ByVal e As _
        System.EventArgs) Handles TextBox1.TextChanged, TextBox2.TextChanged, _
        RadioButton1.CheckedChanged, RadioButton2.CheckedChanged
 
        Berechnen()
 
    End Sub
 
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles TextBox1.TextChanged
 
    End Sub
 
    Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles TextBox2.TextChanged
 
    End Sub
 
    Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Label1.Click
 
    End Sub
 
    Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, _
      ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
 
    End Sub
 
    Private Sub Label2_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Label2.Click
 
    End Sub
End Class
'InvalidOperationException wurde nicht behandelt... hieß es - keine Ahnung, was damit gemeint ist...

Gruß, Sloorg! B)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: Sloorg
Datum: 14.07.14 17:36

PS: Ich hab's so angeordnet: Oben 2 Radiobuttons Männl., weibl., dann Label 2 Gewicht in kg, darunter Textbox für kg, Label 3 für Groesse, darunter Textbox für Groesse - Label 1 (für Ausgabe) ist ja vorerst unsichtbar.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: Sloorg
Datum: 15.07.14 20:36

OK, hab's nochmal nachgebaut mit: 2 Radiobuttons, 2 Textboxen und 2 Labeln - krieg jedoch wieder ne Fehlermeldung: (In der Zeile

Fehler: Gewicht As Single = CDec(Trim$(TextBox1.Text)) 'Ungültige Konvertierung von der Zeichenfolge in Typ Decimal.
'Beim Umwandeln aus einer Zahl muss der Wert eine Zahl sein, die < unendlich ist.
Hmmm... wie soll man es dann schreiben? Gruß Sloorg!
Public Class Form1
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) _
     Handles MyBase.Load
        RadioButton1.Checked = True
    End Sub
 
    Private Sub Berechnen()
 
        Dim Faktor As Single = 0.9
        If RadioButton2.Checked = True Then Faktor = 0.85
 
        Dim Gewicht As Single = CDec(Trim$(TextBox1.Text)) 'Ungültige 
        ' Konvertierung von der Zeichenfolge in Typ Decimal. 
        'Beim Umwandeln aus einer Zahl muss der Wert eine Zahl sein, die < 
        ' unendlich ist.
        Dim Groesse As Single = CDec(Trim$(TextBox2.Text))
 
        Dim IdealGewicht As Single = (Groesse - 100) * Faktor
        Label1.Text = IdealGewicht.ToString("0")
 
        Select Case Gewicht - IdealGewicht
            Case Is < -0.5
                Label2.Text = "Untergewicht"
            Case Is > 0.5
                Label2.Text = "Übergewicht"
            Case Else
                Label2.Text = "Normalgewicht"
        End Select
 
    End Sub
 
    Private Sub TextBoxChanged(ByVal sender As System.Object, ByVal e As _
        System.EventArgs) Handles TextBox1.TextChanged, TextBox2.TextChanged, _
        RadioButton1.CheckedChanged, RadioButton2.CheckedChanged
 
        Berechnen()
 
    End Sub
 
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles TextBox1.TextChanged
 
    End Sub
 
    Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, _
      ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
 
    End Sub
End Class
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: Sloorg
Datum: 16.07.14 00:50

Aaah, ich hab's fast - man müsste nur noch hinbekommen, dass die Gewichtsabweichung im rechten Label (also Label 1) zusammen mit den anderen Daten ausgegeben wird:

Public Class Form1
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) _
     Handles MyBase.Load
        RadioButton1.Checked = True
    End Sub
 
    Private Sub Berechnen()
 
        'Idealgewicht berechnen 
 
        Dim Gewicht As Single
        Dim Groesse As Single
        Dim Idealgewicht As Single
 
        Dim Faktor As Single = 0.9
        If RadioButton2.Checked = True Then Faktor = 0.85
 
        If Trim$(TextBox1.Text) <> "" Then
            Gewicht = CDec(TextBox1.Text)
        Else
            Gewicht = 0
        End If
 
        If Trim$(TextBox2.Text) <> "" Then
            Groesse = CDec(TextBox2.Text)
        Else
            Groesse = 0
        End If
 
        If Gewicht > 0 And Groesse > 0 Then
            Idealgewicht = CSng((Groesse - 100) * 0.9)
            Label1.Text() = "Ihr Idealgewicht: " & Idealgewicht & " " & "- Ihr" & _
              "Gewicht:" & Gewicht.ToString("0")
        Else
            Label1.Text() = "Ihr Wert: " & 0
        End If
 
        Select Case Gewicht - Idealgewicht
            Case Is < -0.5
                Label2.Text = "Untergewicht"
            Case Is > 0.5
                Label2.Text = "Übergewicht"
            Case Else
                Label2.Text = "Normalgewicht"
        End Select
 
    End Sub
 
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles TextBox1.TextChanged
        Berechnen()
    End Sub
 
    Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles TextBox2.TextChanged
        Berechnen()
    End Sub
 
    Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Label1.Click
 
    End Sub
 
    Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, _
      ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
 
    End Sub
End Class
Salut, Sloorg. B)
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: Sloorg
Datum: 16.07.14 03:04

OK, Problem auch gelöst: Einfach ein 4. Label eingebaut:

Select Case Gewicht - Idealgewicht
            Case Is < -0.5
                Label4.Text = "Untergewicht"
            Case Is > 0.5
                Label4.Text = "Übergewicht"
            Case Else
                Label4.Text = "Normalgewicht"
        End Select
Was nur noch stört, ist, sobald man sein Gewicht eingibt, zeigt es schon Übergewicht an. Hat jmd. ne Idee, wie man das verhindern könnte (also dass eine eventuelle Gewichtsabweichung vom Idealgewicht erst angezeigt wird, sofern das auch zutrifft)?

Salut, Sloorg!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: Rippler
Datum: 16.07.14 04:44

    Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) _
      Handles MyBase.Load
        RadioButton1.Checked = True
    End Sub
 
    Private Sub Berechnen()
 
        Dim Faktor As Single = 0.9
        If RadioButton2.Checked = True Then Faktor = 0.85
 
        Dim Gewicht As Single = CDec(Trim$(TextBox1.Text))
        Dim Groesse As Single = CDec(Trim$(TextBox2.Text))
 
        Dim IdealGewicht As Single = (Groesse - 100) * Faktor
        Label1.Text = IdealGewicht.ToString("0")
 
        Select Case Gewicht - IdealGewicht
            Case Is < -0.5
                Label2.Text = "Untergewicht"
            Case Is > 0.5
                Label2.Text = "Übergewicht"
            Case Else
                Label2.Text = "Normalgewicht"
        End Select
 
    End Sub
 
    Private Sub TextBoxChanged(ByVal sender As System.Object, ByVal e As  _
        System.EventArgs) Handles TextBox1.TextChanged, TextBox2.TextChanged, _
        RadioButton1.CheckedChanged, RadioButton2.CheckedChanged
 
        If IsNumeric(TextBox2.Text) = True AndAlso IsNumeric(TextBox2.Text) = _
          True Then Berechnen()
 
    End Sub
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: Sloorg
Datum: 18.07.14 02:40

Hi Rippler,

danke, aber ich krieg da leider ne Fehlermeldung. Hab's jetzt aber so umgebaut:

Public Class Form1
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) _
     Handles MyBase.Load
        RadioButton1.Checked = True
    End Sub
 
    Private Sub Berechnen()
 
        Dim Gewicht As Single
        Dim Groesse As Single
        Dim Idealgewicht As Single
        Dim Faktor As Single = 0.9
 
        If RadioButton2.Checked = True Then Faktor = 0.85
 
        If Trim$(TextBox1.Text) <> "" Then
            Gewicht = CDec(TextBox1.Text)
        Else
            Gewicht = 0
        End If
 
        If Trim$(TextBox2.Text) <> "" Then
            Groesse = CDec(TextBox2.Text)
        Else
            Groesse = 0
        End If
 
        If Gewicht > 0 And Groesse > 0 Then
            Idealgewicht = CSng((Groesse - 100) * 0.9)
            Label1.Text() = "Ihr Idealgewicht: " & Idealgewicht & " kg" & " -" & _
              "Ihr Gewicht:" & Gewicht.ToString("0") & " kg"
 
            Select Case Gewicht - Idealgewicht
                Case Is < -0.5
                    Label4.Text = "Sie haben Untergewicht"
                Case Is > 0.5
                    Label4.Text = "Sie haben Übergewicht"
                Case Else
                    Label4.Text = "Sie haben Normalgewicht"
            End Select
 
        Else
            Label1.Text() = "Ihr Wert: " & 0
        End If
 
    End Sub
 
    Private Sub TextBox1_TextChanged(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles TextBox1.TextChanged
        Berechnen()
    End Sub
 
    Private Sub TextBox2_TextChanged(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles TextBox2.TextChanged
        Berechnen()
    End Sub
 
    Private Sub Label1_Click(ByVal sender As System.Object, ByVal e As _
      System.EventArgs) Handles Label1.Click
 
    End Sub
 
    Private Sub RadioButton1_CheckedChanged(ByVal sender As System.Object, _
      ByVal e As System.EventArgs) Handles RadioButton1.CheckedChanged
 
    End Sub
End Class
Geht zwar, aber meckert auch:

Eine Ausnahme (erste Chance) des Typs "System.InvalidCastException" ist in Microsoft.VisualBasic.dll aufgetreten.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: ronnie
Datum: 18.07.14 14:35

siehe hier: http://foren.activevb.de/cgi-bin/foren/view.pl?forum=6&posted=1&root=98676&msg=98681&id=06888dc342b68d6f21c7b7a15dc0620d
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: Sloorg
Datum: 18.07.14 22:29

Hi ronnie, geht leider nicht, dein Link. Gruß, Sloorg.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: Sloorg
Datum: 19.07.14 13:49

Hääh? Hab ich leider noch nicht gehört, diese Begriffe... sorry.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: Sloorg
Datum: 19.07.14 13:52

OK, abgesehen von diesem Fehler: Ich würde die Ausgabe per Klick auf nen Button gerne auf ein 2. Formular verlegen - habt Ihr ne Ahnung, wie das zu bewerkstelligen wäre? Danke, und
Gruß, Sloorg!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: ronnie
Datum: 19.07.14 16:14

Welche Begriffe sagen dir nichts??
Du musst halt prüfen ob in der Textbox ein numerischer Wert(Zahl) eingegeben wurde.
Ich würde dir dringend dazu raten dir mal ein Buch zu kaufen oder im Netz ein E-Book zu suchen.
Ich glaube dir fehlt das was an Grundlagen.
Da du ja wohl schon in VB6 programmiert hast sollte es vom Grundverständnis her ja nicht so schwer sein.
Wie hättest du es denn in VB6 gemacht?

Zu deiner Frage mit den 2 Forms gibts doch schon einen Thread, sogar mit den passenden Antworten.
http://www.vbarchiv.net/forum/id22_i96085t96085_2forms-dateneingabe-in-form1-ausgabe-in-form2.html

Sollte dir das nicht ausreichen musst halt einfach mal schreiben was genau du nicht verstehst.
Ich bin auch von VB6 auf .NET umgestiegen und es ist eigentlich nicht schwer. Man muss sich mit dem Thema nur auseinandersetzen und die Grundlagen verstehen.
Es ist dir ja sicher nicht geholfen wenn du hier den fertigen Code kriegst und dann nicht verstehst was da passiert.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

OT Re: Idealgewicht Rechner 
Autor: Franki
Datum: 22.07.14 08:15

Hallo,
wofür brauchst du solch einen Rechner? Wenn das was ernsthaftes sein soll und es nicht nur ein Lernprojekt ist solltest du dich schlau machen über die Bewertungskriterien des errechneten BMI. (Und da lernst du erst recht das Programmieren unter .NET)

Beispiel: Groesse 170 cm, Gewicht 80 kg ergibt einen BMI von 27,7 soweit so gut.

Für die Berwertung sind aber mindestens das Alter und das Geschlecht nötig laut offizieller Einstufung der WHO.

Erweiterte Beispiele (gleiches Gewicht und Größe also gleicher BMI)

Alter: 50, Geschlecht: männlich = durchschnittliches Gewicht
Alter: 50, Geschlecht: weiblich = leichtes Übergewicht (prä-Adipositas)

Alter: 15: Geschlecht: männlich = starkes Übergewicht (Adipositas Grad 2)
Alter: 15: Geschlecht: weiblich = mäßiges Übergewicht (Adipositas Grad 1)

Wie du siehst kann sich die Bewertung eines BMI schon sehr stark unterscheiden je nach weiteren Eigenschaften der Person.

Da das ja nichts direkt mit deinem Problem zu tun hat, habe ich diesen Beitrag als OT gekennzeichnet, aber wie gesagt, wenn es ein ernsthaftes Programm von dir werden soll, dann mußt du diese Sachen berücksichtigen. Ich hatte die Komplexität damals als ich den Kundenauftrag eines Physiotherapeuten und Personal Trainers angenommen habe auch nicht sofort erkannt und musste mich da erst mal rein arbeiten.

Gruß
Frank












Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: OT Re: Idealgewicht Rechner 
Autor: Sloorg
Datum: 02.08.14 00:06

Hi,

die Aufgabe wurde mittlerweile gelöst unter EIN-/UMSTEIGER - 2Forms. - Ich weiß, einen BMI-Rechner hatte ich bereits als Konsolenanwendung, aber ich sollte einen Idealgewichtsrechner schreiben - der wieder eine ganz andere Formel hat als der BMI-Rechner - und auch noch männl./weibl. berücksichtigen sollte; das kannst du ja dem Verlauf sicher entnehmen. Aber merci für die Tips. Jetzt, da der Kurs beendet ist, möchte ich selbst für mich noch einen BMI-Rechner schreiben, aber ich denke, dazu sollten wir nen neuen Thread anfangen, wird ja langsam voll hier.

Ein herzliches Danke an alle, die mir beigestanden haben!
Best regards,
Sloorg!
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: OT Re: Idealgewicht Rechner 
Autor: Sloorg
Datum: 02.08.14 00:24

PS: Ich bin selbst auch Bodybuilder und möchte jetzt, da ich mehr Zeit habe, ein noch genaueres Programm schreiben: Ich hatte mal ne Software, die hieß Fit-Track od. so, da wurde nicht nur Körpergröße und Gewicht eingegeben, sondern der Umfang des Handgelenks, der Oberschenkel und der Hüfte (so kann man zum BMI auch den Körperfettanteil berechnen etc.) So etwas in VB zu programmieren, wäre natürlich erstrebenswert. Evtl. kriegen wir das ja gemeinsam auf die Reihe. Müssen wir erstmal genau recherchieren, wie sich das alles errechnen lässt...

Bye 4 now,
Sloorg.
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: OT Re: Idealgewicht Rechner 
Autor: Franki
Datum: 02.08.14 01:32

Hallo,

wie gesagt, ich habe so etwas schon mal programmiert (KF ist auch dabei). Aber das sind jetzt erst mal eher fachliche Fragen die nicht hier in das Forum gehören.

Wenn du möchtest, kannst du mir gerne mal eine E-Mail schreiben. Dann können wir dort weiter über dieses Thema diskutieren.

Gruß
Frank
Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Re: Idealgewicht Rechner 
Autor: DotNetErbse
Datum: 04.08.14 14:17

Hallo Gemeinde,

ich glaube, ihr geht die Sache grundsätzlich falsch an.

Das ist hier zwar nur eine einfache Anwendung, aber hier lässt es sich sehr anschaulich verdeutlichen,
dass die Codes hier so was von durcheinander sind.

Schmeiß das VB6 Zeugs weg, am Besten auch gleich aus Deinem Kopf und lerne, dass ein Geschäftsobjekt nichts mit dem graphical user Interface zu tun hat.


Schreibe eine Klasse, die die Eckdaten der Berechnung entgegennimmt und Dir das Ergebnis liefert, damit hast Du schon Einiges zu tun, wie ich hier lese.

Meinetwegen auch mit Schaltern für die "Bewertung" (Mann/Frau, Alter) und lass Dir einen Result-Wert zurückgeben oder abonniere ein Event, wenn die Berechnung fertig ist um das Ergebnis anzuzeigen.

Die Eingangs- und Ausgangsvariablen bindest Du an die Controls (TextBox, Label).

Good luck!

Mit freundlichen Gr??en
DotNetErbse


[Es hei?t Paket und nicht Packet, auch wenn Standard augenscheinlich von Standar(t)e kommt,hei?t es dennoch Standar(d)]

Themenbaum einblendenGesamtübersicht  |  Zum Thema  |  Suchen

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel