zugriff auf inhalt in *.odb

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

Moderator: Moderatoren

juergen_w1987
**
Beiträge: 48
Registriert: Fr, 04.02.2011 09:31

zugriff auf inhalt in *.odb

Beitrag von juergen_w1987 »

Hy leute brauche wiedermal hilfe von euch.

Möchte in ein File in Test.odb (openoffice Base) zugreifen.

Also ich Starte die Test.odb Datenbank, wenn base sich öffnet startet ein Makro. Mit dem Makro will ich ein vers.txt das in Test.odb gespeichert ist auslesen.
Wie kann ich mit dem makro auf das vers.txt im Test.odb zugreifen? Den rest schaffe ich wieder.

Oder entzippt openoffice das odb.file irgendwo hin?

danke schon mal im vorhinein mfg

jürgen
DPunch
*******
Beiträge: 1112
Registriert: Mo, 02.11.2009 16:16
Wohnort: Marburg

Re: zugriff auf inhalt in *.odb

Beitrag von DPunch »

Aloha

Das kommt vor allem darauf an, wie Du die Datei in Deiner odb untergebracht hast.

Es gibt einerseits den Stream-Zugriff, wenn die Datei z.B. nur einfach dem Archiv hinzugefügt wurde, grundsätzliches dazu
Hier
oder aber das Auslesen einer als BinaryLargeObject (BLOB) in der Datenbank hinterlegten Datei, Beispielcode dazu
Hier
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: zugriff auf inhalt in *.odb

Beitrag von F3K Total »

Hallo,
DPunch hat geschrieben:Es gibt einerseits den Stream-Zugriff, wenn die Datei z.B. nur einfach dem Archiv hinzugefügt wurde, grundsätzliches dazu
Hier
mit Hilfe des Links ist es mir gelungen dem .zip Archiv der .odb einfach einen Ordner Bilder zuzufügen, in dem ich ein eigenes Bild image.jpg liegen habe. Dieses Bild kann ich nun mit folgendem Code in einem grafischen Kontrollfeld img1 meines Dioaloges Dialog1 anzeigen lassen. Es ist somit in die .odb eingebettet.

Code: Alles auswählen

sub s_show_dialog

DialogLibraries.loadLibrary( "Standard" )
oForm = DialogLibraries.Standard.Dialog1
oDlg = CreateUnoDialog( oForm )
opic = oDlg.getControl("img1")
opic.model.Graphic = f_find_image
opic.model.ScaleMode = 0'->Originalgrösse, 1->Seitenverhältnis, 2->angepasst
odlg.execute
end sub

function f_find_image

oFolder = thisdatabasedocument.getDocumentSubStorage("Bilder",1)
oimage = oFolder.getbyname("image.jpg")
oGraphicProvider = createUnoService("com.sun.star.graphic.GraphicProvider")
Dim args(1)as new com.sun.star.beans.PropertyValue
args(0).Name  = "InputStream"
args(0).Value = oImage.InputStream
f_find_image = oGraphicProvider.queryGraphic(args)
oImage.InputStream.closeInput

end function
Danke an DPunch und Gruß R
F3K Total
********
Beiträge: 3724
Registriert: Mo, 28.02.2011 17:49

Re: zugriff auf inhalt in *.odb

Beitrag von F3K Total »

Toll,
und was?
R
Antworten