StarBasic Programmierhandbuch

Programmierung unter AOO/LO (StarBasic, Python, Java, ...)

Moderator: Moderatoren

TenBaseT
****
Beiträge: 128
Registriert: Mo, 08.03.2004 10:01

Beitrag von TenBaseT » Di, 13.04.2004 20:47

Many THX, mit dem ftp Link hat's dann auf Anhieb geklappt.

Hans

Benutzeravatar
Wolf
****
Beiträge: 118
Registriert: Fr, 23.04.2004 06:48

Vergiss es !!!

Beitrag von Wolf » Sa, 24.04.2004 17:05

:twisted: Die Jungs vom SO-Entwickler-Team haben fast alles umgeschmissen. Ich bin wahrlich kein Microsoft-Fan und antworte gerade unter SUSE-Linux mit Opera als Browser.
Aber die Jungs vom SO tun alles um Anwender dem MS-Office in die Hände zu spielen. Das VBA oder auch das VB ist in punkto Benutzerfreundlichkeit und Einfachheit in der Syntax absolute Spitze (Leider !!!) Beim SO ab 6.0 und auch beim Open-Office wurde alles ausser der BASIC-Syntax, die schon seit dem Commodore 64 bekannt ist umgeschmissen. Ich habe manchmal das Gefühl, ich muß ein Studium in kryptischer Zeichensprache absolvieren um das jetzige Sprachgewirr zu verstehen.
Dabei geht es mir vor allem um Zeit. Wenn man nur mal eben was programmieren will um sich tägliche Routinearbeit zu sparen, der hat verloren, bevor er begonnen hat.

Ver VBA kann und versteht muß leider dabei bleiben. SO ist was für Freaks die viel !!!!!! Zeit haben. Wer arbeitet und begrenzte Zeit zum Feierabend hat, hat eben Pech.

Wolf

TenBaseT
****
Beiträge: 128
Registriert: Mo, 08.03.2004 10:01

Beitrag von TenBaseT » Sa, 24.04.2004 17:54

Hi Wolf, da spricht ja viel Frust. Aber wer VB kann und keine Zeit oder keinen Bock hat zum umlernen, der sollte bei VB bleiben.

Wenn allerdings von Release zu Release eine neue Syntax eingeführt wird, dann ist das mehr als ärgerlich. Soetwas treibt mich auch auf die Palme.

Hans

Lib
******
Beiträge: 606
Registriert: Mi, 06.08.2003 20:18

Re: Vergiss es !!!

Beitrag von Lib » Sa, 24.04.2004 19:43

Wolf hat geschrieben:Dabei geht es mir vor allem um Zeit. Wenn man nur mal eben was programmieren will um sich tägliche Routinearbeit zu sparen, der hat verloren, bevor er begonnen hat.
Jemand, der mir aus dem Herzen spricht. Ich habe zwar auch noch nicht mit VB gearbeitet, aber ich habe zu DOS-Zeiten Word-Makros geschrieben, später AmiPro-Makros, ich code HTML, hin und wieder Javascripts, schreibe auch mal ein Perlscript oder CL-Programme auf unserer AS400, aber bei OO-Basic habe ich abgeblockt. Ich bin froh, dass ich ein paar einfache Makros aufzeichnen kann. Aber ich hatte gehofft, ich könne bei Bedarf mal schnell eins aufzeichnen und dann ggf. eine Schlaufe einbauen oder eine IF-Sequenz, aber Pustekuchen. Der Code ist für mich nicht durchschaubar. Ich müsste soviel lernen, dass das für sporadisches Anwenden nicht im Verhältnis steht. Und wenn man nicht konstant damit arbeitet, ist man verloren. Bei uns in der Firma gäbe es sicher Dinge, wo ich meinen Kollegen das Leben mit dem einen oder anderen Makro erleichtern könnte. Aber schreckliche Vorstellung, wenn so ein Automatismus dann einmal eingeführt ist, es taucht ein Problem auf und es ist schon Wochen oder Monate her, dass man das Ding zusammengeschustert hat.
Gruss, Lib

