Syntax Highlightning für PureBasic 4.00

Anfängerfragen zum Programmieren mit PureBasic.
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Syntax Highlightning für PureBasic 4.00

Beitrag von Vermilion »

Ich habe mich dumm und dämlich gesucht, aber irgendwie trotzdem nichts gefunden. OK, ich bin auf den Scintilla Kram gestoßen, aber letztendlich hat es mich nicht weitergebracht. Ich hab noch für PureBasic 3.92 eine Userlib (weiß nicht mehr von wem) mit der Syntax Highlightning möglich war. Obwohl ich mich damit zurechtfand, war sie doch etwas zu kompliziert für das was sie machen soll.
Jetzt wollte ich fragen, ob jemand eine Userlib oder irgendwas zum Highlighten für PureBasic 4.00 kennt, die möglichst einfach sein sollte. Darunter würde ich sowas verstehen:

HighlightString(#EditorGadget, StringToHighlight$, RGB()[, Flags])

Aber die Einfachheit steht nicht an erster Stelle. Eher an letzter, hauptsache es gibt sowas für PureBasic 4.00. Oder es ginge auch, wenn mir jemand erklären könnte, wie ich im Scintilla Gadget bestimme Strings highlighte.
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Schau im SDK-Ordner von Purebasic , da liegt eine DLL. Fuer Anfaenger
sicherlich die leichte Methode.

Fuer Scintilla gibts im englischen Forum genug.
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Beitrag von Vermilion »

:| Die DLL im SDK Ordner ist ja nicht das was ich suchte, was ich brauche ist Syntax Highlightning in einem Editor (oder eventuell Scintilla) Gadget. Das Ding liest ja nur Textdateien ein und spuckt sie als HTML wieder aus...

Und selbst im Englischen Forum finde ich mit den Tags "Scintilla" oder "Highlightning" nichts brauchbares finden. Ein paar Leute haben dort auch die selbe Frage wie ich gestellt aber keine Antwort bekommen (Ich hoffe, das ist bei mir anders).
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Du hast den Sinn der DLL nicht verstanden, ob mit Scintilla oder
EditorGadget, du musst den Text parsen. Und genau da setzt die DLL
an. Schau es dir nochmal in Ruhe an und nimm den Quelltext
auseinander.
Benutzeravatar
ts-soft
Beiträge: 22292
Registriert: 08.09.2004 00:57
Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel
Wohnort: Berlin

Beitrag von ts-soft »

Scintilla hat eine Documentation. Selbst Profi's haben Schwierigkeiten damit
umzugehen und wenns einer Verstanden hat, wird er es einem anderen in so
einem Forum nicht erklären können. Studiere die Beispiel-Sourcen, "jaPBe"
zum Beispiel. Wenn damit nicht weiter kommst probiere es in ein paar Jahren
nochmal :mrgreen:
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Bild
DW

Beitrag von DW »

Du musst die Dll nicht unbedingt nutzen. Wenn du was einfaches haben willst, wo nur Wörter farbig dargestellt werden, musst du einfach mittels findstring etc. die Position der Texte in der aktuellen line finden, sie selektieren und sie dann mit z.B:


format\cbSize = SizeOf(CHARFORMAT)
format\dwMask = #CFM_COLOR
format\crTextColor = Color
SendMessage_(GadgetID(Gadget), #EM_SETCHARFORMAT, #SCF_SELECTION, format)

färben.
Benutzeravatar
Thorsten1867
Beiträge: 1360
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von Thorsten1867 »

"SyntaxHighlighting" von DarkDragon
Sourcecode nach PB4 umwandeln und als Include verwenden.
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
Benutzeravatar
Vermilion
Beiträge: 1846
Registriert: 08.04.2006 16:00
Computerausstattung: Apple iMac (2010) & HP Notebook
Wohnort: Heidekreis

Beitrag von Vermilion »

Zum Thema parsen:
Ich will ja einen simplen HTML Editor machen (Also einfach nur Notepad mit Highlightning, weil mir das hantieren mit Notepad bei großen Quelltexten zu unübersichtlich wird). Und dann in ein HTML Dokument noch mal sone tags usw. reinschreiben? Das funktioniert nicht, denn dann sieht man die Tags ja auch, wenn man die Seite in einem Browser betrachtet.

Zum Thema Userlib von DarkDragon:
Ja, hab ich gemacht. Aber als der Compiler dann meinte, dass die Library "GadgetExtension" fehlen würde, war dann ende Gelände. Bei PB 4.00 gibt es die Library nicht, bei PB 3.92 schon. Aber in 3.92 programmier ich erst, wenn nichts mehr anderes möglich ist, da das spackt so ein bisschen mit DDs Lib. /:->

Scintilla Dokumentation:
Dokumentation? Also aus dem Thread hier aus dem Forum, wo ich es runtergeladen habe, gab es keine Dokumentation mitgeliefert.

API:
Muss ich noch ausprobieren, kann man denn auch erreichen, Wörter kursiv oder fettgedruckt zu machen?
Bild

Immer die neueste PureBasic Version. Auf allem Betriebssystemen. Ich bin ein OS-Nomad!
Benutzeravatar
edel
Beiträge: 3667
Registriert: 28.07.2005 12:39
Computerausstattung: GameBoy
Kontaktdaten:

Beitrag von edel »

Schau mal was ts-soft gerade gepostet hat, denke das duerfte nicht
allzuschwer sein. Die DLL ist zwar eigentlich fuer PB aber nen kleinen
Parser schreiben sollte nicht das grosse Problem sein.

Die Lib von DD mag ja ganz doll sein, aber wegen einer extrem
langsamen Routine extra auf 3.92 umzusteigen, halte ich doch
fuer etwas uebertrieben.
Benutzeravatar
Thorsten1867
Beiträge: 1360
Registriert: 04.02.2005 15:40
Computerausstattung: [Windows 10 x64] [PB V5.7x]
Wohnort: Kaufbeuren
Kontaktdaten:

Beitrag von Thorsten1867 »

edel hat geschrieben:Schau mal was ts-soft gerade gepostet hat, denke das duerfte nicht
allzuschwer sein. Die DLL ist zwar eigentlich fuer PB aber nen kleinen
Parser schreiben sollte nicht das grosse Problem sein.

Die Lib von DD mag ja ganz doll sein, aber wegen einer extrem
langsamen Routine extra auf 3.92 umzusteigen, halte ich doch
fuer etwas uebertrieben.
Ich benutze diese mit PB 4.00. Nach dem Konvertieren mit 'PBSourceConverter' funktioniert es einwandfrei.
Download of PureBasic - Module
Download of PureBasic - Programmes

[Windows 11 x64] [PB V6]

Bild
Antworten