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.