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


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.