Date: prev next · Thread: first prev next last
2020 Archives by date, by thread · List index


Sorry, falscher Absender ...

------ Weitergeleitete Nachricht ------
Von: "Hans-Werner Herold" <HansWernerHerold@t-online.de>
An: "users@de.libreoffice.org" <users@de.libreoffice.org>
Gesendet: 07.08.2020 19:59:19
Betreff: Re: [de-users] Basic Makro - Syntax Highlighting

Hallo Robert und *,

mit der letzten Mail hatte ich Dir zwar mitgeteilt, dass ich das "größere Problem" lösen konnte, aber in der Nachschau empfinde ich diese Lösung als "quick and dirty" beziehungsweise als "Gemurkse" mit diesen damit verbundenen Rückfärbungen. Das ist einfach keine "saubere" und allgemeine Lösung.

Über die Thematik Anführungszeichen " und einfache Anführungszeichen ' muss ich erst nochmals gründlich nachdenken. Wenn man nicht exakt das Problem formulieren kann, dann kann man auch keine Lösung des Problems finden/formulieren.

Das Problem bei "regulären Ausdrücken" ist deren sogenannte "Gefräßigkeit", wenn's passt ...

Beispielsweise soll nachfolgender BasiCMakroCode

VarA = "ABC" & Var1 & "DEF" & Var2 & "GHI"
VarB = """ABC""" & Var1 & """DEF""" & Var2 & """GHI"""
VarC = "°°ABC°°" & Var1 & "°°DEF°°" & Var2 & "°°GHI°°"

mit diesen SearchStrings (aus dem Makro)

oRD.SearchString = """+"
oRD.SearchString = """[[:alnum:]+|[:space:]+|\^|!|=|\-|_|,|\.|;|:|\\|/|(|)|@|\||<|>|\*|\$|'|\[|\]|%|\?|€|#|&|\+|§|°]+"""

bearbeitet werden in dem Sinne, dass das, was gefunden wurde ("..."-Zeichenketten), rot eingefärbt wird.

OKAY => "VarA"-Zeile
Nur "ABC" und "DEF" und "GHI" werden rot eingefärbt.

ERROR => "VarB"-Zeile
Alles rechts vom = wird rot eingefärbt.

OKAY => "VarC"-Zeile
Nur  "°°ABC°°" und "°°DEF°°" und "°°GHI°°" werden rot eingefärbt.

Wenn man sich das Ergebnis anschaut, so scheint eine Lösung zu sein, dass man erst mal alle "" innerhalb von 2 " in sonst nicht vorkommende Zeichen umwandelt. Im BasicMakroCode ist es eben so, will man in einer Zeichenkette ein Anführungszeichen angeben, so muss man dieses "maskieren" durch Doppel-Kodierung. Und bei Datenbank-Makros kommt diese Situation eben sehr oft vor.

So wird es wohl bis zu "SyntaxHighlightingV2" noch eine Weile dauern ...

Grüße
Hans-Werner :-))

PS:

Eine Variabilität bei der Schlüsselwort-Bearbeitung ist inzwischen realisiert. Man kann zwischen

"klein" => nur Klein-Buchstaben
"groß" => nur Groß -Buchstaben
"exakt" => exakt so wie in der Liste definiert
"beliebig" => mal so oder mal so

wählen, womit erst mal jeder Kodierstil abgedeckt ist, wobei natürlich bei der Varianten "exakt" die Wahrscheinlichkeit, dass Teile anderer Zeichenketten fälschlicherweise als Schlüsselwort erkannt werden am geringsten ist. Ausnahme "groß": Wenn man alle Schlüsselworte, und sonst nichts anderes, als Folge von Großbuchstaben kodiert, dann sollte die Trefferquote genauso gut sein.


--
Liste abmelden mit E-Mail an: users+unsubscribe@de.libreoffice.org
Probleme? https://de.libreoffice.org/hilfe-kontakt/mailing-listen/abmeldung-liste/
Tipps zu Listenmails: https://wiki.documentfoundation.org/Netiquette/de
Listenarchiv: https://listarchives.libreoffice.org/de/users/
Datenschutzerklärung: https://www.documentfoundation.org/privacy

Context


Privacy Policy | Impressum (Legal Info) | Copyright information: Unless otherwise specified, all text and images on this website are licensed under the Creative Commons Attribution-Share Alike 3.0 License. This does not include the source code of LibreOffice, which is licensed under the Mozilla Public License (MPLv2). "LibreOffice" and "The Document Foundation" are registered trademarks of their corresponding registered owners or are in actual use as trademarks in one or more countries. Their respective logos and icons are also subject to international copyright laws. Use thereof is explained in our trademark policy.