TenBaseT
****
Beiträge: 128
Registriert: Mo, 08.03.2004 10:01

Beitrag von TenBaseT » So, 25.04.2004 00:17

Hi Lib, ich glaube die Sprache selbst ist nicht das Problem, sondern es fehlt ein Editor mit Autovervollständigung. Für einen Anfänger absolut hilfreich beim Erlernen der Sprache. Da lernt man im vorbeigehen, welche Methoden und Properties ein Objekt hat.

Auf die Tour habe ich Delphi gelernt. Und weil es das bei Lotus auch nicht gib, habe ich das gewurschtele von Lotus Script nie verstanden. Da blocke ich ganz massiv und mach es lieber in Delphi oder such mir einen Studenten.

Hans

Lib
******
Beiträge: 606
Registriert: Mi, 06.08.2003 20:18

Beitrag von Lib » So, 25.04.2004 07:49

Vielleicht. Aber Du schreibst,
...Auf die Tour habe ich Delphi gelernt
Das ist ja schön, wenn Du Delphi brauchst. Aber für jemanden, der hin und wieder einen kleinen Automatismus einrichten will, ist ein so mächtiges Werkzeug wie Basic vor allem Ballast. Und es genügt bei so einer Programmiersprache ja nicht, dass Du Dich einmal hineinarbeitest, weil Du Dein grade aktuelles Problem lösen willst. Wenn Du nicht weiter damit arbeitest, kriegst Du es nie wirklich in den Griff. Und dafür habe ich z.B. gar kein Umfeld. Ich müsste mir Anwendungen ausdenken, also quasi Basic zu meinem Hobby erklären.
Also für mich ist in dem Moment, als die Makro-Sprachen von so simplen Strukturen wie AWENN/EWENN weggegangen sind, eine Lücke entstanden, die nie mehr gefüllt wurde. Um nicht falsch verstanden zu werden: Ich finde es sehr wichtig, dass "echte" Programmierschnittstellen geschaffen werden, die es möglich machen, Office-Programme in Standardapplikationen zu integrieren. Aber für mich ist auch klar, dass ein solches Programmier-Instrument von einem Programmierer zu verwenden ist, der neben der Kenntnis von Programmerisprachen auch Programmiererfahrung mitbringt, der komplexe Situationen in ein Konzept umformuliern kann, der analytisches Verständnis hat und darum auch fähig ist, ein entsprechend komplexes Programmierwerkzeug richtig anzuwenden.
Wenn man nicht weiss, wovon die Rede ist, wenn in einer Programmierumgebung von einem Objekt, einer Methode, einer Eigenschaft, einer Funktion, einer Klasse die Rede ist, dann löst doch auch ein Editor das Problem nicht. Und wie soll man das verstehen, wenn man alle paar Monate einmal einen Ablauf automatisieren will?
Gruss, Lib

PS: Kennst Du http://selfhtml.teamone.de ? Wenn jemand sowas für Basic aufbauen würde, da wäre ich dabei

Toxitom
********
Beiträge: 3485
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom » So, 25.04.2004 09:18

Hey Leute,

also ich kann das "Gejammer" nicht verstehen. Die Grundstrukturen von StarBasic sind einfach und mit jeder anderen Basic-Sprache vergleichbar. Kann man eine, kann man im Prinzip alle. Neu und - zumindest für VBA Programmierer - ist nur das Objektmodell, also, wie spreche ich einzelne Objekte der StarOffice-Komponenten an.
Ich habe ohne Probleme schon viele VBA-Anwendungen nach StarOffice-Basic "portiert" und kann nur sagen - so schwer ist das nicht. Zugegeben: die Dokumentation ist nicht so gut wie bei VBA, wo es doch ausreichend Literatur gibt, auch über die COM Modelle. Hier könnte sicher noch einiges in Zukunft getan werden.
Andererseits bietet OOo Schnittstellen auch zu aktuellen Sprachen wie Python , Delfi und C++, so dass auch das keine Hürde darstellen sollte.
Ich glaube auch nicht, dass dies am Editor liegt. Man sollte den Sinn der Sprache verstehen und die Vorgehensweise, bevor man programmiert, und dann ist StarBasic nicht schwerer als andere.
Wenn OOo erst mal eine entsprechende Verbreitung erreicht hat, wird es auch mehr Literatur geben, sicher dann auch über das UNO Modell und über die entsprechneden Objekte.

Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic

