???

  • VB.NET

Es gibt 30 Antworten in diesem Thema. Der letzte Beitrag () ist von ChaosBernd.

    VB.NET-Quellcode

    1. Dim Zahl As Double = CDbl(TextBox2.Text)
    2. If Zahl >= "1.0" And Zahl <= "2.0" Then
    3. Label1.Text = "OK"
    4. Else
    5. MsgBox("Warnung")
    6. End If


    so klappt der coder

    so nun ist mein problem noch

    ich will das der beim klick auf eine button alle textboxen geprüft werden
    das problem ist aber das Dim Zahl schon existirt was muss ich machen damit der code trotzdem bei allen textboxen funktionirt???


    guß olli ^^

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „oliver14800“ ()

    VB.NET-Quellcode

    1. Dim Zahl As Double = CDbl(TextBox2.Text)
    2. If Zahl >= "1.0" And Zahl <= "2.0" Then
    3. Label1.Text = "OK"
    4. Else
    5. MsgBox("Warnung")
    6. End If


    Das kann gar eigentlich nicht funktionieren. Da du einen String mit einem Doublewert vergleichst O.o

    Edit: OK also nu weiß ichs, die Funktion CDbl(String) konvertiert doch auch deutsches Format in englisches. Heißt also der String muss doch nicht mit Punkt sondern mit Komma angegeben werden

    VB.NET-Quellcode

    1. Dim Zahl As Double = CDbl("0,9")
    2. If Zahl >= 1.0 And Zahl <= 2.0 Then
    3. Else
    4. MsgBox("Falscher wert")
    5. End If

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Dodo“ ()

    oliver14800 schrieb:

    VB.NET-Quellcode

    1. Dim Zahl As Double = CDbl(TextBox2.Text)
    2. If Zahl >= "1.0" And Zahl <= "2.0" Then
    3. Label1.Text = "OK"
    4. Else
    5. MsgBox("Warnung")
    6. End If


    Ich glaube nicht das du mit Schleifen klar kommst. Und für 5 Textboxen ist der Aufwand doch nicht so prickelnd

    Mach das ganze 5 mal:

    VB.NET-Quellcode

    1. Dim Zahl As Double = CDbl(TextBox2.Text)
    2. If Zahl >= 1.0 And Zahl <= 2.0 Then
    3. Label1.Text = "OK"
    4. Else
    5. MsgBox("Warnung")
    6. End If
    7. Zahl = CDbl(TextBox3.Text)
    8. If Zahl >= 1.0 And Zahl <= 2.0 Then
    9. Label2.Text = "OK"
    10. Else
    11. MsgBox("Warnung")
    12. End If
    13. Zahl = CDbl(TextBox4.Text)
    14. If
    15. .....
    also so ??

    klapt, irgend wie nicht

    VB.NET-Quellcode

    1. 'PH:
    2. Dim Zahl As Double = CDbl(TextBox2.Text)
    3. If Zahl >= 1.0 And Zahl <= 2.0 Then
    4. Label1.Text = "OK"
    5. Else
    6. Label1.Text = "Warnung"
    7. End If
    8. 'KH
    9. Zahl = CDbl(TextBox3.Text)
    10. If Zahl >= 1.0 And Zahl <= 2.0 Then
    11. Label2.Text = "OK"
    12. Else
    13. Label2.Text = "Warnung"
    14. End If
    15. 'GH
    16. Zahl = CDbl(TextBox4.Text)
    17. If Zahl >= 1.0 And Zahl <= 2.0 Then
    18. Label3.Text = "OK"
    19. Else
    20. Label3.Text = "Warnung"
    21. End If
    22. 'Nitrit
    23. Zahl = CDbl(TextBox5.Text)
    24. If Zahl >= 1.0 And Zahl <= 2.0 Then
    25. Label4.Text = "OK"
    26. Else
    27. Label4.Text = "Warnung"
    28. End If
    29. 'Nitrat
    30. Zahl = CDbl(TextBox6.Text)
    31. If Zahl >= 1.0 And Zahl <= 2.0 Then
    32. Label5.Text = "OK"
    33. Else
    34. Label5.Text = "Warnung"
    35. End If
    36. 'Temperatur
    37. Zahl = CDbl(TextBox7.Text)
    38. If Zahl >= 1.0 And Zahl <= 2.0 Then
    39. Label6.Text = "OK"
    40. Else
    41. Label6.Text = "Warnung"
    42. End If
    Und für was so eine große Code. Nimm For Each schleife, mit schleife läufst alles textboxen durch, prüfst ob ein Zahl in textbox steht. Wenn ein Zahl in textbox steht dann in datentyp Double konvertieren, danach vergleichen ob weninger oder größer eines vorgegebenes wertes, am sonsten weitere aktionen ausführen.
    Die ganze aktion kannst alles in eine schleife ausführen ! ;)
    Ich glaube nicht das du mit Schleifen klar kommst.
    Denk ich auch nicht, aber dann wird es Zeit, dass er's lernt.
    Und für 5 Textboxen ist der Aufwand doch nicht so prickelnd
    Aufwand? Hier mal ein Anfang:

    VB.NET-Quellcode

    1. Dim b = From ct As Control In Me.Controls Where TypeOf ct Is TextBox
    2. For Each tb As TextBox In b
    3. ' prüfen...
    4. Next

    (Fw 3.5 only) bzw.

    VB.NET-Quellcode

    1. For Each ct As Control In Me.Controls
    2. If TypeOf (ct) Is TextBox Then
    3. ' prüfen...
    4. End If
    5. Next

    Zum prüfen des Werte gibt es Double.TryParse().
    Ok dann auch als Schleife.

    Aber ich bezweifle das er damit klar kommt bzw. das er es versteht.

    VB.NET-Quellcode

    1. Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    2. For Each Control As Control In Me.Controls
    3. If TypeOf Control Is TextBox Then
    4. Dim Zahl As Double = CDbl(Control.Text)
    5. Dim Name As String = CStr(Control.Tag)
    6. Dim Bericht As String = Nothing
    7. If Zahl >= 1.0 And Zahl <= 2.0 Then
    8. Bericht = "Der Wert ist OK " & Zahl
    9. Else
    10. Bericht = "Der Wert ist auserhalb " & Zahl
    11. End If
    12. For Each lbl As Control In Me.Controls
    13. If lbl.Name.Contains(Name) Then
    14. lbl.Text = Bericht
    15. End If
    16. Next
    17. End If
    18. Next
    19. End Sub


    Im TAG der TextBoxen habe ich den Name des Label reingeschrieben, für den der Wert später bestimmt ist.
    Das heist du schreibt in deine TextBox den TAG = Name des Zuständigen Label.
    Beispiel:
    TextBox1 -> Eigenschaften -> TAG -> Label1

    Natürlich geht es auch anders und kürzer, aber man sollte es nicht übertreiben. Für einen Einsteiger ist das schon schwer nachzuvollziehen.

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