Hallo Mathias,
Mathias Bauer schrieb:
> In OOo2.0 liefert ThisComponent.DocumentStorage dir ein
> Storage-Objekt.
> An diesem kannst du mit openStorageElement an deinen "Ordner"
> (=SubStorage) kommen, der auch wieder ein Storage-Objekt ist. Darin
> kannst du dann mit openStreamElement deinen Stream �ffnen.
>
> Mehr dazu findest du in der IDL-Doku in com.sun.star.embed.Storage.
Ja, Danke das hat mir geholfen. Ich habe jetzt folgenden Code (OOo 2.0):
Sub Main
x() = ThisComponent.DocumentStorage.getElementNames
for i = 0 to UBOUND(x())
J = J & x(i) & CHR(13)
next i
msgbox J '(*)
'msgbox ThisComponent.DocumentStorage.dbg_methods
y() = ThisComponent.DocumentStorage.GetByName("Test") _
.getElementNames
for i = 0 to UBOUND(y())
L = L & y(i) & CHR(13)
next i
msgbox L
w() = Array()
ThisComponent.DocumentStorage.GetByName("Test") _
.openStreamElement("4.txt",1).ReadSomeBytes(w(),140)
For f = LBOUND(w()) to UBOUND(w())
If w(f) < 0 Then
k = k & CHR(w(f)+256) '(**)
Else
k = K & CHR(w(f))
End if
Next f
msgbox k
End Sub
Das funktioniert ganz pr�chtig, aber:
Warum erhalte ich bei (*) als letzten Wert des Arrays 'Configurations2',
es gibt im Archiv keinen Ordner (oder Datei) dieses Namens?
Kann ich irgendwie direkt die Zeichen aus einer Plain-Text Datei lesen?
(Mit ReadSomeBytes mu� ich den R�ckgabewert erst in der Schleife in
Buchstaben umwandeln. Mir ist auch nicht klar warum die R�ckgabe bei
z.B. "�" -33 ist, weshalb ich (**) brauche. Naja, -33+256 = 223 und
ASC("�") ist auch 223, aber so richtig verstehe ich noch nicht warum
R�ckgabe -33 und ebend nicht 223)
Gru�
J�rg
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]