Textbox prüfen
- VB.NET
Sie verwenden einen veralteten Browser (%browser%) mit Sicherheitsschwachstellen und können nicht alle Funktionen dieser Webseite nutzen.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Hier erfahren Sie, wie einfach Sie Ihren Browser aktualisieren können.
Es gibt 19 Antworten in diesem Thema. Der letzte Beitrag () ist von RodFromGermany.
-
-
Wenn in der Textbox auch "bla" stehen kann, musst Du zunächst testen, ob der Wert numerisch ist. Das bekommst Du allein raus.
Dann musst Du den Text in eine Double-Variable überführen und testen:
Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
RodFromGermany schrieb:
Das bekommst Du allein raus.
aber ob er gleich aufs performanteste kommt?
Ich meine Double.TryParse
und jetzt nicht google suchen, sondern iwas mit Double.TryParse() in den editor schreiben, den Cursor auf TryParse setzen und F1 drücken - das sollte die kontextsensitive OnlineHilfe herbeizaubern. -
-
Fang bitte noch mal von vorn an.
Zuerst TextBox1.Text in einen numerischen Wert konvertieren, siehe oben (von ErfinderDesRades und mir)
Dann den numerischen Wert testen.
Frage:
Wie sieht denn Dein val aus, wenn in der TextBox "bla" drin steht?Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
Mit dieser IF-Abfrage prüfst du, ob in der textbox1 das Wort "bla" enthalten ist und ob der Wert über 0 und unter 4 liegt.
Mit der zweiten Bedingung können wir schonmal was anfangen, doch zuerst müssen wir prüfen, ob der eingegebene Wert numerisch ist:
Hierfür gibt es die
IsNumeric-Abfrage.
Danach können wir erst mit einer IF-Abfrage prüfen, ob der Wert zwischen 1 und 4 liegt!
Verstanden?
Dann hier:
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Max1001“ ()
-
Danke für eure Hilfe RodFromGermany und Max1001
aber ich möchte bzw. muss das so haben.
Geht das absolut nicht wie ich das moechte ?
Mir ist es auch egal ob es wirklich Zahlen sind.
es sollte wirklich so in der Art funktionieren
nehmt mir das bitte nicht übel -
-
-
& ist eine String-Verknüpfung
""TEXT" & PRÜFEN OB ZAHL ZWISCHEN 0 UND 4" ergibt also entweder "TextTrue" oder "TextFalse"
Das können wir uns nicht vorstellen, dass textbox1.Contains("TextTrue") oder textbox1.Contains("TextFalse") wirklich die von dir gewünschte Bedingung ist.
Sinnvoll erscheint -
Jetzt komm ich ganz durcheinander
Also ich versuch es mal so:
Ich habe eine Textbox - multiline
Das steht dann z.B. in der Textbox:
Text_A "1002452"
Text_B "4"
Text_C "0.55555"
dann prüfe ich z.B. ob Text_A vorhanden ist
VB.NET-Quellcode
- If Not Form1.Textbox1.Text.Contains("Text_A") Then
- Else
- If Form1.Textbox1.Text.Contains("Text_A") Then
- If Not Form1.Textbox1.Text.Contains("Text_A") & Chr(34) & PRÜFEN OB ZAHL ZWISCHEN 0 UND 4 ) & Chr(34) Then
- Else
- If Form1.Textbox1.Text.Contains("Text_A") & Chr(34) & PRÜFEN OB ZAHL ZWISCHEN 0 UND 4 ) & Chr(34) Then
- End If
- End If
- End If
- End If
Ich hoffe man versteht was ich meine -
Naaaja, so ungefähr.
Beschäftige dich mal mit der Textbox-Klasse. Die verfügt z.B. über eine Eigenschaft ...Lines. Da bekommst du ein Stringarray in dem jedes Feld 1 Zeile wiederspiegelt.
Diese Zeilen kannst du nach deinem Text durchsuchen und diesen dann entfernen.
Dann sollte ja die Zahl (aber immer noch String) überbleiben (oder was sollen die ""?, Die müssen dann auch weg). Diese Zahl mußt du mit Double.Tryparse in eine richtige Zahl vom Typ Double umwandeln und kannst die dann vergleichen, ob sie >=0 Andalso <=4 ist.
Fiel Fergnügen
VatterSeit 26.Mai 2012 Oppa! -
Ups schrieb:
Text_A "1002452"
Text_B "4"
Text_C "0.55555"
Mit Vatter holst Du Dir die einzelnen Zeilen, mit
holst Du Dir die einzelnen Werte.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
Ich muss also den Text löschen um an die Zahl zu kommen ?
Aber warum kann man die Zahlen, die zwischen Anführungszeichen stehen nicht auch erkennen ?
Würde ich den Wert zwischen den Anführungszeichen festlegen
erkennt er es doch auch. -
Mißverständnis!
Du entfernst nicht den Text aus deiner Textbox, diese dient doch nur der Anzeige.
Du formst den nach deinem Text gesuchten String (Zeile) aus dem ARRAY so um, dass die Zahl als vergleichbare Größe überbleibt. Strings kannst du mit <> nicht wirklich vergleichen, da dann alphabetisch sortiert wird. Dann ist z.B. 2 > 10.
Außerdem zum xten mal: & ist Stringverknüpfung. Zum Verketten mehrerer Boolscher Wahr- und Unwahrheiten dient And oder besser Andalso.
Deine If-Anweisung macht keinen Sinn...Seit 26.Mai 2012 Oppa! -
Und:
Was willst Du machen, wenn neben "Text_A" auch "Text_B", "Text_C", "Text_D", "Text_E", "Text_F" usw.
sowie "401", "402", "1234" usw. enthalten ist?
Willst Du dann jede der vorhergesehenen Möglichkeiten einzeln programmieren?
Was ist mit den dann nicht vorhergesehenen Möglichkeiten?
Löse Dein Problem allgemein, da kommst Du viel weiter.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
Also bei mir funktioniert diese If-Anweisung ohne Probleme
Wenn ich das mit and mache sucht er doch in der ganzen Textbox nach dem Wert "400" und nicht direkt hinter dem Text.
Vielen Dank für euer Bemühen mir zu helfen aber ich verstehe es nicht, vielleicht will ich es auch nicht verstehen, ich weiß es nicht.
Was willst Du machen, wenn neben "Text_A" auch "Text_B", "Text_C", "Text_D", "Text_E", "Text_F" usw. sowie "401", "402", "1234" usw. enthalten ist? -
Ups schrieb:
Wird nicht vorkommen.Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert! -
-
Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch
Ein guter .NET-Snippetkonverter (der ist verfügbar).
Programmierfragen über PN / Konversation werden ignoriert!
-
Ähnliche Themen
-
sebastianv92 - - Sonstige Problemstellungen
-
Vber - - Sonstige Problemstellungen
-
4 Benutzer haben hier geschrieben
- Gast (10)
- RodFromGermany (6)
- Vatter (2)
- ErfinderDesRades (2)