Toon posts:

[VB] Over het uitkiezen van een woord in andere textbox

Pagina: 1
Acties:

Verwijderd

Topicstarter
Sorry dat de vraag zo onduidelijk is maar ik kan er niet echt een andere omschrijving aan geven. Hier mijn vraag:
Ik heb 4 textboxen, de eerste textbox voer je een zin in:
Bijvoorbeeld: morgen mooi weer
bij de tweede krijg je dan hoeveel tekens die zin heeft, in dit geval zou je daar dus 16 krijgen, in textbox 3 vul je een getal in, bijvoorbeeld 2, dan is het de bedoeling dat in textbox 4 het 2e woord uit de zin in textbox1 te krijgen dus in dit geval: mooi.
hier volgt de code, er zitten een hoop dingen in wat vrij slordig is en ook dingen die niet eens gebruikt worden maar ik heb een hoop tijd zelf zitten proberen en het wilde niet echt lukken, vandaar mijn vraag:

Visual Basic:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
Private Sub CommandButton1_Click() 
Dim lengte As Integer 
Dim zin As String 
Dim spatie As String 
Dim i As Integer 
Dim posities(10) As Integer 
Dim x As String 
Dim n As Integer 
Dim m As Integer 

zin = TextBox1 
lengte = Len(zin) 
TextBox2 = lengte 
plaats = 1 
For i = 1 To lengte 
letter = Mid$(zin, i, 1) 
ListBox1.AddItem (letter) 
If letter = " " Then 
posities(plaats) = i 
plaats = plaats + 1 
End If 
Next i 
For i = 1 To 10 
ListBox1.AddItem (posities(i)) 
Next i 

x = Val(TextBox3) 
b = y 
c = posities(2) 
d = posities(3) 
e = posities(4) 
f = posities(5) 
g = posities(1) 
v = posities(3) 
spatie = " " 
If x = 3 Then 
TextBox4 = Mid$(zin, c) 
End if
End Sub 


Ik krijg dus in textbox 4 wel de text die ik wil bijvoorbeeld als ik intyp: Abc Def Ghi Jkl Mno
en ik neem dan de x = 3 oftewel textbox3 = 3 dan krijg ik eruit
Ghi Jkl Mno, hij stopt dus niet na Ghi maar hoe zorg ik ervoor dat hij dat wel doet?
Hoop dat iemand me kan helpen.
De listbox is niet relevant..
Aaad

[ Voor 4% gewijzigd door Verwijderd op 15-02-2004 17:06 ]


  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 22:24

gorgi_19

Kruimeltjes zijn weer op :9

Erhm... :?

Waarom gebruik je niet split; dit levert een array op en daar neem je gewoon de waarde van tekstbox 3 minus 1 van?

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
euh.. dit begrijp ik niet helemaal, die array heb ik maar volgens mij begrijp je de vraag niet (als ik het goed begrijp) de waarde van textbox3 - 1 ? daar schiet ik toch niks mee op, ik wil het in textbox 1 een zin, dan in textbox3 het zoveelste woord uit textbox1 en dat moet in textbox4 komen, dus als je in textbox3 het getal 5 invoert en je hebt in textbox1 de zin Morgen is het heel erg mooi weer
ingevoerd en je drukt op command button dat dan in textbox 4 alleen "erg" in de textbox komt te staan
Aaad

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 22:24

gorgi_19

Kruimeltjes zijn weer op :9

Verwijderd schreef op 15 februari 2004 @ 17:05:
euh.. dit begrijp ik niet helemaal, die array heb ik maar volgens mij begrijp je de vraag niet (als ik het goed begrijp) de waarde van textbox3 - 1 ? daar schiet ik toch niks mee op, ik wil het in textbox 1 een zin, dan in textbox3 het zoveelste woord uit textbox1 en dat moet in textbox4 komen, dus als je in textbox3 het getal 5 invoert en je hebt in textbox1 de zin Morgen is het heel erg mooi weer
ingevoerd en je drukt op command button dat dan in textbox 4 alleen "erg" in de textbox komt te staan
Aaad
Dit is een voorbeeldzin

We gaan de zin splitsen op een spatie; dit levert een array op.

Je krijgt dan:
itemarray(0) = "Dit"
itemarray(1) = "is"
itemarray(2) = "een"
itemarray(3) = "voorbeeldzin"

Je wilt het derde woord hebben; je vult het getal 3 in. Dit komt overeen met het index 2; dus vandaar 3 - 1.

[ Voor 6% gewijzigd door gorgi_19 op 15-02-2004 17:08 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


  • Twee Dee
  • Registratie: Juli 2002
  • Laatst online: 26-05 23:05

Twee Dee

Morgen weer een ondertitel.

Welkom op GoT... Succes met het leren van VB :)

Je functie Mid$ heeft nog een derde optionele variabele. Als je die nou eens gebruikt dan kom je waarschijnlijk uit waar je moet zijn.

Ik neem aan dat je meerdere van die if-statements heb? Uiteraard kan het handig zijn om dit generiek te herschrijven. In de trant van

Visual Basic:
1
textbox4 = mid$(zin, posities(x-1), posities(x) - posities(x-1))


edit:

Tikvout 8)

[ Voor 49% gewijzigd door Twee Dee op 15-02-2004 17:37 ]

Luister nou gewoon naar me, dat voorkomt dat ik later "zie je wel" moet zeggen.


Verwijderd

Topicstarter
bedankt voor de reply's ben een heel stuk verder gekomen en het werkt ook :)
Aaad
Pagina: 1