Permalänk
Medlem

Hjälp med vb kod.

Undrar vad koden är om man vill byta ut ett tecken i en textbox, om det går dvs :/

Ex. om jag har Hej i txtboxen så vill jag byta e:t mot ett u.

Permalänk
Medlem

tror det skall finnas en funktion som heter instr eller nått i den stilen, den tar 2 strängar, den du vill söka i och det du vill söka efter och returnerar en int som är positionen där strängen börjar.

instr("hej", "e") skulle alltså returnera 1 (tror vb oxo indexerar från 0)

sedan kan du använda den infon för att byta bokstaven, du kan tex ta

typ:

siffra = instr(text1.text, "e") string2 = left(text1.text, siffra) + "u" + right(text1.text, len(text1.text)-siffra) text1.text = string2

med reservation för syntax och att det är innefektiv fulkod eftersom jag inte pular så mkt med vb längre

edit: kan bli fel med indexen oxo, inte 100 på hur indexeringen sker, left och right skall iaf ha det antal tecken som skall med från strängen som är det första argumentet.

Visa signatur

Är du snabbare än en gris? AnimalSpeeder ger dig svaret:
http://itunes.apple.com/se/app/animalspeeder/id551490974?l=en...

Permalänk
Medlem

Replace(String, FindSubstring, ReplaceSubstring, Start, Count, Compare)

http://www.devguru.com/Technologies/vbscript/quickref/replace...

Lite mera effektiv än föregående förslag.

Visa signatur
Permalänk
Medlem

Nu funkar det, tack för tipsen

Edit: Eller inte riktigt Jag har nämligen den här texten i textboxen: |----------------------------|. Och jag vill byta ut EN -. När jag försöker så tar den bara dem i början eller allihopa

Permalänk

använd xtermin8s förslag och sätt count till 1.

ändra även startpositionen om det inte är första "-" du vill byta ut

Visa signatur

Asus Maximus Extreme IV ● Intel 2600K @ 4.7Ghz ● Zalman CNPS9900 MAX ● Corsair XMS3 4x4096mb 1600Mhz ● EVGA Geforce GTX 980 Ti ● SB X-Fi Titanium Pro ● Corsair AX850 Gold

Permalänk
Medlem

Vad jag än gör så blir det såhär från: |-----------| till
-------| Ju högre siffra jag skriver desto mindre blir raden :<

Edit: Behöver också hjälp med hur man kopierar en Frame, och sedan klistrar in den under den framen man kopierade. Det ska hända när man trycker på en knapp

Permalänk

Private Sub Ersätt() Dim strText As String Dim Find As String Dim strReplace As String Dim NewString As String Dim StartPos As Long Dim Count As Long strText = "|----------------------------|" 'Söksträng Find = "-" 'Hitta "-". strReplace = "a" 'Ersätt "-" med "a". StartPos = 10 'Börja söka efter position 10 i strText. Count = 1 'Ersätt endast 1 tecken. 'Spara sträng-partiet innan startpositionen då det inte 'returneras av Replace() om man manuellt ställer in Start. '(Detta visste inte ens jag =) ) NewString = Left(strText, StartPos - 1) 'Då kör vi. NewString = NewString & Replace(strText, Find, strReplace, StartPos, Count) Print NewString 'Skriv ut resultatet på formuläret End Sub

sådär =). Hoppas det där funkar nu

Koden börjar leta efter "-" efter position 10 i mitt kodexempel

Edit: fixade en grej

Visa signatur

Asus Maximus Extreme IV ● Intel 2600K @ 4.7Ghz ● Zalman CNPS9900 MAX ● Corsair XMS3 4x4096mb 1600Mhz ● EVGA Geforce GTX 980 Ti ● SB X-Fi Titanium Pro ● Corsair AX850 Gold

Permalänk
Medlem

Nu funkar det perfekt, tack tobbe ;>