| |

VB.NET - FortgeschritteneMultiline Textbox, Zeile Auslesen | |  | Autor: Tredory | Datum: 04.06.08 22:59 |
| Hi, ich habe ein Problem ;) und zwar versuche ich gerade mir eine Funktion zu basteln die mir eine bestimmte Zeile einer Multiline Textbox als String ausgibt.
So hier die Function:
Public Function GetLine(ByVal Textbox As TextBox, ByVal Line As Long)
Dim Zeilen As Long = 0 'Anzahl der Zeilen in der Textbox.
Dim Message As String = "" 'Text der Textbox.
Dim Zeile() As String 'String Array in dem die einzelnen
' Zeilen abgespeichert werden.
Dim Zeichen As Char = "" 'Das aktuelle Zeichen.
Dim Länge As Long = 0 'Die Anzahl der Zeichen in der
' Textbox.
Dim aktzeile As Long = 0 'Nummer der Aktuellen Zeile.
Dim aktzeiletext As String = "" 'Text der Aktuellen Zeile.
If TextBox.Text = "" Then
Return Nothing
End If
Zeilen = TextBox.Lines.Length 'Anzahl der Zeilen der Textbox
' zuweisen.
Message = TextBox.Text 'Text zuweisen.
Länge = Message.Length 'Anzahl der Zeichen zuweisen.
ReDim Zeile(Zeilen) 'String Array auf Anzahl der Zeilen
' der Textbox einstellen.
For i = 0 To Länge - 1 'For Schleife die
' die Zeilen zuweist.
Zeichen = Message.Chars(i) 'Aktuelles Zeichen einlesen.
If Zeichen = vbCrLf Then 'Wenn ein Zeilenumbruch
' erkannt wird Zeile Abschließen und mit der nächsten weitermachen.
Zeile(aktzeile) = aktzeiletext
aktzeile = aktzeile + 1
aktzeiletext = ""
Else 'Aktuelles Zeichen der
' Aktuellen Zeile hinzufügen.
aktzeiletext = aktzeiletext & Zeichen
End If
Next
Return Zeile(Line).ToString 'Gewünschte Zeile
' zurückgeben.
End Function und der aufruf im Programm:
Private Sub btnsenden_Click(ByVal sender As System.Object, ByVal e As _
System.EventArgs) Handles btnsenden.Click
TextBox1.Text = GetLine(tbxmessage, 0)
End Sub Ich hoffe die Kommentare erklären den Code halbwegs, bzw das was ichmir dabei gedacht habe.
Wenn ich das Programm nun ausführe und auf den Button drücke, passiert ...gar nix ...
Habe vorher die For Schleife etwas anders gehabt :
For i = 0 To Länge 'For Schleife die die Zeilen
' zuweist.
Zeichen = Message.Chars(i) 'Aktuelles Zeichen einlesen.
If Zeichen = vbCrLf Then 'Wenn ein Zeilenumbruch
' erkannt wird Zeile Abschließen und mit der nächsten weitermachen.
Zeile(aktzeile) = aktzeiletext
aktzeile = aktzeile + 1
aktzeiletext = ""
Else 'Aktuelles Zeichen der
' Aktuellen Zeile hinzufügen.
aktzeiletext = aktzeiletext & Zeichen
End If
Next Das -1 fehlt. Da bekam ich beim ausführen und button drücken immer die meldung, dass es nicht im Arraybereich liegt.
Was ist dort Falsch, warum bekomme ich die Zeile nicht in der anderen Textbox angezeigt. Ich weiß nicht wo ich suchen soll, da der compiler halt keinerlei meldungen ausgibt
Wenn da noch was unverständlich ist, fragt.
Achso, Software ist VB2008 EE
Mfg
Jens R.
Beitrag wurde zuletzt am 04.06.08 um 23:00:21 editiert. |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
sevGraph (VB/VBA) 
Grafische Auswertungen
Präsentieren Sie Ihre Daten mit wenig Aufwand in grafischer Form. sevGraph unterstützt hierbei Balken-, Linien- und Stapel-Diagramme (Stacked Bars), sowie 2D- und 3D-Tortendiagramme und arbeitet vollständig datenbankunabhängig! Weitere InfosTipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) TOP Entwickler-Paket 
TOP-Preis!!
Mit der Developer CD erhalten Sie insgesamt 24 Entwickler- komponenten und Windows-DLLs. Die Einzelkomponenten haben einen Gesamtwert von 1866.50 EUR...
Jetzt nur 979,00 EURWeitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|