Klasse: VB Syntax Highlight
von Konrad Rudolph
VB Syntax Highlight
Die Klasse CFormat stellt einen Dienst bereit, der VB Quellcodes formatiert darstellt und zwar wahlweise als HTML (genauer: XHTML 1.0 Strict) unter Verwendung von CSS, oder als RichTextFormat.
Die Klasse stellt folgende Tokentypen unterschiedlich dar:
- normalen Text
- VB Schlüsselwörter
- Kommentare
- Strings
Für jede dieser Tokentypen können folgende Formatierungen individuell festgelegt werden:
- Font As StdFont
- Bold As Boolean
- Charset As Integer
- Italic As Boolean
- Name As String
- Size As Currency
- Strikethrough As Boolean
- Underline As Boolean
- ForeColor As OLE_COLOR
- BackColor As OLE_COLOR
- Extended AS CExtStyleProps
- ...
Die "Extended"-Eigenschaften sind besonders interessant: hier kann der User sich weitere Styles definieren, die als gültiges CSS2 formatiert sind. Die erweiterten Styles werden in einer Collection gespeichert.
Aus verschiedenen Gründen sind die Möglichkeiten für RTF ein wenig eingeschränkter: obige Eigenschaften sind für HTML-Format voll vewendbar. In RTF werden folgende Eigenschaften _nicht_ interpretiert:
- Font
- Size
- Strikethrough
- BackColor
- Extended
alle anderen Styles funktionieren genauso wie unter HTML.
Die Klasse CFormat verfügt über folgende wichtige Eigenschaften und Methoden:
- Sub FixOptions() - fixiert die veränderten Optionen und macht sie benutzbar.
- Property KeywordList As String - enthält alle Schlüsselwörter, die die Klasse erkennt, getrennt durch das einen senkrechten Strich ("|"), der auch am Anfang und am Ende der Liste stehen muß.
- Sub LooseOptions()
resetted die Optionen - Property OutputDevice As OutputDevice
legt das Ausgabeformat fest. Gültig sind folgende Werte:
- OD_RTF
- OD_XHTML - Function Parse(Code As String) As String
parst einen gegebenen Code und gibt eine Version mit eingefügten Formattags zurück, in Abhängigkeit vom gewählten Ausgabeformat. - Property Style_Comments As CStyleProps
enthält die Styleeigenschaften für Kommentare - Property Style_Keywords As CStyleProps
enthält die Styleeigenschaften für Schlüsselwörter - Property Style_Normal As CStyleProps
enthält die Styleeigenschaften für normalen Text - Property Style_String As CStyleProps
- enthält die Styleeigenschaften für Strings
Die Zipdatei enthält auch ein Beispielprojekt
Geschrieben wurde die Klasse von Konrad Rudolph
Download cFormat.zip [3090 Bytes]
Ihre Meinung
Falls Sie Fragen zu diesem Artikel haben oder Ihre Erfahrung mit anderen Nutzern austauschen möchten, dann teilen Sie uns diese bitte in einem der unten vorhandenen Themen oder über einen neuen Beitrag mit. Hierzu können sie einfach einen Beitrag in einem zum Thema passenden Forum anlegen, welcher automatisch mit dieser Seite verknüpft wird.