getObject.de
Description

API

Heimdall goConfig - Description

Einführung


Was ist Heimdall


Heimdall ist ein leicht zu bedienender Konfigurator mit dem Sie leicht Variablen extern in eine Datei speichern bzw. auslagern können. Eine Konfigurationsdatei kann über den Basic-Code direkt, oder mit dem internen Dialog schnell und übersichtlich erstellt werden.


Heimdall kann aber noch mehr. Neben den eigenen Konfigurationen können sie auch direkt auf die Werte der Libre Office Umgebung zugreifen und auslesen. Wie das funktioniert, steht weiter unten beschrieben.


Ein interner ‚Resolver‘ liefert Substitutionsvariablen und reservierte Texte die mehrsprachig hinterlegt sind. Die Standardsprache ist Englisch. Eine Übersicht welche Variablen und Texte geliefert werden, finden Sie ebenfalls weiter unten.


Die Extension benötigt die Unterstützung der Gemeinschaft. Bitte schreiben Sie uns, wenn Sie denken, dass reservierte Wörter, reservierte Variablen oder Texte unbedingt mit aufgenommen werden sollen.


Für Unterstützung schreiben Sie an support@getobject.de


Exkurs: Heimdall ist eine Gottheit der germanischen Mythologie. Er bewacht die Regenbogenbrücke Bifröst.

Der Konfigurator


Ein Dialog zum Erstellen und Pflegen einer Konfigurationsdatei


Der einfachste Weg eine Konfigurationsdatei zu erstellen, ist der über den internen Dialog. Sobald Sie Heimdall installiert und aktiviert haben, erscheint im Menü der Basic IDE ein neuer Menü-Eintrag "Heimdall".


Öffnen Sie das Menü, und starten Sie den Konfigurator.

Der Konfigurator startet und Sie können sofort beginnen Ihre eigene Konfigurationen zu erstellen. Die Bedienoberfläche ist recht einfach und selbsterklärend gestaltet. Im oberen Bereich befindet sich eine Suchbox. Die Verwendung ist insbesondere bei sehr großen Dateien sehr nützlich.


Unter der Suchbox befindet sich die Tabelle mit den Einträgen der Variablen. Wenn eine Konfiguration neu erstellt wird, ist die Tabelle anfangs selbstverständlich leer. 

Anmerkung zum internen Dialog


Heimdall richtet sich an Programmierer bzw. Entwickler eigener Makros / Extensions. Die eigentliche Konfiguration läuft im eigenen Code ab. Die Stärke von Heimdall ist in der API beschrieben.


Der interne Dialog dient lediglich zur Unterstützung beim Erstellen oder bearbeiten eigener Konfigurationsdateien. Er ist letztendlich nichts anderes als ein Texteditor. Man kann die Dateien auch mit notepad erstellen, allerdings kümmert sich Heimdall um die richtige Codierung der Dateien.

Entfernen / Ändern / Neu


Wie oben geschrieben ist die Bedienung recht einfach und selbsterklärend. Um eine Variable zu entfernen oder zu ändern, muss der Eintrag in der Tabelle ausgewählt sein. Der Button "Neu" fügt eine Variable ein.

Der Resolver


Die eigentliche Stärke von Heimdall liegt beim Resolver. Der Resolver verwaltet reservierte Wörter und Texte die vom Endanwender, dem Entwickler einer Extension, in das eigene Makro eingebunden werden können. Reservierte Texte werden in der Regel für die Ausgabe in MessageBoxen und Dialogen verwendet. Das können Exceptions, Eingabeaufforderungen oder ähnliches sein.


Sobald der Resolver startet, wird die mitgelieferte Datei constants.goc geladen. Anschließend ermittelt Heimdall die aktiv laufende Lokale Spracheinstellung von Libre Office, und aktualisiert die Texte und Substitutionsvariablen aus den Sprachpaketen constants.xx .Die Dateierweiterung xx wird durch die jeweiligen Länderkürzel ersetzt. Sollte das Sprachpaket nicht gefunden werden, bleibt Englisch als Standardsprache erhalten.


Im Grunde sind alle Variablen Substitiontionsvariablen. Heimdall verarbeitet diese intern allerdings unterschiedlich.Heimdall unterscheidet zwischen:

  1. Reservierte Wörter
  2. Reservierte Texte


Reservierte Wörter


Bei den reservierten Wörter handelt es sich um Substitutionsvariablen die intern von Heimdall verarbeitet werden. Die entsprechenden Platzhalter werden automatisch in den reservierten Texten substituiert. Die reservierten Wörter können vom Entwickler manipuliert werden.


Zum besseren Verständnis ist folgendes Beispiel gedacht:

Sub Example_Resolver1

Dim oCfG As Object

Dim oRes As Object

oCfG= CreateHeimdallConfigurator


oRes = oCfG.getResolver()

oRes.setLanguage("en")

oRes.execute()

msgbox oRes.getrestext("GO_COMMON_5")


End Sub

Als Ergebnis wird folgender Inhalt in der MsgBox angezeigt. Der Text enthält den Platzhalter für das reservierte Wort AppName. Der Platzhalter kann nun zur Laufzeit durch den Namen Ihrer Extension, Makro oder App ersetzt werden.

