Seite 1 von 2

Syntax Highlighting während der Eingabe

Verfasst: 18.02.2009 19:03
von Hanniball
Hi zusammen,

wie kann man erreichen, das der Text schon während der Eingabe ins Editor - Gadget farbig wird, z. B. wenn ein Schlüsselwort erkannt wurde?

Die Beispiele mit vorheriger Selektierung über API - Befehle sind mir bekannt, ebenso wie die Einfärbung ganzer Zeilen.

Es geht darum, das der zu färbende Text nicht über die Selektierung mit SendMessage_(handle,#EM_SETSEL,start,stop)
vorher markiert werden muss.
Danke schon mal.

Verfasst: 18.02.2009 19:05
von cxAlex

Verfasst: 18.02.2009 19:12
von Andesdaf
kannst dir ja auch mal das ScintillaGadget anschauen.

@cxAlex

Verfasst: 18.02.2009 19:14
von Hanniball
Ja danke, das ist bekannt, bloss dort geht es m. E. hauptsächlich um das Erkennen der Wörter. Ich würde gern wissen ob es nicht etwas einfacher geht - das reine Einfärben während der Eingabe - und ehrlich gesagt den Beitrag verstehe ich nicht in Gänze.

Verfasst: 18.02.2009 19:21
von Andesdaf
wird ja im Code unten gemacht. Die wichtige Stelle ist die:

Code: Alles auswählen

While *ptr_char\c
          DrawWord("hallo",$0000FF) ; Achtung Macro ! 
          DrawWord("du",$FF0000)    ; Achtung Macro ! 
          DrawWord("da",$008000)    ; Achtung Macro !
          *ptr_char + 1
        Wend
Da werden die Wörter zugewiesen. Der rest ist ja kiki.

@ Andesdaf

Verfasst: 18.02.2009 20:36
von Hanniball
Herzlichen Dank Andesdaf, dass hilft wirklich weiter! Werde wohl nun doch von PB 3.92 auf 4.x umsüsten müssen.
Hanniball

Verfasst: 19.02.2009 15:45
von Andesdaf
mir ist grad aufgefallen, dass auch Buchstabenkombinationen im Wort unterschiedlich
hervorgehoben werden :lol:
z.b In "Mandat" wird auch "da hervorgehoben".

Kleine Nachfrage

Verfasst: 19.02.2009 19:49
von Hanniball
Das funktioniert prima:

Code: Alles auswählen

While *ptr_char\c 
          DrawWord("hallo",$0000FF) ; Achtung Macro ! 
          DrawWord("du",$FF0000)    ; Achtung Macro ! 
          DrawWord("da",$008000)    ; Achtung Macro ! 
          *ptr_char + 1 
        Wend 
Aber wie kann ich die zu färbenden Worte während der Laufzeit ändern, bzw. was muss ich tun, wenn ich z.B. alles von # bis zum nächsten Leerzeichen rot färben will? Hab halt noch sehr wenig Erfahrung mit PB 4 und Macros. Danke schon mal.
Hanniball

Verfasst: 19.02.2009 19:53
von Andesdaf
du willst sozusagen einen kleinen PB-Editor machen? :wink:

@Andesdaf

Verfasst: 19.02.2009 20:19
von Hanniball
Hi Andesdaf,

nein, da gibt es genug sehr gute. Ich will es
a) verstehen
b) für eine spezielle PHP Entwicklungsumgebung nutzen.
Gruss Hanniball