Starbasic- Package

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

Moderator: Moderatoren

moritz
*****
Beiträge: 216
Registriert: Mi, 20.10.2004 20:54

Starbasic- Package

Beitrag von moritz »

Hallo, ich möchte Basic- Makros mit unter OO 2.3 als Paket mit der Endung *.oxt verteilen. Der BasicAddonBuilder von Paolo Mantovani ist dazu ideal geeignet.
In meinem Dialogfeld ist eine Grafik eingebunden. Wo sollte ich die Grafik speichern, damit sie auch auf einem anderen Computer (Linux und Windows) gefunden wird? Kann sie in das Packege eingebunden werden? Oder muß sie zusätzlich zum Paket mitgegeben werden und dann händisch unter einem bestimmten Pfad gespeichert werden?
Vielen Dank
Moritz
moritz
*****
Beiträge: 216
Registriert: Mi, 20.10.2004 20:54

Nachfrage

Beitrag von moritz »

Hallo, das Thema konnte ich leider immer noch nicht lösen.
Wenn ich die Grafiken in eine *.oxt- Datei kopiere, werden Sie mit dem Basicmakro im Verzeichnis
"C:\Dokumente und Einstellungen\..Nutzername..\Anwendungsdaten\OpenOffice.org2\user\uno_packages\cache\uno_packages\***.tmp_\Bibliothekname.oxt"
abgelegt.
Wie kann ich zur Laufzeit dieses tmp- verzeichnis z.B. "\A1.tmp_\" ermitteln, damit ich die Grafiken für die Dialoge laden kann?
Vielen Dank
Moritz
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Starbasic- Package

Beitrag von Stephan »

Wie kann ich zur Laufzeit dieses tmp- verzeichnis z.B. "\A1.tmp_\" ermitteln, damit ich die Grafiken für die Dialoge laden kann?
Indem Du:

C:\Dokumente und Einstellungen\..Nutzername..\Anwendungsdaten\OpenOffice.org2\user\uno_packages\cache\uno_packages\

rekursiv durchsuchst. Meine Extension mottco:
http://www.ooowiki.de/KomplexeBedingteFormatierungen
liefert dafür ein Beispiel, dort wird nach der PDF-Hilfedatei entsprechend gesucht.

Code: Alles auswählen

'Verzeichnis für Bilder suchen
bilderverzeichnis = ""
Dim startpfad(1)
aService = CreateUnoService("com.sun.star.util.PathSubstitution")
sUserPath = aService.substituteVariables("$(user)", true)

all_dirs_in_dir (liste(),sUserPath)
x = -1
Do While UBOUND(liste()) > x AND bilderverzeichnis = ""
	x = x + 1
	all_dirs_in_dir (liste(),liste(x))
Loop

If bilderverzeichnis = "" Then 
	warten_dialog.setVisible(False)
	MsgBox ("Die Installation der Extension ist defekt. Bitte installieren Sie neu." ,16,"Icons für Dialog nicht vorhanden")
	Exit Sub
End If


Gruß
Stephan
moritz
*****
Beiträge: 216
Registriert: Mi, 20.10.2004 20:54

Re: Starbasic- Package

Beitrag von moritz »

Vielen Dank, Stephan, das ist auf jeden Fall der richtige Weg. So kann ich das Problem lösen.
Dein Makro zur bedingten Formatierung bricht allerdings mit einer Fehlermeldung "Datentypen unverträglich" bei mir ab.
Die Adresse der aktuellen Zelle wird zweimal angezeigt, dann kommt die Fehlermeldung.
If differenz = 0 Then
test1 = oDialog1.GetControl("art0").getPosSize.Y
test2 = oDialog1.getPosSize.Height
test3 = oDialog1.GetControl("CommandButton2").getPosSize.Y
differenz = test2 - test1 ---> Fehlermeldung

Vielen Dank
Moritz
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Starbasic- Package

Beitrag von Stephan »

Dein Makro zur bedingten Formatierung bricht allerdings mit einer Fehlermeldung "Datentypen unverträglich" bei mir ab.
Das Problem trat bei mir mit dem OOo von SUSE 10.3 auf, eine Beseitigung war mir noch nicht möglich, denn es ist im Konkreten nicht so einfach und ich habe momentan keine Zeit, war aber von jemand anderem gedrängt das Makro im Wiki zu veröffentlichen.

Sollte das Problem bei Dir auf einem anderen System auftreten würde mich das genaue System interessieren.


das Ganze betrifft nicht den Codeteil den Du benötigst, der läuft einwandfrei und den Schnipsel den ich gepostet habe sollte nur dazu dienen Dir die richtige Einstiegsstelle im Code zu zeigen.
Im Kern gehtr es eigentlich um die Funktion all_dirs_in_dir, welche ich als Ersatz für die Funktion getDirs:
http://www.dannenhoefer.de/faqstarbasic/GetDirs.html

geschrieben habe, weil GetDirs ab einer bestimmten Version von OOo (ich weiß nicht mehr welche) nicht mehr funktionierte.

Du darfst also ganz beruhigt sein, kopiere die relevanten Dinge in Dein Makro und sie werden laufen auch wenn es bei der Initialisierung der GUI von mottco bei Dir Probleme gibt - beides sind verschiedene Dinge.



Gruß
Stephan
moritz
*****
Beiträge: 216
Registriert: Mi, 20.10.2004 20:54

Re: Starbasic- Package

Beitrag von moritz »

Vielen Dank Stephan,
das war mir schon klar, daß der von mir benötigte Codeteil nichts mit dem genannten Problem zu tun hat. Hatte nur bis jetzt leider keine Zeit, mich intensiver damit zu befassen.
Habe das Ganze bis jetzt nur unter WinXP und OO 2.3 getestet.
Moritz
Stephan
********
Beiträge: 12368
Registriert: Mi, 30.06.2004 19:36
Wohnort: nahe Berlin

Re: Starbasic- Package

Beitrag von Stephan »

Habe das Ganze bis jetzt nur unter WinXP und OO 2.3 getestet.
Heißt das jetzt das Du meine Frage:
Sollte das Problem bei Dir auf einem anderen System auftreten würde mich das genaue System interessieren.
mit: "WinXP und OO 2.3" beantwortest?


Gruß
Stephan
moritz
*****
Beiträge: 216
Registriert: Mi, 20.10.2004 20:54

Re: Starbasic- Package

Beitrag von moritz »

Hallo Stephan,
ja, alles bis jetzt nur unter OO 2.3.1 und XP getestet, also auch Dein Programm, bei dem der Fehler auftrat.
Die Bildersuche habe ich in mein Makro eingebaut und sie funktioniert perfekt. Eine sehr gute Lösung für mein Problem. Vielen Dank dafür.
Dein Programm ist eine wahre Fundgrube für Ideen. Muß mich mal intensiver damit beschäftigen.
Welche Vorteile bringt es, wenn die Formulare im Makro- Text und nicht mit dem Formulardesigner angelegt werden?
Vielen dAnk
Moritz
Antworten