Domino 9 und frühere Versionen > ND6: Entwicklung

NotesStream & ByteArray

(1/5) > >>

Don Pasquale:
Hi Folks,

ich möchte mit NotesStream eine BinärDatei erstellen,
als Beispiel habe ich das BodyFeld eines doc welches ich
in eine Datei schreiben möchte.
Ich schreibe zwar die Daten aus dem Body Feld,
aber es wird nur der ASCII Text genommen, alles
was nicht ASCII ist, wird gefiltert. Das will ich verhindern.

Wer weiss Rat ?

Ciao
Don Pasquale

Dim pathname As String
pathname =  PFAD & "\" & "mail.dat"
   
Set stream = session.CreateStream
   
If Not stream.Open(pathname, "binary") Then

Messagebox pathname,, "Open failed"
'   Exit Sub
End If
   
If stream.IsReadOnly Then
   Messagebox pathname,, "File is read-only"
'   Exit Sub
End If
   
If stream.Bytes <> 0 Then
'   Exit Sub
End If
   
Call stream.Truncate
Call stream.WriteText(doc.GetItemValue("Body")(0))
Call stream.Close

Don Pasquale:
Nächster Schritt :

Statt Write Text nehme man nur Write.

Call stream.Write(doc.GetItemValue("Body")(0))

Nun wird aber ein Byte Array benötigt.

Wie packt man ein BodyFeld in ein ByteArray ?

animate:
was liefert denn dieser Ausdruck hier zurück: doc.GetItemValue("Body")(0)

andere Frage: was ist dein Ziel (außer eine Binärdatei zu erstellen)?

Don Pasquale:
doc.GetItemValue("Body")(0)

liefert mir den Inhalt des Bodyfeldes des aktuellen Doc´s.

Was ich will ist, den Inhalt des Body-Feldes ohne verlust irgendwelcher Formatierungsinformation in eine Datei schreiben und später wieder zurückschreiben. Alle Varianten bisher ermöglichten nur das abspeichern des ASCII-Textes, aber das reicht mir nicht.

Deswegen der Weg üer ein ByteArray. Irgendwie muß das ja klappen.

Ciao
Don Pasquale

animate:

--- Zitat von: Don Pasquale am 20.01.04 - 12:29:41 ---doc.GetItemValue("Body")(0)

liefert mir den Inhalt des Bodyfeldes des aktuellen Doc´s.

Was ich will ist, den Inhalt des Body-Feldes ohne verlust irgendwelcher Formatierungsinformation in eine Datei schreiben und später wieder zurückschreiben. Alle Varianten bisher ermöglichten nur das abspeichern des ASCII-Textes, aber das reicht mir nicht.


--- Ende Zitat ---

ich denke nicht, dass du mit
doc.GetItemValue("Body")(0)

irgendwelche Formatierungen auslesen kannst. AFAIK kriegst du da den Text des Feldes (evtl. mit irgendwelchen ASCII-Codes für Zeilenumbrüche oder Tabs), du kriegst aber keine Information darüber, ob da z. B. rote Schrift verwendet wird, oder etwas fett geschrieben ist. Außerdem erhältst du so auch keine Informationen über Attachments oder andere eingebettete Objekte.

Was du tun kannst ist, dein Dokument nach XML zu exportieren, das werden denke ich alle Infos mitgenommen.

Navigation

[0] Themen-Index

[#] Nächste Seite

Zur normalen Ansicht wechseln