Seite 1 von 2
Syntax Highlightning für PureBasic 4.00
Verfasst: 05.11.2006 13:52
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.
Verfasst: 05.11.2006 14:28
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.
Verfasst: 05.11.2006 15:02
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).
Verfasst: 05.11.2006 15:06
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.
Verfasst: 05.11.2006 16:01
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

Verfasst: 05.11.2006 16:35
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.
Verfasst: 05.11.2006 17:41
von Thorsten1867
"SyntaxHighlighting" von DarkDragon
Sourcecode nach PB4 umwandeln und als Include verwenden.
Verfasst: 05.11.2006 21:52
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?
Verfasst: 05.11.2006 22:00
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.
Verfasst: 06.11.2006 14:55
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.