Base & Javascript?

Alles zur Programmierung im LibreOffice.
Antworten
atarifreak
Beiträge: 4
Registriert: Sa 16. Mär 2019, 22:23

Base & Javascript?

Beitrag von atarifreak » Sa 16. Mär 2019, 22:30

Guten Abend!

Ich versuche schon seit einigen Stunden etwas im Netz zu finden, wie ich mir ein Makro in Libreoffice Base über Javascript erstellen kann. Ich habe langjährige Erfahrung mit dem MS-VBA als auch Javascript und dachte mir in meinem jugendlichen Leichtsinn, das beste aus beiden (die Syntax aus Javascript, die einfache Objekthierarchie aus VBA) in Libreoffice Base nutzen zu können.

Kann mir jemand initiale Tipps geben, wie ich am besten in die Thematik und die Grundprobleme rein komme? Ich bin für alles dankbar, direkte Erklärungen zum Öffnen und Iterieren von Recordsets, Alternativen zu debug.print oder console.log oder auch nur einfach Links auf passende Tutorials, denn auch die scheint es nicht gerade wie Sand am Meer zu geben? :shock:

Vielen Dank und ein schönes Wochenende!



gogo
Beiträge: 819
Registriert: Sa 5. Feb 2011, 19:07

Re: Base & Javascript?

Beitrag von gogo » So 17. Mär 2019, 13:16

Libreoffice-BASIC != Javascript != VBA

debug.print: es gibt afaik keinen Konsolenoutput in LO-BASIC, am besten ein "print 'was auch immer' " oder eine MsgBox.

Tutorials: am besten das Zur Objektinspektion das
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

atarifreak
Beiträge: 4
Registriert: Sa 16. Mär 2019, 22:23

Re: Base & Javascript?

Beitrag von atarifreak » So 17. Mär 2019, 15:57

gogo hat geschrieben:
So 17. Mär 2019, 13:16
Libreoffice-BASIC != Javascript != VBA
Bezieht sich diese Aussage lediglich auf die Syntax oder auch auf das jeweils zur Verfügung stehende Objektmodell? In der Erstellung von HTA-Anwendungen bin ich auch irgendwann lückenlos von VBA auf Javascript gewechselt, ist sowas hier nicht möglich?

Ansonsten vielen Dank für die ausführliche Antwort! :D

gogo
Beiträge: 819
Registriert: Sa 5. Feb 2011, 19:07

Re: Base & Javascript?

Beitrag von gogo » So 17. Mär 2019, 21:11

Es gibt jede Menge Objekte, aber die Programmierung ist prozedural. JS kenn' ich nicht, aber die VBA Objekte sind nicht ident mit den Staroffice-Objekten. Daher auch der Hinweis auf MRI und das XRayTool. Mit denen kann man jedes Objekt sehr gut inspizieren. Früher mal gabs auch einen perfekten Link auf die Hilfeseiten, das ist aber leider komplett weggefallen.
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

Wanderer
Beiträge: 260
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

Re: Base & Javascript?

Beitrag von Wanderer » So 17. Mär 2019, 22:56

atarifreak hat geschrieben:
So 17. Mär 2019, 15:57
gogo hat geschrieben:
So 17. Mär 2019, 13:16
Libreoffice-BASIC != Javascript != VBA
Bezieht sich diese Aussage lediglich auf die Syntax oder auch auf das jeweils zur Verfügung stehende Objektmodell?
Bei der Syntax wirst Du die wenigsten Probleme haben. Die Objektmodelle sind komplett anders gestrickt und da Du nach Base gefragt hast dürftest Du auch erhebliche Abweichungen zwischen Access und Base feststellen..
Atari-GEM war auch nicht mit Amiga-Intuition verträglich...

Portieren kann man höchstens einfache Makros mit akzeptablen Aufwand, ansonsten dürfte Neuanfang sinnvoller sein.
Ich würde mir erst einmal das schon empfohlene Base-Handbuch durchlesen und überlegen, ob ich von da weiterkomme.
Ansonsten gibt es auch ein Access2Base Projekt, das Du Dir eventuell anschauen könntest. Da ich bisher keine Access-Datenbank migrieren musste kann ich Dir nicht mehr darüber sagen.

mfg, Jörn.
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit

