Eigenständige Anwendung

Datenbanklösungen mit AOO/LO

Moderator: Moderatoren

eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Eigenständige Anwendung

Beitrag von eBayer »

gemach gemach....... Du willst viele Dinge auf einmal tun.
Zum Thema "eigenständige Anwendung" habe ich mal ein Beispiel entwickelt, welches bereits fleißig von einem anderen Forumsmitglied als Basis für eine Entwicklung verwendet wird.
Das was ich Dir als Anlage schicke, geht nach dem Base-Buch von T. Krumbein garnicht :)
Aber es klappt doch und ist auch kompatibel zur Version 3.1 (habs ausprobiert)
Entpacke einfach die ZIP-Datei und folge der Anleitung.
Falls Du Fragen hast, antworte ich gerne.
Gruß eBayer
Dateianhänge
extStarter.zip
(55.58 KiB) 560-mal heruntergeladen
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Eigenständige Anwendung

Beitrag von eBayer »

Die ooBase Formulare sind nun mal Textdokumente.
Letztlich ist es egal, ob ich ein Textdokument mit den notwendigen Schaltflächen ausstatte und dann mit der Datenbank verlinke oder ob ich mein ooBase-Formular extern speichere und dann mit der Datenbank verlinke. Ich habe aus konzeptionellen Gründen den Starter nur als leeres Dokument verwendet. Genauso könnte es aber ein komplettes Formular mit allen denkbaren Controls sein. Habe das gleiche mal als externes Menu gemacht, welches (natürlich mit den im externen Formular hinterlegten Makros) beliebige Formulare oder auch Reports der Datenbank aufruft.
Meines Wissens kannst Du Dialoge nicht mit Menüleisten ausstatten. Aber das ist ja mit den Formularen möglich. Im übrigen bin ich vor 6 Monaten auch ganz frisch mit dem Krummbein-Buch gestartet..... das gab den Anstoß für weitere Untersuchungen und Lernaktivitäten (über das Forum und WEB-Recherche).
Zu Deinen Mailabsichten kann ich Dir leider nichts sagen, aber Google mal nach openoffice oobase mail....... Du wirst sicher einiges finden - habe ich dazu auch schon gesehen.
Gruß eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
keksi1970
*****
Beiträge: 464
Registriert: So, 27.01.2008 11:47
Wohnort: DU

Re: Eigenständige Anwendung

Beitrag von keksi1970 »

ich weiß, daß es über Outlook geht (nicht express und auch nicht winmal von Vista).ebensowenig glaube ich, daß Thunderbird unterstützt wird.

evtl einen Versuch starten über :.sendSimpleMail (allerdingshabe ich da schwierigkeiten, einen Body einzufügen. Adresse, CC, BCC und Betreff funktionieren, anscheinend auch ein eMail-Anhang)

Nachzulesen unter : http://www.starbasicfaq.de/Wiekannmanei ... cken..html

LG
Andreas

Edit :

Du kannst zwar keine Menü-Leisten einbauen, aber "faken", also benutze einfach Labels und ordne ein Ereignis zu (sieht den Menüleisten ziemlich ähnlich)
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Eigenständige Anwendung

Beitrag von eBayer »

ich kann dich beim besten willen nicht verstehen......
ich habe dir eine beispielanwendung geschickt, die genau das was du gerade beschrieben hast, macht.
- externer Start
- keine Editiermöglichkeit durch den Anwender
Mit der Anwendung zeige ich einen sauberen, funktionierenden Weg auf, der laut T. Krumbein nicht existiert.

Du kannst natürlich Dialoge programmieren, aber Deine Fragestellung und Deine Reaktion zeigt doch, daß Du noch ganz am Anfang stehst.
Dann solltest Du erstens ganz langsam starten und dabei lernen und vor allem gut gemeinte Vorschläge zumindest mal prüfen.
Dialoge haben halt keine Bindung zur Datenbank, wie das die Formulare bieten. Du MUSST dann wirklich alles von Hand programmieren.
Wenn Du viel Zeit und die notwendige Konsequenz bei der Programmierung hast, mach es - viel Spaß.
Gruß eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Eigenständige Anwendung

Beitrag von Stephan »

