| |
VB.NET - FortgeschritteneRe: 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.
| |
| |
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 | |
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 | |
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) | |
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 | |
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. | |
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) | |
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 | |
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. | |
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) | |
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 | |
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 | |
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 | |
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 | |
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) | |
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. | |
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 | |
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) | |
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! | |
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 | |
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. | |
Re: Idealgewicht Rechner | | | Autor: Sloorg | Datum: 18.07.14 22:29 |
| Hi ronnie, geht leider nicht, dein Link. Gruß, Sloorg. | |
Re: Idealgewicht Rechner | | | Autor: Sloorg | Datum: 19.07.14 13:49 |
| Hääh? Hab ich leider noch nicht gehört, diese Begriffe... sorry. | |
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! | |
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.
| |
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
| |
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! | |
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. | |
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
| |
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)] | |
| 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 |
|
|
sevWizard für VB5/6
Professionelle Assistenten im Handumdrehen
Erstellen Sie eigene Assistenten (Wizards) im Look & Feel von Windows 2000/XP - mit allem Komfort und zwar in Windeseile :-) Weitere InfosTipp des Monats TOP Entwickler-Paket
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1605.50 EUR...
Jetzt nur 599,00 EURWeitere Infos
|