Avatar billede blueeye97 Nybegynder
12. september 2005 - 21:36 Der er 9 kommentarer og
1 løsning

Find og erstat i Richtextbox

I en richtextbox vil jeg godt kunne skifte f.eks. :o) ud med en smiley fra Wingdings fonten. Fonten for boxen er default sat til Verdana. Jeg har prøvet nedenstående kode, men den indsætter automatisk en ENTER efter at den har skiftet :o) uf med smileyen og det ødelægger jo resten af teksten. Rt3 er en richtextbox hvis indhold er smileyen fra wingdings.

Rt2 = Replace(Rt2, ":o)", Rt3)
Avatar billede blueeye97 Nybegynder
12. september 2005 - 23:40 #1
Jeg har forresten også prøvet:

Rt2.SelFontName = "wingdings"
Rt2.SelFontSize = 10
Rt2 = Replace(Rt2, ":o)", "J")

Men det erstatter bare smileyen til et J og ikke wingding smileyen..
Avatar billede kabbak Professor
13. september 2005 - 19:09 #2
prøv den

A = Rt2.Find(":o)")
If A > 0 Then
With Rt2
Rt2 = Replace(Rt2, ":o)", "J")
.SelStart = A
.SelLength = 1
.SelFontName = "Windings"
.SelFontSize = 20
End With
End If
Avatar billede blueeye97 Nybegynder
13. september 2005 - 19:19 #3
Det virker hvis jeg nøjes med en enkelt :o)

Hvis der er flere :o) i teksten, er det kun den første der rettes. De efterfølgende bliver bare til J'er
Avatar billede blueeye97 Nybegynder
13. september 2005 - 21:06 #4
Fonten bliver forresten ændret helt til Wingdings. Så hvis man fortsætter med at skrive, skal man manuelt ændre fonten..
Avatar billede blueeye97 Nybegynder
13. september 2005 - 21:14 #5
Jeg fandt lige det her: http://www.planetsourcecode.com/vb/scripts/ShowCode.asp?txtCodeId=32695&lngWId=1#zip. Det er selvfølgelig smart nok, men jeg vil nu godt kunne klare det selv med wingdingeren. Så jeg er stadigvæk åben for råd :o)
Avatar billede kabbak Professor
13. september 2005 - 21:55 #6
Hvis der altid er mellemrum på beggesider af :o), kan denne måske bruges


Rt2 = Replace(Rt2, ":o)", "J")
A = Rt2.Find(" J ")
do
If A > 0 Then
With Rt2
.SelStart = A+1
.SelLength = 1
.SelFontName = "Windings"
.SelFontSize = 20
End With
End If
loop until A < 1
Avatar billede kabbak Professor
13. september 2005 - 21:56 #7
Rt2 = Replace(Rt2, ":o)", "J")
A = Rt2.Find(" J ")
do
If A > 0 Then
With Rt2
.SelStart = A+1
.SelLength = 1
.SelFontName = "Windings"
.SelFontSize = 20
End With
End If
A = Rt2.Find(" J ")
loop until A < 1

en rettelse
Avatar billede blueeye97 Nybegynder
13. september 2005 - 22:26 #8
Naah...

xx :o) xx :o)

bliver til

xx 'rigtig smiley' xx J
Avatar billede blueeye97 Nybegynder
14. september 2005 - 19:43 #9
Kabbak >

Jeg ligger konverteringen på hylden. Jeg har modificeret føromtalte så det passer ind i mit program. Men smid alligevel et svar, du har fortjent points.. :o)
Avatar billede blueeye97 Nybegynder
18. november 2005 - 23:10 #10
ok... lukketid...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester