Datei als Binary öffnen

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

Moderator: Moderatoren

Hömmelmann
****
Beiträge: 119
Registriert: Di, 28.11.2006 19:44
Wohnort: Meppen

Datei als Binary öffnen

Beitrag 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
Frank66
*
Beiträge: 11
Registriert: Mi, 05.03.2008 12:33
Wohnort: Bayern

Re: Datei als Binary öffnen

Beitrag 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?
Wie richtet man einen Betrieb zu Grunde?
mit Frauen - das ist am Schönsten
mit Spielen - das geht am Schnellsten
mit Computern - das ist am Sichersten
Die Steigerung sind dann die spielenden Frauen am Computer....
Karolus
********
Beiträge: 7517
Registriert: Mo, 02.01.2006 19:48

Re: Datei als Binary öffnen

Beitrag 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
LO7.4.7.2 debian 12(bookworm) auf Raspberry4b 8GB (64bit)
LO24.8.2.1 flatpak debian 12(bookworm) auf Raspberry4b 8GB (64bit)
Toxitom
********
Beiträge: 3769
Registriert: Di, 12.08.2003 18:07
Wohnort: Wiesbaden
Kontaktdaten:

Re: Datei als Binary öffnen

Beitrag 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
Unterstützer LibreOffice, zertifizierter Trainer und Berater
Bücher: LibreOffice 6- Einstieg und Umstieg
Makros Grundlagen - LibreOffice / OpenOffice Basic
Antworten