Seite 1 von 1

Datei als Binary öffnen

Verfasst: Mi, 12.03.2008 09:55
von Hömmelmann
Hallo Leute,

ich versuche gerade eine Datei, die Text, aber auch komplette JPG Dateien enthält zu öffnen. Mein Code bisher:

sub OeffnenBinary
dim inhalt as variant
dim fnUrl as string
dim pfad as string
dim iNum as integer

doc=thiscomponent

pfad=ConvertToURL(doc.URL)
do until right(pfad,1)="/"
pfad=left(pfad,len(pfad)-1)
loop

fnURL =pfad & "Stream.txt"
iNum=Freefile

Open fnUrl For Binary Access Read As #iNum
seek #iNum,1
get #iNum,1,inhalt

end sub

Bei der Ausführung bekomme ich einen E/A Gerätefehler bei der Anweisung "get".

Kann mir jemand sagen, was falsch ist?


Danke, Friedhelm

Re: Datei als Binary öffnen

Verfasst: Mi, 12.03.2008 11:22
von Frank66
Hi,

habe es nicht getestet, aber erster Gedanke wäre, dass die Datei geschützt ist, da sie in OO offen ist (wg. doc=thiscomponent).
Hast es schon mal mit anderen Dateien versucht oder thiscomponent vorher geschlossen?

Re: Datei als Binary öffnen

Verfasst: Mi, 12.03.2008 11:52
von Karolus
Hallo
Aus Makros für OOo entnehme ich, das die Funktion 'Get' nicht richtig arbeitet.
Evtl. weiss Toxitom als Autor inzwischen mehr ?

Gruß Karo

Re: Datei als Binary öffnen

Verfasst: Fr, 14.03.2008 08:20
von Toxitom
Hey Friedhelm,

die Basic-Funktionen werden nicht weiter gepflegt - ich bin mir nicht sicher, ob das so funktioniert. Für "Get" gibt es ein Beispiel in der Hilfe - aber so richtig habe ich das auch nie zum Laufen bekommen.
Im Grunde solltest du sowieso den UNO-service simpleFileAccess nutzen, der wird weitergepflegt und bietet dir auch das Bit-weise auslesen an (readBytes, readSomeBytes, skipBytes,...). Ich denke, damit solltest du weiterkommen :-)

zu finden im Service com.sun.star.ucb.SimpleFileAccess , Interface XSimpleFileAccess, Methode openFileRead() -> liefert Inputstream des Typs com.sun.star.io.XInputStream, dieses Interface bietet die oben genannte Methoden an :-)

Viele Grüße
Thomas