atarifreak
Beiträge: 4
Registriert: Sa 16. Mär 2019, 22:23

Re: Base & Javascript?

Beitrag von atarifreak » So 17. Mär 2019, 23:34

Wanderer hat geschrieben:
So 17. Mär 2019, 22:56
Portieren kann man höchstens einfache Makros mit akzeptablen Aufwand, ansonsten dürfte Neuanfang sinnvoller sein.
Genau das habe ich auch vor. Access ist auch nur ein Teil meiner Vergangenheit, Oracle, MySQL i.V.m. diversen Java-Frameworks (z.B. Hibernate) gehören auch dazu. Daher bin ich jetzt nicht auf das VBA-Objectmodel festgefahren. Ich empfand es nur als eleganten Gedanken, zur Abwechslung mal bei einer Filedatabase (Bisher hatte ich hier meist mit Access zu tun) nicht auf die für mich seit je her etwas grausam wirkende VBA-Syntax zurückgreifen zu müssen. ;)

Aber vielen Dank, ich werde mir dann mal die Links zu Gemüte führen. :D

PS: Fein, hier auch mal einen "alten Hasen" vorzufinden. ;) Bei GEM, TOS und Workbench denken die meisten heute vermutlich eher an Kosmetik, bestenfalls an bisher unbekannte agile Entwicklungsansätze ...

gogo
Beiträge: 819
Registriert: Sa 5. Feb 2011, 19:07

Re: Base & Javascript?

Beitrag von gogo » Mo 18. Mär 2019, 08:02

... wir werden alle gemeinsam älter ;)
g
2008 LucidL./MaverickM./WinXP LibreOffice 3.3.2 > 02/13 LinuxMint13/Xubuntu > 09/13 Debian Wheezy+LO3.5.4.2 > 01/15 Debian Jessie KDE+LO4.3.3.2/Mint17 openbox auf USB+LO4.2.8.2 > 03/16 ArchLin & LO5.1+ff > 02/18 Kubuntu

atarifreak
Beiträge: 4
Registriert: Sa 16. Mär 2019, 22:23

Re: Base & Javascript?

Beitrag von atarifreak » Mo 18. Mär 2019, 12:55

Verdammt, ich wusste doch, die Sache hat einen Haken. :shock: ;)

Wanderer
Beiträge: 260
Registriert: Di 11. Feb 2014, 20:03
Wohnort: Berlin

Re: Base & Javascript?

Beitrag von Wanderer » Fr 22. Mär 2019, 08:53

Hallo,
atarifreak hat geschrieben:
So 17. Mär 2019, 23:34
zur Abwechslung mal bei einer Filedatabase (Bisher hatte ich hier meist mit Access zu tun) nicht auf die für mich seit je her etwas grausam wirkende VBA-Syntax zurückgreifen zu müssen. ;)
ich hatte bei Dir das genaue Gegenteil verstanden: Jemand, der mit möglichst wenig umlernen von Acccess zu Base kommen will.

Beispiele für Javascript sind mir bisher nicht begegnet, hatte aber auch nicht danach gesucht.
Da es gelegentlich in Dokumentationen erwähnt wird, kann man das API wohl ansprechen wie von
Java oder Python, was auch vom folgenden Beitrag gestützt wird:https://forum.openoffice.org/en/forum/v ... =45&t=2721

Ausgehend von XSCRIPTCONTEXT kann man dann den Objekt- und Methodenbaum nutzen.
Herausfinden muss man aber noch, wie man sich eine funktionierende Entwicklungsumgebung baut.
Mitgeliefert wird halt nur Basic, das ich auch für die üblichen "kleinen" Macros verwende.

Bei größeren Projekten würde ich mir eher die Frage stellen, ob Python nicht der bessere Weg wäre.
(Integriert in Libre Office; und etwas mehr Beispiele und Dokumentation verfügbar, letzteres
künftig eventuell besser werdend: https://help.libreoffice.org/6.3/en-US/ ... n0000.html,
eine Entwicklungsumgebung muss man aber bisher immer noch selbst organisieren.)

mfg, Jörn
LO 6.0.7 (32Bit) Win8.1 Pro 32 Bit/ Win10 64Bit / LO 6.0.7 Win7 Pro 64 Bit



Antworten

Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 2 Gäste