🙏 Bitte helfen Sie uns das LibreOffice Forum zu erhalten. 🙏
Ihre Spende wird für die Deckung der laufenden Kosten sowie den Erhalt und Ausbau 🌱 des LibreOffice Forums verwendet.
🍀 Wir hoffen auf Ihre Unterstützung - vielen Dank!🍀
>> Dank Ihrer Unterstützung -> Keine Werbung für alle registrierten LibreOffice-Forum User! <<
🤗 Als Dankeschön werden Sie im Forum als LO-SUPPORTER gekennzeichnet. 🤗
[Gelöst] Test gesucht: Großbuchstabe (upper case) oder Kleinbuchstabe (lower case)?
[Gelöst] Test gesucht: Großbuchstabe (upper case) oder Kleinbuchstabe (lower case)?
Hallo *!
Mit UCase() kann ich einen String in einen String umwandeln, der nur aus Großbuchstaben besteht. Mit LCase() bekomme ich einen String aus Kleinbuchstaben.
Wie aber teste ich, ob ein gegebenes Zeichen ein Großbuchstabe oder ein Kleinbuchstabe ist?
In den (wirklich tollen) Büchern von Andrew Pitonyak und von Thomas Krumbein habe ich nichts dazu gefunden.
(Hintergrund meiner Frage ist, dass ich mir ein Makro schreiben möchte, das zwischen Groß- und Kleinschreibung wechselt. Die in LibreOffice vorhandene und über Umschalt+F3 aufrufbare Funktion macht mir den ganzen Satz kaputt, indem es alle Wörter bis auf das erste kleinschreibt.)
Jetzt schon danke für jeden Hinweis!
Lienucks
Mit UCase() kann ich einen String in einen String umwandeln, der nur aus Großbuchstaben besteht. Mit LCase() bekomme ich einen String aus Kleinbuchstaben.
Wie aber teste ich, ob ein gegebenes Zeichen ein Großbuchstabe oder ein Kleinbuchstabe ist?
In den (wirklich tollen) Büchern von Andrew Pitonyak und von Thomas Krumbein habe ich nichts dazu gefunden.
(Hintergrund meiner Frage ist, dass ich mir ein Makro schreiben möchte, das zwischen Groß- und Kleinschreibung wechselt. Die in LibreOffice vorhandene und über Umschalt+F3 aufrufbare Funktion macht mir den ganzen Satz kaputt, indem es alle Wörter bis auf das erste kleinschreibt.)
Jetzt schon danke für jeden Hinweis!
Lienucks
Zuletzt geändert von Lienucks am Mo 9. Mär 2020, 20:37, insgesamt 1-mal geändert.
Re: Test gesucht: Großbuchstabe (upper case) oder Kleinbuchstabe (lower case)?
Hallo,
mit der Funktion ASC() erhältst du den ASCII-Wert des Zeichens. Großbuchstaben A-Z haben die Werte 65 - 90 ...
mit der Funktion ASC() erhältst du den ASCII-Wert des Zeichens. Großbuchstaben A-Z haben die Werte 65 - 90 ...
Gruß,
mikele
mikele
Re: Test gesucht: Großbuchstabe (upper case) oder Kleinbuchstabe (lower case)?
Hallo,
das war früher Mal eine nette Übung in Programmierkursen.
In der englischen Version wurde für ein Zeichen c nur getestet
um eine isUpper-Funktion zu bauen.
Im deutschen kümmerte man sich zusätzlich um ÄÖÜ und ß und hatte damit alles erledigt.
Heute arbeiten wir mit Unicode und es ist eine echte Fleißarbeit eine korrekte isUpper-Funktion zu bauen, die aber glücklicherweise schon andere Leute erledigt haben.
Für mich wäre der einfachste Weg das Macro in Python zu verfassen, z.B. analog zu diesem Beispiel
https://wiki.openoffice.org/wiki/PyUNO_samples
Da ich hier
https://wiki.openoffice.org/wiki/Docume ... e_Library) kein isUpper gefunden habe, würde ich in BASIC mit
Arbeiten.
Mfg, Jörn.
das war früher Mal eine nette Übung in Programmierkursen.
In der englischen Version wurde für ein Zeichen c nur getestet
Code: Alles auswählen
IF c>="A" AND c<="Z"
Im deutschen kümmerte man sich zusätzlich um ÄÖÜ und ß und hatte damit alles erledigt.
Heute arbeiten wir mit Unicode und es ist eine echte Fleißarbeit eine korrekte isUpper-Funktion zu bauen, die aber glücklicherweise schon andere Leute erledigt haben.
Für mich wäre der einfachste Weg das Macro in Python zu verfassen, z.B. analog zu diesem Beispiel
https://wiki.openoffice.org/wiki/PyUNO_samples
Da ich hier
https://wiki.openoffice.org/wiki/Docume ... e_Library) kein isUpper gefunden habe, würde ich in BASIC mit
Code: Alles auswählen
IF char=LCASE(char) THEN
Mfg, Jörn.
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit
Re: Test gesucht: Großbuchstabe (upper case) oder Kleinbuchstabe (lower case)?
Vielen Dank für die Antworten!
Mit Asc() löse ich das Problem für die Buchstaben, die im englischen Alphabet vorkommen. Da ich aber nicht nur deutsche Texte (mit Umlauten), sondern teilweise auch Textteile mit "Sonderzeichen" schreibe, reicht das für die allermeisten Fälle, aber eben nicht ganz.
Sehr gut gefällt mir der Test IF char=LCASE(char) THEN. (Mit etwas mehr Intelligenz hätte ich auch selbst draufkommen können
). Damit werde ich es mal probieren.
Das mitgelieferte Python-Makro habe ich auch schon bearbeitet (auch wenn ich kein Python kann) und habe den Teil rausoperiert, der alles großschreibt. Leider bleibt nach dem Aufruf ein Bereich markiert. Jörn, hast du eine Idee, wie ich den Cursor an das rechte Ende der Markierung stelle und die Markierung entferne?
MfG
Lienucks
Mit Asc() löse ich das Problem für die Buchstaben, die im englischen Alphabet vorkommen. Da ich aber nicht nur deutsche Texte (mit Umlauten), sondern teilweise auch Textteile mit "Sonderzeichen" schreibe, reicht das für die allermeisten Fälle, aber eben nicht ganz.
Sehr gut gefällt mir der Test IF char=LCASE(char) THEN. (Mit etwas mehr Intelligenz hätte ich auch selbst draufkommen können

Das mitgelieferte Python-Makro habe ich auch schon bearbeitet (auch wenn ich kein Python kann) und habe den Teil rausoperiert, der alles großschreibt. Leider bleibt nach dem Aufruf ein Bereich markiert. Jörn, hast du eine Idee, wie ich den Cursor an das rechte Ende der Markierung stelle und die Markierung entferne?
MfG
Lienucks
Re: Test gesucht: Großbuchstabe (upper case) oder Kleinbuchstabe (lower case)?
Hallo,
genauer habe ich mir das Macro auch jetzt erst angesehen.
Ich würde als erstes versuchen die beiden Befehle
einmal zu entfernen, da sie wahrscheinlich die Selektion des konvertierten Strings erledigen.
Falls Dir so etwas vorschwebt, wie direkt zum nächsten Wort zu springen, schau Dir Mal die Selektion durch Bewegung des Cursors in dem Macro an.
Mfg, Jörn
PS: Ich kenne keine Möglichkeit einen Satz der z.B. Alexander von Humboldt enthält automatisch ohne Wörterbuch umzuschreiben. Wie willst Du das Problem denn angehen? Neben den Adligen hatte ich bei meinen Küntler-Datenbanken auch immer Probleme mit Monogrammist JB oder Kollektiv XYZ-DINGSDA....
genauer habe ich mir das Macro auch jetzt erst angesehen.
Ich würde als erstes versuchen die beiden Befehle
Code: Alles auswählen
xSelectionSupplier.select()
Falls Dir so etwas vorschwebt, wie direkt zum nächsten Wort zu springen, schau Dir Mal die Selektion durch Bewegung des Cursors in dem Macro an.
Mfg, Jörn
PS: Ich kenne keine Möglichkeit einen Satz der z.B. Alexander von Humboldt enthält automatisch ohne Wörterbuch umzuschreiben. Wie willst Du das Problem denn angehen? Neben den Adligen hatte ich bei meinen Küntler-Datenbanken auch immer Probleme mit Monogrammist JB oder Kollektiv XYZ-DINGSDA....
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ LO 6.3.2 Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit
Re: Test gesucht: Großbuchstabe (upper case) oder Kleinbuchstabe (lower case)?
Hallo Jörn,
herzlichen Dank für den Python-Tipp! Ich habe die beiden Zeilen mit xSelectionSupplier.select() auskommentiert, und jetzt macht das Skript genau das, was ich möchte. Außerdem hatte ich mir schon ein Basic-Makro geschrieben, das dasselbe macht. Mein Problem ist zweimal gelöst - vielen Dank!
Dein P.S. verstehe ich allerdings überhaupt nicht. Ich sehe auch keinen Zusammenhang mit meinem Problem.
Mit freundlichen Grüßen
Lienucks
herzlichen Dank für den Python-Tipp! Ich habe die beiden Zeilen mit xSelectionSupplier.select() auskommentiert, und jetzt macht das Skript genau das, was ich möchte. Außerdem hatte ich mir schon ein Basic-Makro geschrieben, das dasselbe macht. Mein Problem ist zweimal gelöst - vielen Dank!
Dein P.S. verstehe ich allerdings überhaupt nicht. Ich sehe auch keinen Zusammenhang mit meinem Problem.
Mit freundlichen Grüßen
Lienucks
An alle, die das LibreOffice-Forum gern nutzen und unterstützen wollen:
Bitte helfen Sie uns mit 7 Euro pro Monat.
Durch Ihren Beitrag tragen Sie dazu bei, unsere laufenden Kosten für die kommenden Monate zu decken.
Unkompliziert per Kreditkarte oder PayPal.
Als ein kleines Dankeschön werden Sie im LO-Forum als SUPPORTER gekennzeichnet.