Syntax Highlighting während der Eingabe

Anfängerfragen zum Programmieren mit PureBasic.
Hanniball
Beiträge: 55
Registriert: 21.03.2005 17:40
Wohnort: Oranienbaum
Kontaktdaten:

Syntax Highlighting während der Eingabe

Beitrag 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.
Benutzeravatar
cxAlex
Beiträge: 2111
Registriert: 26.06.2008 10:42

Beitrag von cxAlex »

Projekte: IO.pbi, vcpu
Pausierte Projekte: Easy Network Manager, µC Emulator
Aufgegebene Projekte: ECluster

Bild

PB 5.1 x64/x86; OS: Win7 x64/Ubuntu 10.x x86
Andesdaf
Moderator
Beiträge: 2671
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

kannst dir ja auch mal das ScintillaGadget anschauen.
Win11 x64 | PB 6.20
Hanniball
Beiträge: 55
Registriert: 21.03.2005 17:40
Wohnort: Oranienbaum
Kontaktdaten:

@cxAlex

Beitrag 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.
Andesdaf
Moderator
Beiträge: 2671
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag 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.
Win11 x64 | PB 6.20
Hanniball
Beiträge: 55
Registriert: 21.03.2005 17:40
Wohnort: Oranienbaum
Kontaktdaten:

@ Andesdaf

Beitrag 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
Andesdaf
Moderator
Beiträge: 2671
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

mir ist grad aufgefallen, dass auch Buchstabenkombinationen im Wort unterschiedlich
hervorgehoben werden :lol:
z.b In "Mandat" wird auch "da hervorgehoben".
Win11 x64 | PB 6.20
Hanniball
Beiträge: 55
Registriert: 21.03.2005 17:40
Wohnort: Oranienbaum
Kontaktdaten:

Kleine Nachfrage

Beitrag 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
Andesdaf
Moderator
Beiträge: 2671
Registriert: 15.06.2008 18:22
Wohnort: Dresden

Beitrag von Andesdaf »

du willst sozusagen einen kleinen PB-Editor machen? :wink:
Win11 x64 | PB 6.20
Hanniball
Beiträge: 55
Registriert: 21.03.2005 17:40
Wohnort: Oranienbaum
Kontaktdaten:

@Andesdaf

Beitrag 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
Antworten