Hallo *,
leider wurde die gestrige Mail bezüglich Format etwas "zerfleddert" und teilweise dadurch schlecht lesbar. Hier die re-formatierte Mail (s.u.). Habe sie jetzt mit WRITER bezüglich Zeilenumbrüche re-formatiert und kontrolliert. Sollte jetzt passen ...
Grüße
Hans-Werner :-))
G e s t r i g e M a i l r e - f o r m a t i e r t :
Hallo Robert und Interessierte,
mit "CodeColorizerBasic" ein (gründlich überarbeitetes Makro) zur Kolorierung von MakroBasicCode, der mit der Basic-IDE von LibreOffice erstellt wurde.
[1] Warum dieses Makro ?
Die auffindbaren Extensions
1. https://extensions.libreoffice.org/en/extensions/show/code-colorizer-formatter
1.1 SourceCode: http://www.pitonyak.org/AndrewMacro.odt Abschnitt: 9. MacroFormatterADP - Colorize code and XML
2. https://extensions.libreoffice.org/en/extensions/show/code-highlighter
3. https://extensions.libreoffice.org/en/extensions/show/coooder
+ unterstützen gemäß den Beschreibungen keine aktuellen LibreOffice-Versionen.
+ unterstützen meist deutlich mehr Sprachen als "nur" MakroBasicCode.
+ beruhen meist auf deutlich komplizierteren Programmiertechniken und/oder zusätzlicher Software.
[2] Beschreibung
Die »Sub CCB« (Code Colorizer Basic) koloriert die Sprachelemente von BasicMakroCode, der mit der Basic-IDE (Integrated Development Environment) von LibreOffice erstellt wurde, durch Nutzung der BasicMakro-Funktionalität »replaceAll« in Kombination mit »regulären Ausdrücken«. Für 2500 Zeilen BasicMakroCode benötigt die »Sub CCB« zirka 9 Sekunden.
[3] Nutzung
1. Neues WRITER-Dokument öffnen.
2. Zu bearbeitenden BasicMakroCode in das WRITER-Dokument kopieren.
3. »Sub CCB« starten.
[4] Benutzer-Steuerparameter
Mit den aktuellen Benutzer-Steuerparameter kann die »Sub CCB« direkt genutzt werden, kann aber auch an die eigenen Nutzungsbedürfnisse angepasst werden:
1. Kodierstil bezüglich Schlüsselwörter | AKTUELL: SWS = "alle"
2. Anzeige der Verarbeitungszeit | AKTUELL: ZMA = "ja"
3. Andere Kolorierungsfarben als in der Basic-IDE von LibreOffice | AKTUELL: BDF = "nein"
4. Typ-Deklarationszeichen im MakroCode vorhanden | AKTUELL: TDV = "ja"
5. Andere Schriftart | AKTUELL: SA = "Liberation Mono"
6. Andere Schriftgröße | AKTUELL: SG = 8
[5] WEB-Link
+ Über den Web-Link https://www.magentacloud.de/share/iat7ym.wb2#$/ kann man die nachfolgend gelisteten Dateien ansehen und/oder herunterladen.
+ Da über diesen WEB-Link keine "odt"-Dateien angezeigt werden, stehen zusätzlich noch "pdf"-Varianten für diese Dateien zur Verfügung.
[5.1] Dokumentation
+ CodeColorizerBasic - Dokumentation.odt
+ CodeColorizerBasic - Dokumentation.pdf
Da die Nutzung von "regulären Ausdrücken" im Office-Bereich nicht wirklich weit verbreitet ist, sind in der Dokumentation die verwendeten "regulären Ausdrücke" sehr ausführlich beschrieben und erklärt, auch deshalb, weil man via "[Bearbeiten][Suchen und ersetzen...]" auch im Office-Bereich "reguläre Ausdrücke" nutzen kann.
[5.2] Makro
+ CodeColorizerBasic.bas
[5.3] Makro-Tests
+ Für die Kolorierungs-Tests habe ich "benutzerdefinierte Farben" (helleres Blau und Grün sowie nicht-alphanumerischen Zeichen in Schwarz) genutzt, da durch den besseren Farbkontrast das "Korrekturlesen & Fehlerfinden" deutlich erleichtert ist.
+ Für die Makro-Tests habe ich Makros von 4 verschiedenen Erstellern genutzt, um das Makro mit möglichst unterschiedlichen Kodierstilen testen zu können.
+ Die Häufung der "Base"-Makros hat damit zu tun, dass dort die komplexesten Zeichenketten kodiert sind.
+ In eckigen Klammern sind die für die Tests genutzten "Benutzer-Steuerparameter" (vgl. 4) angegeben.
Test-1.1 [ Beispiel_Combobox - Listfeld_Firebird ] von R. Großkopf # [ BDF ~ ja].odt
Test-1.1 [ Beispiel_Combobox - Listfeld_Firebird ] von R. Großkopf # [ BDF ~ ja].pdf
Test-1.2 [ Beispiel_Termine - AA-Variablen ] von R. Großkopf # [ BDF ~ ja].odt
Test-1.2 [ Beispiel_Termine - AA-Variablen ] von R. Großkopf # [ BDF ~ ja].pdf
Test-1.3 [ Beispiel_Termine - Abfragen ] von R. Großkopf # [ BDF ~ ja].odt
Test-1.3 [ Beispiel_Termine - Abfragen ] von R. Großkopf # [ BDF ~ ja].pdf
Test-1.4 [ Beispiel_Termine - Backup ] von R. Großkopf # [ BDF ~ ja].odt
Test-1.4 [ Beispiel_Termine - Backup ] von R. Großkopf # [ BDF ~ ja].pdf
Test-1.5 [ Beispiel_Termine - Eingabe ] von R. Großkopf # [ BDF ~ ja].odt
Test-1.5 [ Beispiel_Termine - Eingabe ] von R. Großkopf # [ BDF ~ ja].pdf
Test-1.6 [ Beispiel_Termine - Export ] von R. Großkopf # [ BDF ~ ja].odt
Test-1.6 [ Beispiel_Termine - Export ] von R. Großkopf # [ BDF ~ ja].pdf
Test-1.7 [ Beispiel_Termine - Filter ] von R. Großkopf # [ BDF ~ ja].odt
Test-1.7 [ Beispiel_Termine - Filter ] von R. Großkopf # [ BDF ~ ja].pdf
Test-1.8 [ Beispiel_Termine - Import ] von R. Großkopf # [ BDF ~ ja].odt
Test-1.8 [ Beispiel_Termine - Import ] von R. Großkopf # [ BDF ~ ja].pdf
Test-1.9 [ Beispiel_Termine - Wartung ] von R. Großkopf # [ BDF ~ ja].odt
Test-1.9 [ Beispiel_Termine - Wartung ] von R. Großkopf # [ BDF ~ ja].pdf
Test-2.1 [ LibreOffice - Kurzanleitung ''Makroprogrammierung'' - V4.1 - S.14 ff # [BDF ~ ja].odt
Test-2.1 [ LibreOffice - Kurzanleitung ''Makroprogrammierung'' - V4.1 - S.14 ff # [BDF ~ ja].pdf
Test-3.1 [ BASIC-Makros für OO und LO - Listing 488 ] von Pitonyak-Lenhardt # [BDF ~ ja].odt
Test-3.1 [ BASIC-Makros für OO und LO - Listing 488 ] von Pitonyak-Lenhardt # [BDF ~ ja].pdf
Test-4.1 [ AusgabeInDatei ] von H.-W. Herold # [BDF ~ ja][SWS ~ exakt][TDV ~ nein].odt
Test-4.1 [ AusgabeInDatei ] von H.-W. Herold # [BDF ~ ja][SWS ~ exakt][TDV ~ nein].pdf
Test-4.2 [ CodeColorizerBasic ] von H.-W. Herold # [BDF ~ ja][SWS ~ exakt][TDV ~ nein].odt
Test-4.2 [ CodeColorizerBasic ] von H.-W. Herold # [BDF ~ ja][SWS ~ exakt][TDV ~ nein].pdf
Test-4.3 [ CoronaNewsV2 ] von H.-W. Herold # [BDF ~ ja][SWS ~ exakt][TDV ~ nein].odt
Test-4.3 [ CoronaNewsV2 ] von H.-W. Herold # [BDF ~ ja][SWS ~ exakt][TDV ~ nein].pdf
[6] Feedback
Hinweise auf Fehler und/oder Verbesserungsvorschläge, wenn mit "regulären Ausdrücken" realisierbar, sind stets willkommen ...
Viele Grüße
Hans-Werner :-))