Lib
******
Beiträge: 606
Registriert: Mi, 06.08.2003 20:18

Beitrag von Lib » So, 25.04.2004 10:18

Toxitom hat geschrieben:also ich kann das "Gejammer" nicht verstehen.
Eben, das ist genau das Problem
Die Grundstrukturen von StarBasic sind einfach und mit jeder anderen Basic-Sprache vergleichbar. Kann man eine, kann man im Prinzip alle.
Wer das kann, kommt auch mit OO Basic zurecht, schon klar. Wer aber keine Programiererfahrung in einer vergleichbaren Umgebung hat und für den Begriffe wie "Objektmodell" fremd sind, der hat keine Chance. Und die kleinen Alltagsaufgaben, die man gern damit lösen würde sind weder geeignet, um daran Programmier-Modelle zu lernen, noch macht es Sinn, für etwas, was einem ein paar Handgriffe erleichtern soll, eine Programmiersprache von diesem Umfang zu lernen. Ganz abgesehen davon, dass man programmieren sowieso nur lernt, wenn man es regelmäsig tut und immer mal wieder ein anderes Problem in ein Programmkonzept umsetzen muss.
Ich sage ja auch gar nichts gegen OO Basic. So ein Profi-Werkzeug wird heute gebracuht in Office-Umgebungen. Aber die Nicht-Profis hatten mit den alten simplen Makro-Sprachen etwas, was sie heute nicht mehr haben.
Und by the way - das Gejammer der anderen verstehen die wenigsten, da bist Du nicht allein. Die meisten bringen nur Verständnis für die eigenen Probleme auf.
Gruss, Lib

Benutzeravatar
Wolf
****
Beiträge: 118
Registriert: Fr, 23.04.2004 06:48

Beitrag von Wolf » So, 25.04.2004 16:38

Toxitom hat geschrieben:Hey Leute,

also ich kann das "Gejammer" nicht verstehen. Die Grundstrukturen von StarBasic sind einfach und mit jeder anderen Basic-Sprache vergleichbar. Kann man eine, kann man im Prinzip alle. Neu und - zumindest für VBA Programmierer - ist nur das Objektmodell, also, wie spreche ich einzelne Objekte der StarOffice-Komponenten an.

Irtum ! Die Grundstrukturen sind eben nicht ganz dieselben ! Wäre schön wenn.
Beispiel VBA / VB:

Eine Form oder Dialogfeld mit dem Namen "frmTest".
Ein Textfeld mit dem Namen "txtEingabefeld".
Eine Eigenschaft mit dem Namen "Text"

Quelltext VB:

Load frmTest
frmTest.txtEingabe.Text="Visual Basic"
frmTest.Show

Das ging bis SO5.2 auch noch. Schau mal nun wie man das jetzt machen muß. Gibt es denn irgend einen Grund die Sache so zu verkomplizieren, wie man das bei SO6.0 und aufwärts tut ?

Ganz zu schweigen von Zugriffen auf die Dokumente. Wo früher ein ActiveDocument.CellText(1,1,1) gereicht hat, bricht man sich heute die Finger.

Und wo bekommt man denn eigentlich die ganzen Eigenschaften und Methoden der vielen Objekte her, die bei VB gut dokumentiert sind, aber beim SO ab 6.0 ein schieres Geheimnis darstellen.
Ich glaube, dass ist alles kein Gejammer, das ist nur die Realität.

