Pascal Quelltext - HTML Syntax Highlighting
-
- Beiträge: 298
- Registriert: Di 23. Nov 2010, 23:41
- OS, Lazarus, FPC: Ubuntu/Win, Lazarus trunk, FPC trunk
- CPU-Target: 32Bit/64Bit
- Wohnort: Geldern
- Kontaktdaten:
Pascal Quelltext - HTML Syntax Highlighting
Hallo zusammen,
kennt jemand von Euch eine gute, zuverlässige, kleine und zugleich schnelle Routine um Pascal-Code ein Syntax Highlighting zu verpassen?
kennt jemand von Euch eine gute, zuverlässige, kleine und zugleich schnelle Routine um Pascal-Code ein Syntax Highlighting zu verpassen?
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
- corpsman
- Lazarusforum e. V.
- Beiträge: 1617
- Registriert: Sa 28. Feb 2009, 08:54
- OS, Lazarus, FPC: Linux Mint Mate, Lazarus GIT Head, FPC 3.0
- CPU-Target: 64Bit
- Wohnort: Stuttgart
- Kontaktdaten:
Re: Pascal Quelltext - HTML Syntax Highlighting
Wie wärs mit synedit, das nutzt die IDE auch und funktioniert zuverlässig und schnell.
--
Just try it
Just try it
-
- Beiträge: 586
- Registriert: Mi 25. Mär 2009, 21:12
- OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
- CPU-Target: mostly 32 bit
Re: Pascal Quelltext - HTML Syntax Highlighting
SynEdit hat einen HTML exporter.corpsman hat geschrieben:Wie wärs mit synedit, das nutzt die IDE auch und funktioniert zuverlässig und schnell.
In Lazarus 1.1 ist das ueber Menu erreichbar
-
- Beiträge: 298
- Registriert: Di 23. Nov 2010, 23:41
- OS, Lazarus, FPC: Ubuntu/Win, Lazarus trunk, FPC trunk
- CPU-Target: 32Bit/64Bit
- Wohnort: Geldern
- Kontaktdaten:
Re: Pascal Quelltext - HTML Syntax Highlighting
Eigentlich habe ich nach einer kleinen Lösung gesucht, mit der ich in meinem Internet-Auftritt immer den aktuellen Stand der Pascal-Sourcen im Seiteninhalt einbetten kann, also z.B. in einem code-Tag. Meine Website besteht aus einer ISAPI-Extension (DLL) also keine visuelle Anwendung.
Oder gibt es da eine Möglichkeit SynEdit einzusetzen ohne Visuelle Umgebung, also quasi nur zur Konvertierung?
Oder gibt es da eine Möglichkeit SynEdit einzusetzen ohne Visuelle Umgebung, also quasi nur zur Konvertierung?
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
-
- Beiträge: 586
- Registriert: Mi 25. Mär 2009, 21:12
- OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
- CPU-Target: mostly 32 bit
Re: Pascal Quelltext - HTML Syntax Highlighting
Du brauchst ja keinen vollen SynEdit.gocher hat geschrieben:Eigentlich habe ich nach einer kleinen Lösung gesucht, mit der ich in meinem Internet-Auftritt immer den aktuellen Stand der Pascal-Sourcen im Seiteninhalt einbetten kann, also z.B. in einem code-Tag. Meine Website besteht aus einer ISAPI-Extension (DLL) also keine visuelle Anwendung.
Oder gibt es da eine Möglichkeit SynEdit einzusetzen ohne Visuelle Umgebung, also quasi nur zur Konvertierung?
Nur den HtmlExporter, den Highlighter, und den TextBuffer. Theoretisch machbar. Aber aufwendig.
Und dann musst Du das noch selbst in ne DLL mit isapi interface packen....
-
- Beiträge: 298
- Registriert: Di 23. Nov 2010, 23:41
- OS, Lazarus, FPC: Ubuntu/Win, Lazarus trunk, FPC trunk
- CPU-Target: 32Bit/64Bit
- Wohnort: Geldern
- Kontaktdaten:
Re: Pascal Quelltext - HTML Syntax Highlighting
SynEdit ist ein guter weg
!
70 Zeilen Code, geht doch, kennt sich jemand mit TSynPasSyn UseUserSettings aus?
Für Delphi gibt es da EnumUserSettings(DelphiVersions: TStrings) gibt eine Schnittstelle zu Lazarus oder am besten eine kleine Doku?

