Wort in Textbox suchen
- VB.NET
- .NET (FX) 4.5–4.8
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 20 Antworten in diesem Thema. Der letzte Beitrag () ist von Visual_Prog.
-
-
Hiermit kannste die Position im String ausmachen:
msdn.microsoft.com/de-de/library/k8b1470s(v=vs.110).aspx
Und hiermit markieren:
msdn.microsoft.com/de-de/library/hk09zy8f(v=vs.110).aspx
Polling is trolling!
Achtung: Ich habe die komische Angewohnheit, simple Dinge zu verkomplizieren.. -
@Visual_Prog Wenn du damit nicht klar kommst habe ich eine Funktion die dir den gesuchten Text in einer Richtextbox markiert(Gelb und kursiv anzeigt).
Aufruf wäre dann nur
marktext(Richtextbox1,Textbox1)
Richtig markieren geht nämlich nur in einer RTB.~Wir leben zwar alle unter dem gleichen Himmel, aber es haben nicht alle den gleichen Horizont~ -
will erstmal den inxex ausifindig machen aber der sagt immer ganz krumer zahlen die nicht sein koennen:
-
@Visual_Prog Was sind denn ganz dumme Zahlen? Und wie genau sieht der Inhalt deiner Textbox aus?
Bei dem Text "was geht" bekommst du bei der Suche nach "geht" die Zahl "4" zurück.
Text in meiner Textbox: Was geht
InputBox eingabe: geht
Geliefert wird mir die Zahl 4. Das ist der Index von dem gesuchten Wort. Bzw der Index an dem das gesuchte Wort beginnt.
Bei "was geht" hat w ja die Position 0. also hat g die Position 4.
~Wir leben zwar alle unter dem gleichen Himmel, aber es haben nicht alle den gleichen Horizont~Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „razzzer530i“ ()
-
-
Visual_Prog schrieb:
womit ich die ZEILE finden kann....Lines
, deren Inhalt müsstest Du durchsuchen.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! -
-
@Visual_Prog Sorry, offenbar habe ich Dein Problem falsch verstanden.
Kannst Du das bitte noch mal aus jetziger Sicht schildern?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! -
Okay ja ich hab mir leider noch nichts eingefallen.
Ja also ich habe eine textbox.
Von dieser Textbox soll ein Wort gesucht werden.
Dann soll das halt am besten markiert werden oder wenn es nicht geht irgendwie kenntlich gemacht werden (Zeilennummer oder Selectionstart...)
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Visual_Prog“ ()
-
@Visual_Prog Meinst Du so was:
Spoiler anzeigen VB.NET-Quellcode
- Public Class Form1
- Dim lastPos As Integer = 0
- Private Sub Form1_Load(sender As Object, e As EventArgs) Handles MyBase.Load
- Dim txt = "123456789" & Environment.NewLine
- txt &= "123456789" & Environment.NewLine
- txt &= "123456789" & Environment.NewLine
- txt &= "123456789" & Environment.NewLine
- RichTextBox1.Text = txt
- End Sub
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- Dim pos = RichTextBox1.Text.IndexOf("234", lastPos)
- If pos >= 0 Then
- RichTextBox1.Select(pos, 3)
- lastPos = pos + 1
- RichTextBox1.HideSelection = False
- Else
- lastPos = 0
- End If
- Label1.Text = lastPos.ToString
- End Sub
- End Class
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! -
Visual_Prog schrieb:
ich suche was womit ich die ZEILE finden kann...
Möglichkeit 1
Möglichkeit 2
-
Kann ich den Text irgendwie ab einem bestimmten Index selecten oder direkt kenntlich machen?
Bist jetzt habe ich die Messagebox, aber da ist das Zeilen-Zaehlen auf Dauer zu langsam im Vergleich dazu
-
Visual_Prog schrieb:
Kann ich den Text irgendwie ab einem bestimmten Index selecten oder direkt kenntlich machen?
-
Kann man was machen wenn die Textox unterschiedlich formatiert ist als die Original-Txt?
Mit wir immer die Zeile angezeit der Original-Txt, woeder Text sich in die Breite zieht. In der Textbox ist das natuerlich nicht so, da sind die Zeilen knapper. Somit wird dann ein Wert ausgegeben, der nicht der Zeile in der Textbox entspricht.
-
-
Visual_Prog schrieb:
Kann ich den Text irgendwie ab einem bestimmten Index selectenHilfreich
gegeben.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! -
Beschreibe dein Problem bitte noch einmal.
Was meinst du genau?
Ja also ich will ja die Textzeile eines Wortes von einem Text in einer Textbox ermitteln. Die Ursprungs-txt-Datei, die in diese Textbox geladen wird, ist von den Zeilen her anders formatiert. Wenn man die Txt-Datei alleine oeffnet, sieht man, dass der Text in sehr lange Zeilen geschrieben ist.
Im Gegenteil dazu ist der Text, wenn er in der Textbox geladen wird, natuerlich nicht mit so langen Zeilen geschrieben, weil da ja gar nicht so viel Platz ist.
Wenn ich dann die Zeile abrufen moechte, wird die Zeile, wo das Wort enthalten ist, in der Ursprungs-Txt gesucht und angeziegt und nicht im geladenen Text der Textbox. Somit kann man halt nicht die Zeile des Wortes in der Textbox sehen, sondern von der Urprungs -txt.
-
@Visual_Prog Meinst Du so was (Form mit Button, CheckBox, Multiline-TextBox):
VB.NET-Quellcode
- Public Class Form1
- Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
- Using dlg = New OpenFileDialog
- If dlg.ShowDialog <> Windows.Forms.DialogResult.OK Then
- Return
- End If
- Me.TextBox1.Text = IO.File.ReadAllText(dlg.FileName)
- End Using
- End Sub
- Private Sub CheckBox1_CheckedChanged(sender As Object, e As EventArgs) Handles CheckBox1.CheckedChanged
- Me.TextBox1.WordWrap = Me.CheckBox1.Checked ' das hier mal probieren
- End Sub
- End Class
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 glaube, er meint so etwas (siehe Testprojekt)
Aber das funktioniert nur bei.WordWrap = False
weil die.lines-Auflistung
bei aktiver WordWrap-Eigenschaft da nicht mitzieht...
Spoiler anzeigen VB.NET-Quellcode
- Private Sub btnSearch_Click(sender As Object, e As EventArgs) Handles btnSearch.Click
- mySearchText = tbxSearch.Text
- If String.IsNullOrWhiteSpace(mySearchText) Then Return
- Dim lineFound = getFoundLine()
- tbxText.HideSelection = (lineFound = -1)
- lblFoundText.Text = If(lineFound > -1, String.Format("Fund in Zeile {0}...", (lineFound + 1).ToString), "leider nichts gefunden...")
- If lineFound = -1 Then Return
- tbxText.SelectionStart = tbxText.Text.IndexOf(mySearchText)
- tbxText.SelectionLength = mySearchText.Length
- End Sub
- Private Function getFoundLine() As Integer
- For lineIndex As Integer = 0 To tbxText.Lines.Count - 1
- If tbxText.Lines(lineIndex).IndexOf(mySearchText) > -1 Then Return lineIndex
- Next
- Return -1
- End Function
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „VB1963“ ()
-
Ähnliche Themen
-
kklzgugg - - Sonstige Problemstellungen
-
Cronoxyd - - Sonstige Problemstellungen
-
-
6 Benutzer haben hier geschrieben
- Visual_Prog (8)
- RodFromGermany (5)
- VB1963 (3)
- razzzer530i (2)
- Fakiz (2)
- Rootbob91 (1)