Domino 9 und frühere Versionen > ND6: Entwicklung
NotesStream & ByteArray
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