Seite 1 von 1

zugriff auf inhalt in *.odb

Verfasst: Do, 05.01.2012 16:41
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

Re: zugriff auf inhalt in *.odb

Verfasst: Mo, 16.01.2012 22:14
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

Re: zugriff auf inhalt in *.odb

Verfasst: Mi, 18.01.2012 18:15
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

Re: zugriff auf inhalt in *.odb

Verfasst: Mo, 23.01.2012 16:50
von F3K Total
Toll,
und was?
R