In vielen Besipielen hab ich festgestellt, dass es bei Base (noch) nicht geht, Basic Makros direkt einer odb-Datei zuzuweisen.
Seit der, gerade vor Kurzem erschienenen, Version 3.1 geht das. Ich habe mich gerade eben überzeugt das es auch tatsächlich funktioniert, beispielsweise ein Makro in der Datenbank speichern und als Autostart-Makro beim Öffnen der Datenbank starten geht.
"eigenständigen Anwendung"
zieht sich bereits durch den gesamten Thread und trotzdem verstehe ich nicht welchen Sinn es macht eine Datei als "eigenständige Anwendung" zu bezeichnen. Eine "eigenständige Anwendung" wäre meines Erachtens begrifflich eine Anwendung die ohne vorhandene Programminstallation liefe, bei z.B. MS Access geht sowas mit der entsprechenden Developer Edition von MS Office (vielleicht hat sich MS dafür inzwischen einen neuen Namen ausgedacht aber bei MS Office 2000 heißt die Version so). Bei OOo wäre vielleicht die Weitergabe einer Datenbank zusammen mit Portable-OOo näherungsweise das Gleiche, aber wohl nur sehr näherungsweise.
ein eigenes Menü zu erstellen? Wenn ja, wie geht das?
Ein angepasstes Menü kannst Du über Extras-Anpassen im *.odb-Dokument speichern.
Menüanpassungen mittels StarBasic zur Laufzeit sind hingegen eigentlich unüblich, zumindestens so unüblich das ich auf die Schnelle keinen Code-Schnipsel zur Hand habe, Du könntest aber das internationale Forum danach durchsuchen.
Kann ich von meiner Open-Office-Anwendung (z.B. über Makros) auf Thunderbird zugreifen und Mails verschicken?
Du kannst, meines Wissens nicht auf Thunderbird zugreifen, für das Versenden einer Mail sollte aber die Möglichkeit Thunderbird mit Parametern zu steuern genügen, beispielsweise dieser Thread:
http://www.office-loesung.de/ftopic2334 ... php#926270
diskutiert so etwas für VBA.


Gruß
Stephan
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Eigenständige Anwendung

Beitrag von Stephan »

Werden diese Änderungen dann wirklich nur im Dokument gespeichert, oder gelten die dann komplett für OO Base?
Je nach Einstellung gelten diese Dinge für Base insgesamt oder nur für ein Dokument, im Dialog Extras-Anpassen gibt es dazu das Kombinationsfeld "Speichern in".



Gruß
Stephan
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Eigenständige Anwendung

Beitrag von Stephan »

Wir helfen hier im Forum sicher gern, aber wie wäre denn mal etwas eigene Mitarbeit? Wo man Dir einen Schritt zeigt könntest Du Dich zumindest bemühen einen halben Schritt selbst weiter zu kommen ...

Grrr, zu früh gefreut... Es lassen sich zwar die Unterpunkte der einzelnen Menüeinträge löschen, den Menüeintrag selbst bekomme ich aber nicht weg. Na ja, sieht dann etwas seltsam aus, wenn die ganzen alten Menüeinträge da bleiben, aber nichts mehr ausgewählt werden kann.

Nun ja, wenn die Haupteinträge weg sollen mußt Du die entsprechende XML-Datei per Hand bearbeiten.

Achte darauf das in jedem Formular wo Du das Menü anpassen willst mindestens eine Änderung vorgenommen wurde bevor Du das Folgende tust, was für eine Änderung (einen oder mehrere Einträge hinzufügen oder entfernen) Du durchführst ist vollkommen beliebig, nur irgendeine Änderung muß es zu nächst sein.

Danach:

