Toon posts:

[VB.Net] String uitlezen en opdelen

Pagina: 1
Acties:
  • 61 views sinds 30-01-2008

Verwijderd

Topicstarter
Ik ben bezig met een simpel programmatje:

- een inputbox waar een stukje tekst in wordt gezet
- een knop, en als je daar op klikt word de tekst (een string) in segmenten van 8 opgedeeld


Voorbeeld:

Een gebruiker geeft deze tekst in <= dit wordt dus :

1. Een gebru
2. iker geef
3. t deze tek
4. st in


Ik heb nu zelf geprobeerd om het voor elkaar te krijgen met de functie substring:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub btnSplitsen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSplitsen.Click

        Dim r As String
        Dim i As Integer
        Dim u As Integer

        For i = 0 To tbTekst.TextLength - 1
            r = tbTekst.Text.Substring(i, u)
            i = i + 8
            u = u + 8
            MsgBox(r)
        Next i

    End Sub


het is dus de bedoeling dat de (in dit geval) 4 uitkomsten in een messagebox worden geshowed.
later moeten deze in een array komen, ik controleer nu alleen of hij de string opsplits dmv die messagebox.


maar als ik dit run, komt er eerst een lege messagebox, daarna een messagebox met de tekst: iker ge en daarna loopt het programma vast en krijg ik de foutcode: Index en lengte moeten naar een locatie binnen de tekenreeks verwijzen.

Ik hoop dat iemand me kan helpen

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:54
Probeer eerst eens zelf stap voor stap door je code te lopen (debuggen).
Gebruik duidelijkere variable-namen ipv r, i & u.
Zowiezo zal je eerste string die je ophaalt starten vanaf index 0, en een lengte 0 hebben. Vandaar je lege messagebox.
Je volgende string start dan op positie 8 en heeft een lengte van 8.

Door zelf eerst eens even te debuggen, had je dit zelf ook wel gezien.

https://fgheysels.github.io/


Verwijderd

Topicstarter
whoami schreef op donderdag 17 mei 2007 @ 13:36:
Probeer eerst eens zelf stap voor stap door je code te lopen (debuggen).
Gebruik duidelijkere variable-namen ipv r, i & u.
Zowiezo zal je eerste string die je ophaalt starten vanaf index 0, en een lengte 0 hebben. Vandaar je lege messagebox.
Je volgende string start dan op positie 8 en heeft een lengte van 8.

Door zelf eerst eens even te debuggen, had je dit zelf ook wel gezien.
Ik heb het veranderd:

code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
Private Sub btnSplitsen_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnSplitsen.Click

        Dim input As String
        Dim begin As Integer = 0
        Dim eind As Integer = 8

        For begin = 0 To tbTekst.TextLength
            input = tbTekst.Text.Substring(begin, eind)
            begin = begin + 8
            eind = eind + 8
            MsgBox(input)
        Next begin

    End Sub


Nu gaat de eerste goed! dat is: Een gebru maar de tweede messagebox geeft: iker geeft deze en dan loopt het programma weer vast met dezelfde foutmelding :?

  • whoami
  • Registratie: December 2000
  • Laatst online: 00:54
Kijk nog eens naar Substring , en zie wat die ene parameter eigenlijk betekend.
Dit is gewoon een gevalletje 'help/documentatie lezen' hoor ....

succes.

https://fgheysels.github.io/


Dit topic is gesloten.