Avatar billede ultik Nybegynder
04. december 1999 - 14:00 Der er 1 kommentar og
1 løsning

RTF og farver....

Hej !

Er der nogen der kan hjælpe mig med at lave en syntakts-farvning procedure til en RTFbox.... ? Boxen loader en HTML fil, eller et andet script, men jeg kan ikke finde ud af hvordan jeg skal lave syntaks-farvning.... med instr() kan jeg finde stederne... men hvordan får jeg hele dokumentet gået igennem ?

Jeg kan godt bruge rtf.selcolor, så det er mere generelt til hvordan jeg opbyger koden, og hvilke funcs der er brugbare.....

På Forhånd Tak....

Ulrik Jensen
Avatar billede steffentchr Nybegynder
05. december 1999 - 14:01 #1
Lav en RTF-box med navnet "rtf" og brug denne kode i Change-eventen. Koden er skrevet meget hurtigt, og den kan forbedres på flere måder, men ideen er god nok. Bl.a. er den lidt langsom, men jeg kan ikke se hvordan man skal gøre det meget hurtigere uden at lege med API, og det er der vist ingen grund til...

Private Sub rtf_Change()
    sels = rtf.SelStart
    sellen = rtf.SelLength
    selcol = rtf.SelColor
   
    rtf.SelStart = 0
    rtf.SelLength = Len(rtf.Text)
    rtf.SelColor = vbBlack
   
    Dim ResOrd(2)
   
    ResOrd(0) = "HTML"
    ResOrd(1) = "BODY"
    ResOrd(2) = "HEAD"
   
    start = 1
   
    For id = 0 To UBound(ResOrd)
startsearch:
        i = InStr(start, UCase$(rtf.Text), ResOrd(id))
        If i Then
            rtf.SelStart = i - 1
            rtf.SelLength = Len(ResOrd(id))
            rtf.SelColor = vbRed
           
            start = i + 1
            GoTo startsearch
        End If
    Next


    rtf.SelStart = sels
    rtf.SelLength = sellen
    rtf.SelColor = selcol

End Sub
Avatar billede ultik Nybegynder
06. december 1999 - 23:20 #2
Tak... Jeg fandt selv en løsning dog...
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