70 Zeilen Code, geht doch, kennt sich jemand mit TSynPasSyn UseUserSettings aus?
Für Delphi gibt es da EnumUserSettings(DelphiVersions: TStrings) gibt eine Schnittstelle zu Lazarus oder am besten eine kleine Doku?
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
-
- Beiträge: 586
- Registriert: Mi 25. Mär 2009, 21:12
- OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
- CPU-Target: mostly 32 bit
Re: Pascal Quelltext - HTML Syntax Highlighting
EnumUserSettings exists, but is not working. Looks like it is supposed to interact with the registry?
Anyway, all properties (settings) that you need a published (can be easily found by opening the source), and the use code-navigation.
Since you are not writing a visual app, you can't use a form to put the SynPasSyn on. But apparently you can use a data module.
Or you can easily set them from code.
SynPasSyn.CommentAttri.Foreground := clBlue.
The names of all attributes are in the Object inspector or components\synedit\synhighlighterpas.pp line 558.
Anyway, all properties (settings) that you need a published (can be easily found by opening the source), and the use code-navigation.
Since you are not writing a visual app, you can't use a form to put the SynPasSyn on. But apparently you can use a data module.
Or you can easily set them from code.
SynPasSyn.CommentAttri.Foreground := clBlue.
The names of all attributes are in the Object inspector or components\synedit\synhighlighterpas.pp line 558.
-
- Beiträge: 586
- Registriert: Mi 25. Mär 2009, 21:12
- OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
- CPU-Target: mostly 32 bit
Re: Pascal Quelltext - HTML Syntax Highlighting
As I said, you can skip synedit itself. From memory (not tested)
Thats all, now you should be able to use the HL in the HtmlExporter
Code: Alles auswählen
FLines := TSynEditStringList.Create;
This will be where you put your text (it has a TStrings like interface)
// use highlighter from datamodule
// OR
FHighlighter :+ TsysPasSyn.Create(nil)
// set config
// ALways
FHighlighter.AttachToLines(FLines);
// and at the end (before destroying the lines
FHighlighter.DettachFromLines(FLines);
// Needed once.
// If the highlighter is used by other SynEdit, or with other lines, then needed before *every* access (whenever some other code may have used it)
FHighlighter.CurrentLines := FLines;
// Whenever the text has changed
FHighlighter.CurrentLines := FLines;
FHighlighter.ScanRanges;
Thats all, now you should be able to use the HL in the HtmlExporter
Zuletzt geändert von Lori am Mo 18. Jun 2012, 19:22, insgesamt 1-mal geändert.
Grund: Highlighter
Grund: Highlighter
-
- Beiträge: 298
- Registriert: Di 23. Nov 2010, 23:41
- OS, Lazarus, FPC: Ubuntu/Win, Lazarus trunk, FPC trunk
- CPU-Target: 32Bit/64Bit
- Wohnort: Geldern
- Kontaktdaten:
Re: Pascal Quelltext - HTML Syntax Highlighting
Thanks / Danke
läuft auf meiner Homepage http://www.gocher.me/ISAPI-Interface" onclick="window.open(this.href);return false;
läuft auf meiner Homepage http://www.gocher.me/ISAPI-Interface" onclick="window.open(this.href);return false;
- Geschwindigkeit: ok
- Ausgabe mit Font-Tags nicht ganz so schön
kann man aber durch Span-Tags ersetzen und color durch class
(dazu muss man nur unterschiedliche Farben für alle Typen vergeben), siehe meine Homepage - compilierte und mit Strip behandelte Datei vergrößert sich um ca 1,4MB, das ist natürlich erheblich
Zuletzt geändert von gocher am Do 16. Mai 2013, 01:06, insgesamt 1-mal geändert.
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
-
- Beiträge: 586
- Registriert: Mi 25. Mär 2009, 21:12
- OS, Lazarus, FPC: Laz trunk / fpc latest release / Win and other
- CPU-Target: mostly 32 bit
Re: Pascal Quelltext - HTML Syntax Highlighting
gocher hat geschrieben:Thanks / Danke
läuft auf meiner Homepage http://gocher.dyndns.org/ISAPI-Interface" onclick="window.open(this.href);return false;
- Geschwindigkeit: ok
- Ausgabe mit Font-Tags nicht ganz so schön
kann man aber durch Span-Tags ersetzen und color durch class
(dazu muss man nur unterschiedliche Farben für alle Typen vergeben), siehe meine Homepage- compilierte und mit Strip behandelte Datei vergrößert sich um ca 1,4MB, das ist natürlich erheblich
There may be unwanted references to units that in your case are not needed.
Eine hab ich gefunden. Kann aber aus Kompatibilität Gründen nicht entfernen.
Der Exporter (base class) hat eine property Font:TFont. Das bedeuted unit Graphics is used (und alle Decoder png, jpg, bmp, sind per initialization section fest enthalten. Even if smart linking).
Eigentlich braucht der kein Font. Nur default settings fuer Farben und Style....
-
- Beiträge: 359
- Registriert: Mi 27. Mai 2009, 20:54
- OS, Lazarus, FPC: OpenSuse11.4 x86 (Lazarus: 0.9.30 FPC 2.4.2)
- CPU-Target: x86
- Wohnort: Cottbus
Re: Pascal Quelltext - HTML Syntax Highlighting
Wie wäre es, einfach den geshi zu nutzen? (http://qbnz.com/highlighter/)
-
- Beiträge: 298
- Registriert: Di 23. Nov 2010, 23:41
- OS, Lazarus, FPC: Ubuntu/Win, Lazarus trunk, FPC trunk
- CPU-Target: 32Bit/64Bit
- Wohnort: Geldern
- Kontaktdaten:
Re: Pascal Quelltext - HTML Syntax Highlighting
An meinen Internet Server lasse ich nur Free PascalTeekeks hat geschrieben:Wie wäre es, einfach den geshi zu nutzen? (http://qbnz.com/highlighter/)

MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
-
- Beiträge: 298
- Registriert: Di 23. Nov 2010, 23:41
- OS, Lazarus, FPC: Ubuntu/Win, Lazarus trunk, FPC trunk
- CPU-Target: 32Bit/64Bit
- Wohnort: Geldern
- Kontaktdaten:
Re: Pascal Quelltext - HTML Syntax Highlighting
Die Klassen TSynPasSyn und TSynExporterHTML benötigen die Units SynHighlighterPas, SynExportHTML und Interfaces.
Diese drei Units ziehen natürlich etliche weitere visuelle Klassen... und für mich überflüssige Units mit hinzu, das abzuändern ist wahrscheinlich zu komplex! Da muss ich wohl später noch mal ran, aber für den Augenblick geht ja.
Diese drei Units ziehen natürlich etliche weitere visuelle Klassen... und für mich überflüssige Units mit hinzu, das abzuändern ist wahrscheinlich zu komplex! Da muss ich wohl später noch mal ran, aber für den Augenblick geht ja.
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
-
- Beiträge: 3444
- Registriert: Mo 11. Sep 2006, 10:24
- OS, Lazarus, FPC: svn (Window32, Linux x64, Linux ARM (QNAP) (cross+nativ)
- CPU-Target: X32 / X64 / ARMv5
- Wohnort: Krefeld
Re: Pascal Quelltext - HTML Syntax Highlighting
"Ziehen" der Units schadet doch nichts. Es wird immer nur der Code eingebaut, der auch tatsächlich irgendwo aufgerufen wird.
-Michael
-Michael
-
- Beiträge: 298
- Registriert: Di 23. Nov 2010, 23:41
- OS, Lazarus, FPC: Ubuntu/Win, Lazarus trunk, FPC trunk
- CPU-Target: 32Bit/64Bit
- Wohnort: Geldern
- Kontaktdaten:
Re: Pascal Quelltext - HTML Syntax Highlighting
Mit hinzu ziehen meine ich, das Ursprungsobjekt des TSynPasSyn ist visuell, also zum Darstellen des Textes angelegt mit Texteigenschaften die über TSynExporterHTML in HTML gewandelt werden. Also so gesagt wird der Code schon gebraucht aber nicht für meinen Zweck zu HTML-Darstellung.mschnell hat geschrieben:"Ziehen" der Units schadet doch nichts. Es wird immer nur der Code eingebaut, der auch tatsächlich irgendwo aufgerufen wird.
-Michael
Im eigentlichen wird der Quellcode in einen Editor geladen und über dessen Syntax Highlighting wird der HTML-Code erzeugt und exportiert! Also Optimaler (schneller und kleiner) wäre ein Pascal-Parser der den Code direkt mit HTML-Tags anreichert, aber das ist wieder sehr speziell für diese eine Anwendung gedacht.
MfG Gocher
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me
akt. Projekt: Webserver(HTTPS HTTP/2) mit integrierten CMS in Free Pascal - www.gocher.me