Ich versuche ein Syntax highlighting in ein EditField einzubauen und
habe dazu folgendes im TextChangeEvent:

dim rg as RegExMbs
 dim s as string
 dim c,i,j,k,m,merke1,merke2 as integer

 merke1=Editor(Index).SelStart
 merke2=Editor(Index).SelLength
 Editor(Index).SelStart=0
 Editor(Index).SelLength=len(Editor(Index).text)+1
 Editor(Index).SelTextColor=rgb(0,0,0)
 s="Test"
 rg=new RegExMBS
 if rg<> nil then
   rg.CompileOptionCaseLess=false
   rg.CompileOptionAnchored=True
   if rg.Compile(s) then
     c=rg.Execute(Editor(Index).Text,0)
     if c>0 then
       for m=0 to c

EditField9.Text=mid(s,rg.OffsetCharacters(m*2)+1,rg.OffsetCharacters(m*2+1)-rg.OffsetCharacters(m*2))
         i=rg.OffsetCharacters(m*2)
         j=rg.OffsetCharacters(m*2+1)
         k=len(Editor(Index).Text)
         k=j-i
         Editor(Index).SelStart=i
         Editor(Index).SelLength=k
         Editor(Index).SelTextColor=rgb(0,0,255)
       next
     end
   end if
 end
 Editor(Index).SelStart=merke1
 Editor(Index).SelLength=merke2


Dummerweise findet der nur immer die erste Stelle und diese als einzige
:-(
Eigentlich hatte ich erwartet, in c die Anzahl der Fundstellen zu
erhalten, anscheinend muss ich aber irgendeine Option übersehn haben.

Hat zufällig jemand syntax highlighting schon eingebaut oder eine
bessere Idee dazu? Evt. auch noch mit Zeileneinzug?
Das was ich im Internet gefunden habe ist für mich zu teuer und bietet
deutlich mehr, als ich benötige.

MfG, Metti.

Antwort per Email an