Wolf

Toxitom
********
Beiträge: 3485
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom » So, 25.04.2004 17:18

Hey Wolf,
Irtum ! Die Grundstrukturen sind eben nicht ganz dieselben ! Wäre schön wenn.
Beispiel VBA / VB:

Eine Form oder Dialogfeld mit dem Namen "frmTest".
Ein Textfeld mit dem Namen "txtEingabefeld".
Eine Eigenschaft mit dem Namen "Text"
Das ist aber das Objektmodell! Nicht die Grundstruktur! Warum man das geändert hat, kann ich dir nicht sagen, aber von Version 5.2 auf Version 6.0 wurde vieles geändert. Das Objektmodell wird ja auch zum "normalen" Programmieren ingleicher Art und Weise genutzt, also für denQuellcode. Und ich denke mal, da ist da UNO-Modell einfach leistungsfähiger.
Und wo bekommt man denn eigentlich die ganzen Eigenschaften und Methoden der vielen Objekte her
Wenn es mal entsprechende Dokumentationen gibt: daraus. Bis dahin helfe ich mir mit:

Code: Alles auswählen

msgbox objekt.dbg_properties
msgbox objekt.dbg_methods
Der Rest ist gesunder Menschenverstand und ausprobieren.
Und man sollte sich bewusst sein, das ist natürlich nichts für "normale" Anfänger und Nutzer, die mal eben eine Funktion programmieren wollen, ansonsten aber nicht so viel Ambitionen und Ahnung haben. Ich denke, da tut es denn auch der Makrorekorder. Da muss man eigentlich gar nichts wissen (oder nicht sehr viel). Und ob das alles so glücklich ist, was die Leute so programmieren (z.B. in VBA), das sieht man, wenn man sich die Rechner in Unternehmen mal ansieht. Manchmal ist etwas weniger eben durchaus besser.
Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic

Lib
******
Beiträge: 606
Registriert: Mi, 06.08.2003 20:18

Beitrag von Lib » So, 25.04.2004 18:07

Hallo Thomas
Toxitom hat geschrieben:Und man sollte sich bewusst sein, das ist natürlich nichts für "normale" Anfänger und Nutzer, die mal eben eine Funktion programmieren wollen, ansonsten aber nicht so viel Ambitionen und Ahnung haben. Ich denke, da tut es denn auch der Makrorekorder.
Im ersten Moment ist mir schlicht die Luft weggeblieben bei soviel Arroganz. Ich habe dann zuerst langsam bis 10 gezählt, bevor ich die Tasten bemüht habe.
Also die Elite bestimmt, was ein "normaler" Anwender ist und was nicht und übernimmt auch gleich noch das Denken für ihn.....
Im Moment halte ich mich wenigstens noch für einen normalen Anwender, vielleicht mit dem Unterschied, dass ich mir ausserdem noch erlaube, selbst zu Denken. Und ich gehe mit Dir einig, "richtig" programmiert sollte von "richtigen" Programmierern werden. Die autodidaktische Code-Bastelei hat zwar für eine breite Entwickler-Basis gesorgt, aber was strukturiertes Projekt-Engineering anbetrifft, sieht es im allgemeinen noch recht übel aus, was der Stabilität und Interkompatibilität der Software-Entwicklung noch als rechter Hemmschuh anhängt.
Trotzdem - immer noch unter der Voraussetzung, mich als normalen Anwender zu sehen - hätte ich gern ein Instument, welches zwischen einem Makrorekorder, der für mich unverständlichen und nicht bearbeitbaren Code produziert und einer komplexen Programmiersprache (die übrigens für Version 2.0 mit nochmal neuen Strukturen kommen soll) liegt.
Etwas anderes ist es, wenn mir die Koriphäen der Programmierung sagen, sowas sei nicht möglich. Dann sehe ich ein, dass die Mächtigkeit des heutigen Basic wichtiger ist als meine Amateur-Code-Wünsche.
Aber mein Anwender-Wunsch für eine (zusätzliche) Makrosprache, bei der ich eine Steuerung aufgrund von einfachen else, while, for Sequenzen und ein paar Variablen-Funktionen vornehmen kann, bleibt bestehen.
Thomas, mir ist klar, dass das hier nicht das OO-Entwickler-Forum ist, wo Wünsche anzubringen wären. Aber es ist doch auch eine Austauschebene und ich komme mir von Deinen Einlassungen schon sehr überfahren vor. OO ist doch vor allem für uns normale Anwender gedacht. Dass erfahrene Programmierer damit eine Schnittstelle bekommen, welche die reinen Office-Grenzen aufhebt, finde ich genial, aber nicht die einzig berechtigte Sichtweise.
Gruss, Lib