"Kopieren Sie den Code und führen Sie ihn einmal aus. Achten Sie aber darauf, das die Bibliothek einmal geöffnet wurde. Ansonsten erzeugen Sie eine Fehlermeldung.

Ändern Sie nun den Code von  - en - auf - de -."

getObject.de

"Kopieren Sie den Code und führen Sie ihn einmal aus. Achten Sie aber darauf, das die Bibliothek einmal geöffnet wurde. Ansonsten erzeugen Sie eine Fehlermeldung.

Ändern Sie nun den Code von - en - auf - de -."


getObject.de

Sub Example_Resolver2

Dim oCfG As Object

Dim oRes As Object

oCfG= CreateHeimdallConfigurator


oRes = oCfG.getResolver()

oRes.setLanguage("en")

oRes.execute()


oRes.setResword("AppName", "myMakroName")


msgbox oRes.getrestext("GO_COMMON_5")


End Sub

Die Anzahl der reserviertenWörter ist recht übersichtlich. Die folgende Tabelle listet die reservierten Wörter auf.

Übersicht reservierte Wörter

AppName

<&AppName>

Autor

<&Autor>

Version

<&Version>

Extension

<&Extension>

Website

<&Website>

Email

<&Email>

Supportemail

<&Supportemail>

Company

<&Company>

LiboVers

<&LiboVers>

Title

<&Title>

Local

<&Loacal>

Automatische Laden der reservierten Wörter


Wesentlich eleganter als die Variablen zur Laufzeit zu ändern,ist es, die reservierten Wörter schon bei der Konfiguration seiner Extension direkt zu laden. Das ist auch möglich, in dem man die Variablen in der eigenen Konfigurationsdatei bereits initialisiert

.

Heimdall erkennt die Variablen und setzt den Text automatisch.

Die Substitutionsvariablen


Neben den reservierten Wörtern gibt es noch weitere Substitutionsvariablen. In der Regel werden diese Variablen zur Beschriftung von Kontrollelementen in Dialogen und Formularen verwendet. Man kann diese Elemente aber auch in den eigenen Texten verwenden. Zum Beispiel, wenn Sie selbst eine mehrsprachige Extension oder Makro anbieten möchten.


Um die Übersetzung in die lokale Sprache brauchen Sie sich nicht zu kümmern, das übernimmt Heimdall für Sie.


Bei der Version 1.0.0 sind die folgenden Substitutionsvariablen mit ausgeliefert worden.


[LANG_EN]

&(further) = Further

&(forward) =Forward

&(cancel) =Cancel

&(end) = End

&(add) = Add

&(remove) = Remove

&(delete) = Delete

&(new) = New

&(save_as) = Save as

&(save) = Save

&(help) = Help

&(window) = Window

&(column) = Column

&(row) = Row

&(change) = Change

&(menu) = Menu

&(edit) = Edit

&(view) = View

&(execute) = Execute

&(dialog) = Dialog

&(extras) = Extras

&(search) = Search

&(load) = Load

&(name) = Name

&(value) = Value

&(info) = Info

&(close) = Close

&(reserved) = Reserved

&(website) = Website

&(local) = Language setting


[LANG_DE]

&(further) = Weiter

&(forward) = Vorwärts

&(cancel) = Abbruch

&(end) = Ende

&(add) = Hinzufügen

&(remove) = Entfernen

&(delete) = Löschen

&(new) = Neu

&(save_as) = Speichern als

&(save) = Speichern

&(help) = Hilfe

&(window) = Fenster

&(column) = Spalte

&(row) = Zeile

&(change) = Ändern

&(menu) = Menü

&(edit) = Bearbeiten

&(view) = Ansicht

&(execute) = Ausführen

&(dialog) = Dialog

&(extras) = Extras

&(search) = Suchen

&(load) = Laden

&(close) = Schließen


Ab der Version 1.1.0 wird französisch mit ausgeliefert.


[LANG_FR]
&(further) = Plus loin
&(forward) = Avant
&(cancel) = Annuler
&(end) = Fin
&(add) = Ajouter
&(remove) = Retirer
&(delete) = Supprimer
&(new) = Nouveau
&(save_as) = Enregistrer sous
&(save) = Sauvegarder
&(help) = Aider
&(window) = Fenêtre
&(column) = Colonne
&(row) = Ligne
&(change) = Changement
&(menu) = Menu
&(edit) = Modifier
&(view) = Voir
&(execute) = Exécuter
&(dialog) = Dialogue
&(extras) = Suppléments
&(search) = Recherche
&(load) = Charger
&(name) = Nom
&(value) = Valeur
&(info) = Info
&(close) = Fermer
&(reserved) = Réservé
&(website) = Site Internet
&(local) = Paramètres de langue

Reservierte Texte / Phrasen


Bei den Phrasen / Texten handelt es sich um komplette Sätze, die direkt an die MsgBox übergen werden können. Auch hier übernimmt Heimdall die Übersetzung. Die Texte enthalten zum Teil Platzhalter für reservierte Wörter.