*speichere und schliesse die Datenbank
*benenne die entsprechende *.odb-Datei in *,zip um
*entpacke das zip
*im entpackten zip findet sich ein Ordner namens "forms" und dort ein oder mehrere direkte Unterordner die alle im Namen mit "Obj" beginnen sollten, jeder dieser Ordner repräsentiert ein Formular
*wähle den Ordner des Formulars wo die Symbolleiste angepasst werden soll und gehe dort in den UNterordner \Configurations2\menubar
*in diesem Ordner ist eine Datei namens menubar.xml, öffne sie mit einem geeigneten Editor (Notepad geht nicht, meinethalben nimm Notepad++ http://notepad-plus.sourceforge.net/de/site.htm )
*der Inhalt der Datei sieht ungefähr so aus (hier nur der Anfangsteil):

Code: Alles auswählen

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE menu:menubar PUBLIC "-//OpenOffice.org//DTD OfficeDocument 1.0//EN" "menubar.dtd">
<menu:menubar xmlns:menu="http://openoffice.org/2001/menu" menu:id="menubar">
 <menu:menu menu:id=".uno:PickList" menu:label="">
  <menu:menupopup>
   <menu:menuitem menu:id=".uno:AddDirect"/>
   <menu:menuitem menu:id=".uno:Open"/>
   <menu:menuitem menu:id=".uno:RecentFileList"/>
   <menu:menuseparator/>
   <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
   <menu:menuseparator/>
   <menu:menuitem menu:id=".uno:CloseDoc"/>
   <menu:menuitem menu:id=".uno:Save"/>
   <menu:menuitem menu:id=".uno:SaveAs"/>
   <menu:menuitem menu:id=".uno:SaveAll"/>
   <menu:menuseparator/>
   <menu:menuitem menu:id=".uno:Reload"/>
   <menu:menuitem menu:id=".uno:VersionDialog"/>
   <menu:menuseparator/>
   <menu:menuitem menu:id=".uno:ExportTo"/>
   <menu:menuitem menu:id=".uno:ExportToPDF"/>
   <menu:menu menu:id=".uno:SendToMenu" menu:label="">
    <menu:menupopup>
     <menu:menuitem menu:id=".uno:SendMail"/>
     <menu:menuitem menu:id=".uno:SendMailDocAsOOo"/>
     <menu:menuitem menu:id=".uno:SendMailDocAsMS"/>
     <menu:menuitem menu:id=".uno:SendMailDocAsPDF"/>
     <menu:menuseparator/>
     <menu:menuitem menu:id=".uno:NewGlobalDoc"/>
     <menu:menuitem menu:id=".uno:NewHtmlDoc"/>
     <menu:menuseparator/>
     <menu:menuitem menu:id=".uno:SendOutlineToStarImpress"/>
     <menu:menuitem menu:id=".uno:SendOutlineToClipboard"/>
     <menu:menuseparator/>
     <menu:menuitem menu:id=".uno:CreateAbstract"/>
     <menu:menuitem menu:id=".uno:SendAbstractToStarImpress"/>
    </menu:menupopup>
   </menu:menu>
   <menu:menuseparator/>
   <menu:menuitem menu:id=".uno:SetDocumentProperties"/>
   <menu:menuitem menu:id=".uno:Signature"/>
   <menu:menu menu:id=".uno:TemplateMenu" menu:label="">
    <menu:menupopup>
     <menu:menuitem menu:id=".uno:Organizer"/>
     <menu:menuitem menu:id=".uno:AddressBookSource"/>
     <menu:menuitem menu:id=".uno:SaveAsTemplate"/>
     <menu:menuitem menu:id=".uno:OpenTemplate"/>
    </menu:menupopup>
   </menu:menu>
   <menu:menuseparator/>
   <menu:menuitem menu:id=".uno:PrintPreview"/>
   <menu:menuitem menu:id=".uno:Print"/>
   <menu:menuitem menu:id=".uno:PrinterSetup"/>
   <menu:menuseparator/>
  </menu:menupopup>
 </menu:menu>
 <menu:menu menu:id=".uno:EditMenu" menu:label="">
  <menu:menupopup>
   <menu:menuitem menu:id=".uno:Undo"/>
   <menu:menuitem menu:id=".uno:Redo"/>
   <menu:menuitem menu:id=".uno:Repeat"/>
   <menu:menuseparator/>
   <menu:menuitem menu:id=".uno:Cut"/>
   <menu:menuitem menu:id=".uno:Copy"/>
   <menu:menuitem menu:id=".uno:Paste"/>
   <menu:menuitem menu:id=".uno:PasteSpecial"/>
   <menu:menuitem menu:id=".uno:SelectTextMode"/>
   <menu:menu menu:id=".uno:SelectionModeMenu" menu:label="">
    <menu:menupopup>
     <menu:menuitem menu:id=".uno:SelectionModeDefault"/>
     <menu:menuitem menu:id=".uno:SelectionModeBlock"/>
    </menu:menupopup>
   </menu:menu>
   <menu:menuitem menu:id=".uno:SelectAll"/>
   <menu:menuseparator/>
   <menu:menu menu:id=".uno:ChangesMenu" menu:label="">
    <menu:menupopup>
     <menu:menuitem menu:id=".uno:TrackChanges"/>
Jedem Haupteintrag im Menü (Datei, Bearbeiten, ...) entspricht nun ein Abschnitt in obiger DAtei der immer durch die zwei Tags der Form:

Code: Alles auswählen

<menu:menu menu:id=".uno:PickList" menu:label="">
...
</menu:menu>
begrenzt ist.
Um in obiger Datei den gesamten Datei-Menü-Haupteintrag zu löschen, lösche also den gesamten Abschnitt:

Code: Alles auswählen

 <menu:menu menu:id=".uno:PickList" menu:label="">
  <menu:menupopup>
   <menu:menuitem menu:id=".uno:AddDirect"/>
   <menu:menuitem menu:id=".uno:Open"/>
   <menu:menuitem menu:id=".uno:RecentFileList"/>
   <menu:menuseparator/>
   <menu:menuitem menu:id=".uno:AutoPilotMenu"/>
   <menu:menuseparator/>
   <menu:menuitem menu:id=".uno:CloseDoc"/>
   <menu:menuitem menu:id=".uno:Save"/>
   <menu:menuitem menu:id=".uno:SaveAs"/>
   <menu:menuitem menu:id=".uno:SaveAll"/>
   <menu:menuseparator/>
   <menu:menuitem menu:id=".uno:Reload"/>
   <menu:menuitem menu:id=".uno:VersionDialog"/>
   <menu:menuseparator/>
   <menu:menuitem menu:id=".uno:ExportTo"/>
   <menu:menuitem menu:id=".uno:ExportToPDF"/>
   <menu:menu menu:id=".uno:SendToMenu" menu:label="">
    <menu:menupopup>
     <menu:menuitem menu:id=".uno:SendMail"/>
     <menu:menuitem menu:id=".uno:SendMailDocAsOOo"/>
     <menu:menuitem menu:id=".uno:SendMailDocAsMS"/>
     <menu:menuitem menu:id=".uno:SendMailDocAsPDF"/>
     <menu:menuseparator/>
     <menu:menuitem menu:id=".uno:NewGlobalDoc"/>
     <menu:menuitem menu:id=".uno:NewHtmlDoc"/>
     <menu:menuseparator/>
     <menu:menuitem menu:id=".uno:SendOutlineToStarImpress"/>
     <menu:menuitem menu:id=".uno:SendOutlineToClipboard"/>
     <menu:menuseparator/>
     <menu:menuitem menu:id=".uno:CreateAbstract"/>
     <menu:menuitem menu:id=".uno:SendAbstractToStarImpress"/>
    </menu:menupopup>
   </menu:menu>
   <menu:menuseparator/>
   <menu:menuitem menu:id=".uno:SetDocumentProperties"/>
   <menu:menuitem menu:id=".uno:Signature"/>
   <menu:menu menu:id=".uno:TemplateMenu" menu:label="">
    <menu:menupopup>
     <menu:menuitem menu:id=".uno:Organizer"/>
     <menu:menuitem menu:id=".uno:AddressBookSource"/>
     <menu:menuitem menu:id=".uno:SaveAsTemplate"/>
     <menu:menuitem menu:id=".uno:OpenTemplate"/>
    </menu:menupopup>
   </menu:menu>
   <menu:menuseparator/>
   <menu:menuitem menu:id=".uno:PrintPreview"/>
   <menu:menuitem menu:id=".uno:Print"/>
   <menu:menuitem menu:id=".uno:PrinterSetup"/>
   <menu:menuseparator/>
  </menu:menupopup>
 </menu:menu>
und speichere die Datei menubar.xml dann.
Packe nun das zip (inklusive der Veränderten menubar.xml) wieder ein und ändere abschliessend die Dateiendung von *.zip auf *.odb.
Öffne das *,odb wieder in OOo und überzeuge Dich das der entsprechende Menü-Haupteintrag "Datei" im gerade bearbeiteten Formular nunmehr aus der Menüleiste verschwunden ist.



Gruß
Stephan
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Eigenständige Anwendung

Beitrag von eBayer »

noch eine kleine anmerkung......
wolltest du nicht verhindern, daß der anwender zugriff auf die ide bekommt?
ich habe den von dir nun favorisierten direkten start per startmakro unter 3.1 getestet.
probleme:
- die ide bleibt während der kompletten anwendung sichtbar und kann ohne andere nachteile vermutlich nicht ausgeblendet werden.
- nach abschluß deiner anwendung bleibt die ide weiterhin geöffnet und muß vom anwender separat geschlossen werden.

sehe ich das richtig, oder hast du möglicherweise dafür eine lösung gefunden?
Gruß eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
eBayer
******
Beiträge: 556
Registriert: Do, 04.12.2008 14:33
Wohnort: Augsburg

Re: Eigenständige Anwendung

Beitrag von eBayer »

das entspricht doch genau der beispielanwendung, die ich dir geschickt hatte.
jetzt verstehe ich garnichts mehr.
gruß eBayer
Intel(R) Core(TM)2 Quad CPU Q8200 @ 2.33GHz mit 4 GB Memory (3,2 GB aktiv)
Vista Home Premium 32 Bit
openOffice 3.1.1 mit Sun Report Builder 1.1.0 und MySql 5.1
Hauptinteresse ooBase seit 12.2008
Antworten