Toxitom
********
Beiträge: 3485
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Beitrag von Toxitom » So, 25.04.2004 18:33

Hey Lib,
Also die Elite bestimmt, was ein "normaler" Anwender ist und was nicht
Wer oder was ist "Elite"? Ich definier das nicht, denn das wäre "arrogant". Im Übrigen kann ich deinen Ausführungen nicht folgen. Ich bin kein "Programmierer" oder ähnliches, sondern - wie du wahrscheinlich - amitionierter Anwender? Ich erlebe aber täglich das Chaos in kleinen und mittleren Betrieben, in denen sich die "Anwender" ins "Programmieren" stürzen. Und irgendwo gibt es da eben Schnittstellen. Dank der VBA Dokumentationen und dem - gut dokumentierten - COM Modell finden sich viele berufen, mal eben eine kleine Anwendung zu schreiben....
Andererseits ist OOo Basic (oder StarBasic ) doch genau, was du suchst: Die Sprache selbst (Basic) ist sehr einfach, Schleifen mit if, else, while etc Standard und auch nicht anders als bei VBA. Eben "nur" die Objekte sind anders benannt und folgen einer anderen Logik. OK, habe gerade am Anfang auch zunächst gfeflucht, da meine schön erworbenen VBA Kenntnisse leider nicht 1:1 aud OOo umsetzbar waren und habe viele Basic-Makros (Von Excel) dann umgeschrieben (auf OOo) und dabei viel gelernt. Heute sage ich, wer VBA beherrscht kann sich genauso einfach in OOo Basic ewinarbeiten. Und das Leben ist eben nun mal ständiges lernen. Das ist doch nicht stragisches. Stillstand wäre Rückschritt.
übrigens für Version 2.0 mit nochmal neuen Strukturen kommen soll
Tia, so lange haben die gar nicht mal gewartet. Schon in OOo 1.1.1 sind neue Strukturen eingeflossen und manche Makros und Programme aus 1.1.0 laufen leider nicht mehr. Dafür gibt es aber auch echte Fortschritte, insbesondere hinsichtlich der Anwenderfreundlichkeit einzelner Details (z.B. Listenboxewn können jetzt direkt mit Calc-Zellen verbunden werden, es entfällt ein aufwendiges Füll- und Ausleseverfahren).
Die Schwierigkeit wird immer sein, was ist ein "normaler Anwender"? Betrachte ich die kleinen Betriebe, so sind die "normalen Anwender" oft nicht einmal in der Lage, Formeln einzugeben, die über einfache, mathematische Bedingungen hinausgehen, geschweige denn könnten sie Makros programmieren. Dann gibt es immer einige wenige, die kennen sich ein wenig besser aus, gelten im Betreiewb als "Hacker" oder "Freaks" uhnd helfen, wo es geht. Die können dann auch kompliziertere Formeln und Strukturen eingeben, Formulare erstellen - und Makros programmieren. Und die kommen ohne weiteres auch mit OOo Basic zurecht, ohne "erfahrene Programmierer" zu sein.
Ich gebe dir aber natürlich in einem Punkt recht: es fehlt ein gutes Buch für OOo Basic. Ein Nachschlagewerk über die Objekte mit einfachen Anwendungsbeispielen. Das wäre sicherlich ein grosser Schritt nach vorne.
Gruss
Thomas
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic

Benutzeravatar
Wolf
****
Beiträge: 118
Registriert: Fr, 23.04.2004 06:48

Frust

Beitrag von Wolf » So, 25.04.2004 23:37

Hallo Leute,

Da habe ich ja eine Diskussion losgetreten.
Wie schon TenBaseT (oder auch Hans) gesagt hat, ist da ein wenig Frust in meinem ersten Beitrag enthalten. Richtig. Ihr müßt wissen, ich war begeisterter Star Office Anwender. Habe SO3.0 für OS/2 gekauft und dann ab SO4.0 war ich Abonnent. Bis SUN dann das Modell verworfen, die Abo-Verträge gekündigt und uns SO6.0 als Abschiedsgeschenk vor die Füße geknallt hat.
Ich habe die letzten 5 Jahre mein Maschinenbaustudium ausschließlich mit SO 5.2 begleitend gestaltet und mir auch eine Menge Makros geschrieben. Ich denke, dass ich in Basic kein Greenhorn bin, seit den C64 Zeiten arbeite ich mit der Sprache, da ich aus Zeitgründen mich mit Delphi und C nicht weiter (ernsthaft) beschäftigen kann. Stellt euch nun vor, da wird man schon mit dem Slogan geködert "Do everything on one place" und arbeitet mit SO 5.x und dessen Makrosprache, die ja auch nicht schlecht war (wenn auch nicht so komfortabel wie VBA) und dann macht SUN einen Schnitt und ich soll alles, was ich in 5 Jahren programmiert habe umschreiben, weil SUN eben mal so 'ne Ideee hat. Na denken die Herrn bei SUN, dass ich 365 Tage Urlaub nehmen kann um das neue (undokumentierte) SDK zu büffeln und 5 Jahre Studium aufzuarbeiten bzw.
umprogrammieren kann? Und wer sagt denn, dass das das Ende der Fahnenstange ist. Wer einfach etwas umschmeisst um Neues zu bringen, der macht das immer wieder. Warum mußten die alten Makrobefehle verschwinden? Im SO5.2 konnte man doch auch mit dem SDK arbeiten, wer wollte! Und wer nicht, der hat eben anders programmiert. Das war wenigstens fair und was war daran falsch oder schlecht?
Hier sollte für zukünftige Versionen vom OOo mal nachgedacht werden.

Und noch etwas, was ich auf meinem Rechner programmiere, und wenn es der größte Unsinn ist, ist meine Sache. Und auf Firmenrechnern wird auch ohne dem OOo oder dem SO Unsinn getrieben, da braucht man kein SDK um das zu verhindern.

Wolf

Lib
******
Beiträge: 606
Registriert: Mi, 06.08.2003 20:18

Beitrag von Lib » Mo, 26.04.2004 08:15

Hi Thomas
Toxitom hat geschrieben:Die Sprache selbst (Basic) ist sehr einfach, Schleifen mit if, else, while etc Standard und auch nicht anders als bei VBA
Ja, da habe ich mich wohl missverständlich ausgedrückt.
Eben "nur" die Objekte sind anders benannt und folgen einer anderen Logik
Hier liegt wohl der Knackpunkt.
Und das Leben ist eben nun mal ständiges lernen
Stillstand wäre Rückschrit
Na ja, sowas klingt immer gut, aber ob diese Art der Profan-Philosophie hier zieht, will ich mal nicht genauer untersuchen.
Für meinen Teil werde ich mich vorderhand mit dem Recorder begnügen und hinnehmen, dass ich damit nicht sehr viel bewegen kann. Für meine "Lernbegierde" gibt es da noch andere Entwicklungs-Felder.
Schöne Woche,
Grüsse von Lib

Antworten