TextBox Suche
- 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 63 Antworten in diesem Thema. Der letzte Beitrag () ist von Xylon.
-
-
@programmer71:
Okay dann hänge ich mich da mal ein bisschen rein.
Edit:
Ähja okay sieht ziemlich kompliziert aus. Ich muss ja aber auch irgendwie suchen.Wenn ich jetzt in der txt1 von 9. Zeichen aus suchen will, kann ich RegEx nicht benutzten, weil die Benutzer eingabe immer unterschiedlich ist. Und wenn ich jetzt das Lerrzeichen RegEx benutzten würde, würde das gehen? Also
"\s........\s" für die ersten 8 Zahlen nach dem ersten leerzeichen in der txt1? Wenn ja, wie mache ich dann überhaupt eine Suche? Und geht das weitersuchen dann automatisch?
Bin gerade ziemlich verwirrt, mache das ja wie gesagt zum ersten malDieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Xylon“ ()
-
@programmer71
Man das ist echt verdammt kompliziert. Also mein momentaner Code sieht so aus, und da passiert nichts:
VB.NET-Quellcode
- Dim temp1 As String = Mid(TextBox1.Text, 9, 8)
- Dim searchstart As New Regex("^")
- Dim searchend As New Regex("$")
- Dim searchtxtstartend As New Regex("\s........\n")
- Dim temp As New Regex("\s........\s")
- Dim matches As MatchCollection = searchtxtstartend.Matches(temp1)
- If RichTextBox3.TextLength > 1 Then
- For Each searchtxtstartend In matches
- TextBox4.Text = searchtxtstartend.ToString
- Next
- End If
-
[VB 2008] RegEx Tutorial - Blutige Anfänger und Fortgeschrittene
Schau dir das an und beschäftige dich wirklich ausgehend damit. Dann sollte das kein Problem mehr darstellen. -
@programmer71: Okay mache ich. Kann man auch irgendwie feststellen, wo sich der Wert dann befindet? Das muss unbedingt sein, damit ich jedem Wert eine Adresse zuordnen kann.
Edit:
Um das nochmal zu verdeutlichen: Ich brauche eine Suchfunktion die startet, sobald Button1 geklickt wurde.
So würde ich das gerne machen:
rtb3, suche nach Wert aus txt1 + rtb2, suche nach dem Wert aus txt1
und der Wert aus der rtb2 ist besonders wichtig. Ich muss wissen wo dieser Wert ist, also z.B. steht an 500000ster Stelle. Denn es ist so, dass die ersten beiden Hexadezimalen Zahlen die Adresse 8000000 haben, die nächsten beiden 80000001 usw. Ist das überhaupt möglich? Sonst lasse ich es besser gleich...Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Xylon“ ()
-
-
Ja genau, alte und nicht-OOP-gerechte Funktionen rocken!
...„Was daraus gefolgert werden kann ist, dass jeder intelligentere User sein Geld lieber für Bier ausgibt, um einen schönen Rausch zu haben, und nicht dieses Ranzprodukt.“
-Auszug aus einer Unterhaltung über das iPhone und dessen Vermarktung. -
-
@programmer71: und @Lukas: Bitte meinen Edit oben lesen!
VB.NET-Quellcode
- Dim tempcode As String = Mid(TextBox1.Text, 10, 8)
- Dim rtempcode As String = Mid(RichTextBox3.Text, tempcode, 8)
- Dim r2tempcode As String = Mid(RichTextBox2.Text, tempcode, 8)
- If RichTextBox3.Text.Contains(tempcode) Then
- TextBox4.Text = tempcode & Space(1) + rtempcode
- ElseIf RichTextBox2.Text.Contains(tempcode) Then
- TextBox5.Text = tempcode & Space(1) + r2tempcode
- End If
So erhalte ich die Werte die ich brauche. Das Problem ist halt, kann ich so auch sagen an welcher Stelle die sich befinden?Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Xylon“ ()
-
@programmer71
Ich habe jetzt mal ein wenig gegoogelt und gesucht. Ich finde aber keine Möglichkeit herauszufinden wo sich der Wert gerade befindet...
Edit:
VB.NET-Quellcode
- Dim tempcode As String = Mid(TextBox1.Text, 10, 8)
- 'Hiermit wird die Stelle angegeben, wo der Wert (tempcode) zuerst steht. heißt also die boxen werden immer von 80000000 durchsucht.
- 'Dim math As Integer = RichTextBox3.Text / difference
- Select Case RichTextBox3.Text.Contains(tempcode) And RichTextBox2.Text.Contains(tempcode)
- Case 1
- TextBox4.Text = Mid(RichTextBox3.Text, tempcode)
- TextBox5.Text = Mid(RichTextBox2.Text, tempcode)
- 'variable1 muss geändert werden, weil so nur der wert entsteht, an welcher stelle dieser ist.
- Dim variable1 As Integer = InStr(RichTextBox2.Text, tempcode)
- Dim res04 As String = Hex(variable1)
- Dim adress As String = Mid(TextBox1.Text, 1, 2)
- If Hex(variable1).Length = 1 And adress = "04" Then
- TextBox2.Text = "0400000" + Hex(res04) & Space(1) + tempcode
- ElseIf Hex(variable1).Length = 2 And adress = "04" Then
- TextBox2.Text = "040000" + Hex(res04) & Space(1) + tempcode
- ElseIf Hex(variable1).Length = 3 And adress = "04" Then
- TextBox2.Text = "04000" + Hex(res04) & Space(1) + tempcode
- ElseIf Hex(variable1).Length = 4 And adress = "04" Then
- TextBox2.Text = "0400" + Hex(res04) & Space(1) + tempcode
- ElseIf Hex(variable1).Length = 5 And adress = "04" Then
- TextBox2.Text = "040" + Hex(res04) & Space(1) + tempcode
- ElseIf Hex(variable1).Length = 6 And adress = "04" Then
- TextBox2.Text = "04" + Hex(res04) & Space(1) + tempcode
- ElseIf Hex(variable1).Length = 7 Or 8 And adress = "04" Then
- MsgBox("Somethin went wrong!", MsgBoxStyle.Critical, "Error")
- Exit Sub
Ja ich weiß, könnte man einfacher schreiben, habs aber gerne so. Das einzige, was hierbei nicht richtig ist, ist das InStr.
Wie ich schon gesagt habe, ist in der bin Datei jede 32 bit Zahl eine Adresse. Und ich möchte gerne den Wert, der letztenendes in der rtb3 gefunden wird, zu einer adresse wird. Wie könnte man das angehen?Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „Xylon“ ()
-
Versuche es mal so:
In RichTextBox2 würde dann hier die Zeile ausgegeben. -
-
-
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „Xylon“ ()
-
-
-
-
-
-
-
Ähnliche Themen
-
7 Benutzer haben hier geschrieben
- Xylon (29)
- Gast (17)
- MemoAnMichSelbst (6)
- RodFromGermany (4)
- ErfinderDesRades (4)
- VincentTB (3)
- Lukas (1)