Es gibt zwei Grundfunktionen die der Resolver unterstützt.

Mit der Funktion

  1. oResolver.getSusbstitutionsValue(ValueName ) können Sie jede beliebige Variable abrufen.In diesem Fall erfolgt keine automatische Substitution der reservierten Wörter.

  2. oResolver.GetResText(ValueName ) erfolgt eine automatische Substitution der reservierten Wörter.

[EN]

GO_COMMON_1

<&Title> : <&AppName>, Version : <&Version>,Autor : <&Autor>, &(local) : <&Local>

GO_COMMON_2

An exceptional error has occurred.<br>The Extension<&Productname> requires a higher version of Libre Office than <&Version>. Please download the current version.

GO_COMMON_3

If you need support, write to <&Supportemail>!

GO_COMMON_4

<&AppName> is provided by <&Website>

GO_COMMON_5

Warning: <&AppName> was not terminated correctly. Theprogram can try to restore the old values.

GO_COMMON_6

You have not yet saved your data.<br>Do you want to exitwithout saving?

GO_COMMON_7

Saving is not possible. You must first select a file



[DE]

GO_COMMON_4

<&AppName> wird zur Verfügung gestellt von <&Website>.

GO_COMMON_5

Achtung: <&AppName> wurde nicht korrekt beendet. Das Programm kann versuchen die alten Werte wieder herzustellen.

GO_COMMON_6

Sie haben Ihre Daten noch nicht gespeichert.<br>Möchten Sie beenden ohne zu speichern?

GO_COMMON_7

Ein speichern ist nicht möglich. Sie müßen zuerst eine Datei auswählen.







[FR] ab Version 1.1.0

GO_COMMON_4

<&AppName> est fourni par <&Website>.

GO_COMMON_5

Avertissement: <&AppName> n'a pas été terminé correctement. Le programme peut essayer de restaurer les anciennes valeurs.

GO_COMMON_6

Vous n'avez pas encore enregistré vos données.<br>Voulez-vous quitter sans enregistrer?

GO_COMMON_7

La sauvegarde n'est pas possible. Vous devez d'abord sélectionner un fichier.

GO_COMMON_3

Si vous avez besoin d'aide, écrivez à <&Supportemail>!

GO_COMMON_2

Une erreur exceptionnelle s'est produite.<br>L'extension <&Productname> nécessite une version de Libre Office supérieure à <&Version>. Veuillez télécharger la version actuelle.



Die Texte und Substitutionsvariablen sind noch lange nicht komplett.
Bitte schreiben Sie uns, wenn Sie denken Texte zu benötigen, die
unbedingt in das Wörterbuch hinein gehören!


Die Texte und Substitutionsvariablen sind noch lange nicht komplett.
Bitte schreiben Sie uns, wenn Sie denken Texte zu benötigen, die
unbedingt in das Wörterbuch hinein gehören!



Die Startkonfiguration des Dialogs


In der Version 1.0.0 hat sich ein kleiner Fehler eingeschlichen. Die Variable active_lang wurde während der Entwicklungsphase zu Testzwecken gesetzt. Die Variable wurde bei der Auslieferung nicht gelöscht. Standardmäßig wird nun bei jedem Start eines jeden Users die Sprache DE geladen. Das sollte natürlich nicht so sein.


'*************************************************************

'* Configurator Heimdall 1.0.0 by www.getobject.de

'* Create : 01.04.2023

'* Autor : Andreas Gronemeyer

'* Fuer Auftragsprogrammierung wenden Sie sich an

'* info@getobject.de

'*************************************************************

Autor=AndreasGronemeyer

AppName=Heimdall

Extension=goConfig

Minimalversion=6.2

Website=www.getobject.de

Email=info@getobject.de

Supportemail=support@getobject.de

Count=28

HEIMDALL_ADD1=51IA4hT6jrL._SL160_.jpg;https://amzn.to/3K7kbJy;ThePragmatic Programmer

HEIMDALL_ADD2=518LhMrZ0hL._SL160_.jpg;https://amzn.to/3K4W3HE;Einstiegin Visual Basic

HEIMDALL_ADD3=51t1deO0WjL._SL160_.jpg;https://amzn.to/3z6NKEQ;LibreOffice 7.x

HEIMDALL_ADD4=SedWalgDE.jpg;https://amzn.to/3ZePW7V;RobertSedgwick - Algorithmen

HEIMDALL_ADD5=SedWalgEN.jpg;https://amzn.to/3LeIrdJ;RobertSedgewick - Algorithmen

[DE]

DE_Title=DerKonfigurator

DE_Shortdescription=Heimdallist ein leicht zu bedienender Konfigurator für Extensions. DerKonfigurator ist Multisprachfähig.

DE_Description=

[EN]

EN_Title=TheConfigurator

EN_Shortdescription=Heimdallis an easy-to-use extension configurator. The configurator ismultilingual.

EN_Description=

Version=1.0.0

addscount=5

imageurl=%origin%%dirsep%image

configurl=%origin%%dirsep%config

std_lang=en

install_lang=en,de

active_lang=de