Problem mit Select Case

  • VB.NET

Es gibt 3 Antworten in diesem Thema. Der letzte Beitrag () ist von DoctorCrank.

    Problem mit Select Case

    Also... bei dem Code hier. Soll er eigentlich je nach dem wie der Wert ist in der txtblub.text den jeweiligen Text ausgeben.

    VB.NET-Quellcode

    1. Private Sub cmdBerechnen_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles cmdBerechnen.Click
    2. Dim größe As Single = Txtgröße.Text
    3. Dim gewicht As Integer = Txtgewicht.Text
    4. Dim BMI As Single = gewicht / (größe * größe)
    5. Txtbmi.Text = BMI
    6. Select Case BMI
    7. Case Is < 16
    8. Txtblub.Text = "Stark Untergewichtig"
    9. Case Is >= 16, Is <= 17
    10. Txtblub.Text = "Mäßiges Untergewicht"
    11. Case Is >= 17, Is <= 18
    12. Txtblub.Text = "Leichtes Untergewicht"
    13. Case Is >= 18, Is <= 25
    14. Txtblub.Text = "Normalgewicht"
    15. Case Is >= 25, Is <= 30
    16. Txtblub.Text = "Leichtes Übergewicht"
    17. Case Is >= 30
    18. Txtblub.Text = "Übergewicht"
    19. End Select
    20. End Sub
    21. End Class


    Er gibt aber immer nur Txtblub.Text = "Mäßiges Untergewicht" den Part aus. Ich hoffe ihr versteht was ich meine^^


    Edit by LaMa5:
    - VB-Tag eingefügt
    - Titel angepasst

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „LaMa5“ ()

    Hi,

    das hat aber nix mit SourceCode Austausch zu tun, sondern behandelt Grundlagenwissen in VB --> *moved*


    bye ...

    LaMa5.
    Die Wissenschaft wird nie ein besseres Kommunikationssystem in den Büros erfinden können als die Kaffeepause.
    (Autor: Earl Wilson, amerik. Schriftsteller)

    https://www.serviceteam-md.de

    DoctorCrank schrieb:

    Case Is >= 16, Is <= 17

    Das Komma im Case bedeutet quasi "oder".

    zB:
    Case 3, 4, 7, 12
    -> trifft bei 3, 4, 7 oder 12 zu

    Case Is > 16, Is < 17
    -> trifft auf alles zu, was größer als 16 oder (!) kleiner als 17 ist. Und da 16 kleiner ist als 17, trifft das auf JEDE Zahl zu.

    Du kannst stattdessen
    Case zahl1 to zahl2
    nehmen, wenn du einen Bereich erfassen willst