Wat doe ik fout

Status
Niet open voor verdere reacties.

HellupUandMe

Gebruiker
Lid geworden
21 jan 2007
Berichten
247
Ik ben bezig met een programma waarin letters uit een tekst vervangen worden met teksten van regeltjes uit een listbox. De nieuwe text komt in richtextbox2. Alleen het werkt niet. Volgens mij heb ik iets fout gedaan
bij de letter N want vanaf daar zijn ze niet veranderd in andere letters.
Code:
Dim a As String = Replace(RichTextBox1.Text, "A", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 1
        Dim b As String = Replace(a, "B", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 2
        Dim c As String = Replace(b, "C", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 3
        Dim d As String = Replace(c, "D", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 4
        Dim et As String = Replace(d, "E", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 5
        Dim f As String = Replace(et, "F", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 6
        Dim g As String = Replace(f, "G", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 7
        Dim h As String = Replace(g, "H", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 8
        Dim i As String = Replace(h, "I", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 9
        Dim j As String = Replace(i, "J", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 10
        Dim k As String = Replace(j, "K", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 11
        Dim l As String = Replace(k, "L", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 12
        Dim m As String = Replace(l, "M", ListBox1.SelectedItem)

        ListBox1.SelectedIndex = 13
        Dim n As String = Replace(m, "N", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 14
        Dim o As String = Replace(n, "O", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 15
        Dim p As String = Replace(o, "P", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 16
        Dim q As String = Replace(p, "Q", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 17
        Dim r As String = Replace(q, "R", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 18
        Dim s As String = Replace(r, "S", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 19
        Dim t As String = Replace(s, "T", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 20
        Dim u As String = Replace(t, "U", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 21
        Dim v As String = Replace(u, "V", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 22
        Dim w As String = Replace(v, "W", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 23
        Dim x As String = Replace(w, "X", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 24
        Dim y As String = Replace(x, "Y", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 25
        Dim z As String = Replace(y, "Z", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 26
        Dim a2 As String = Replace(z, "a", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 27
        Dim b2 As String = Replace(a2, "b", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 28
        Dim c2 As String = Replace(b2, "c", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 29
        Dim d2 As String = Replace(c2, "d", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 30
        Dim et2 As String = Replace(d2, "e", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 31
        Dim f2 As String = Replace(et2, "f", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 32
        Dim g2 As String = Replace(f2, "g", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 33
        Dim h2 As String = Replace(g2, "h", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 34
        Dim i2 As String = Replace(h2, "i", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 35
        Dim j2 As String = Replace(i2, "j", ListBox1.SelectedItem)
        ListBox1.SelectedIndex = 36

        RichTextBox2.Text = p

Ik durf bijna te wedden dat niemand gaat antwoorden maar toch
 
Dim f As String = Replace(et, "F", ListBox1.SelectedItem)
Moet die et geen e zijn?
 
Bedankt voor je reactie
Helaas is dit niet het geval. Ik heb express et in plaats van e gedaan omdat e meestal de standaard waarde voor iets anders is en dan gaat ie z**ken
 
Eigenlijk snap ik niet wat het doel hiervan is! Miss even uitleggen:thumb:
 
Eigenlijk snap ik niet wat het doel hiervan is! Miss even uitleggen:thumb:

Dat is toch wel duidelijk als je naar zijn code kijkt ? Hij pakt het alleen heel onhandig aan, volgens mij...

Replace(Expression, WhatToReplace, ReplaceWithWhat)

Iets als onderstaande lijkt me beter:

Code:
dim i as integer
dim tmp as string = richtextbox.text,
      cs() as string = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghij"

for i = 1 to 36' beter is gewoon om de lengte op te vragen, maar gebruik geen VB, dus :p
    listbox.selectedindex = i
    tmp = Replace(tmp, cs[i-1], listbox.selecteditem)
next i

richtextbox.text = tmp

(aangezien ik eigenlijk niet in VB werk, kan het zijn dat de code niet meteen werkt. Maar het gaat om het idee)
 
Laatst bewerkt:
Maar dan kan je bijvoorbeeld niet zeggen dat 98787 = a toch?
nu kan je a alleen als 1 teken doen met jouw code.
 
Maar dan kan je bijvoorbeeld niet zeggen dat 98787 = a toch?
nu kan je a alleen als 1 teken doen met jouw code.

Je sprint van de hak op de tak. Ik vertaal alleen jouw code naar iets wat duidelijker leesbaar is. (in jouw code gebruik je telkens maar één karakter)

Verder is het natuurlijk wel mogelijk om de code aan te passen zodat hij een tekenreeks gebruikt in plaats van een enkel teken. Je kunt zelfs het zelfde principe aanhouden, alleen moet je de array dan natuurlijk andere waardes geven.

Code:
dim cs() as string = { "string1", "string2", "etc" }

cs(0) = "string1"
cs(1) = "string2"
cs(2) = "etc"

(eerste regel code zal waarschijnlijk niet werken in VB :p)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan