Hallo Andreas,
Am 15.01.2019 um 09:31 schrieb Andreas Borutta:
...
Erstaunt hat mich, dass die Anleitung
https://help.libreoffice.org/Calc/User-Defined_Functions
das Anlegen einer Funktion mit einem schlichten
VOL(a; b; c)
beschreibt.
Sind es die Semikola? In Calc verwendet man sie, in Basic ist es das
Komma, wie du in der nächsten Zeile siehst. In Calc steht dann natürlich
nicht =VOL(a; b; c) , sondern z. B. =VOL(D7;E7;F7).
In der Datei barcode.ods finde ich die Zeile 12 in Modul "QRCode":
"Public Function QRCode(sheet As Variant, row As Long, col As Long, text As String,
Optional level As Integer, Optional version As Integer) As String"
Es ist empfehlenswert, hinter den Parametern jeweils deren Typ
anzugeben, und hinter der schließenden Klammer mit den Parametern den
Typ des Rückgabewertes der Funktion. Das ist auf jeden Fall schon mal
eine Dokumentation, was erwartet bzw. zurückgeliefert wird. Ohne diese
Angaben wird der Typ aus der Situation bestimmt, was bequem sein mag,
aber auch zu Fehlern führen kann. Ich habe da keinen Überblick, weil ich
immer mit angegebenen Typen arbeite, aber ich habe z. B. mal a als
Gleitkommazahl deklariert (in Basic): mit angegebenen Typen (Ganzzahl,
nicht besonders logisch für die Formel, aber es soll ja auch nur
illustrieren) für die Parameter wird der korrekte Wert berechnet, ohne
kommt eine Fehlermeldung. Was da genau dahintersteckt, weiß ich nicht.
Die ausführliche Schreibweise ist sicher zu empfehlen.
Die Definition enthält noch das Schlüsselwort OPTIONAL für Parameter,
die nicht angegeben werden müssen; das muss das Programm alerdings
abfragen und behandeln, aber das kann für den Aufruf eine Erleichterung
sein, wenn unter gewissen Umständen manche Parameter gar nicht
existieren. Eine eher triviale Abwandlung von VOL: wenn Parameter 2
und/oder 3 nicht angegeben sind, verwende nochmals Parameter 1; damit
kann man das Volumen Würfel oder Säulen mit quadratischer Grundfäche
etwas knapper berechnen. Ob das in diesem Fall eine Verbesserung ist,
weiß ich nicht.
Im vorliegenden Fall wird z. B. für "level", wenn er nicht angegeben
ist, im Code der Wert "L" gesetzt, der niedrigste für die
Fehlerkorrektur. ("Es existieren vier Fehlerkorrektur-Levels, die eine
Rekonstruktion von 7 % (Level L) bis zu 30 % (Level H) beschädigter
Daten zulassen." laut Wikipedia-Artikel über QR-Code). Das ist eine
wirkliche Erleichterung, man muss sich nur um den Level kümmern, wenn
man was Besonderes will.
Was Anderes:
Die Struktur/Organisation von Makros in LO empfand ich bisher immer
verwirrend/unübersichtlich. Aber das kann natürlich auch damit zu tun haben, dass ich
selbst keine Makros schreibe und daher nicht vertraut mit der Verwaltungsoberfläche bin.
https://www.dropbox.com/s/1xkmfmg9u9frxv8/Screenshot%202019-01-15%2009.20.52.png
Verwirrend finde ich zum Beispiel, dass in "Meine Makros" mehrere Ordner stehen, die
ich jedoch nicht selber angelegt habe.
Der Screenshot verwirrt mich auch, denn alle Bibliotheken außer
"Standard", die bei dir in "Meine Makros und Dialoge" stehen, sind bei
mir unter "LibreOffice Makros und Dialoge" (was bei dir leer zu sein
scheint) abgelegt, und da gehören sie logisch auch hin, sie werden mit
der Installation geliefert. Ich weiß nicht, ob das an deinem
Betriebssystem (Apple?) oder sonstwas liegt.
Ist es richtig, dass mit "Basic-IDE" das Modul
Meine Makros > Standard > _ Module1
gemeint ist?
Basic-IDE (Integrated Development Environment, zu IDE gibt es sogar
einen Wikipedia-Artikel) ist die Oberfläche, mit der man Makros
verwaltet, also das Fenster, das über Extras -> Makros verwalten ->
LibreOffice Basic... -> Bearbeiten geöffnet wird.
Was in diesem "_ Module1" steckt, ob der von dir stammt oder vom System,
weiß ich nicht. Unter Windows taucht der jedenfalls nicht auf.
Die Bibliothek "Standard" hat die Besonderheit, dass sie beim Start
automatisch geladen wird (andere, sofern sie nicht in einem Dokument
abgelegt sind, muss man selbst laden, so wird dafür gesorgt, dass nicht
zuviel nicht benötigter Code geladen wird). Da steckt man nur das
Allernotwendigste rein; ich habe da drin, dass die Bibliothek von Xray
geladen wird, damit ich jederzeit ohne Vorbereitung das Makro zum Aufruf
des Xray-Menüs per Tastenkombination starten kann.
Andreas
Gruß
Gerhard
--
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.