Examples: Truncate method
This agent opens a stream for a file and writes to it. If the file already has content, the agent asks the user whether to abort. If the user chooses to proceed, the agent asks the user whether to rewrite the file or append to it. If the user chooses to rewrite, the agent truncates the stream before writing to it.
%INCLUDE "lsconst.lss"
Sub Initialize
Dim session As NotesSession
Dim db As NotesDatabase
Dim dc As NotesDocumentCollection
Dim doc As NotesDocument
Dim stream As NotesStream
Dim pathname As String
pathname = "c:\StreamFiles\"
Set session = New NotesSession
Set db = session.CurrentDatabase
Set dc = db.UnprocessedDocuments
Set doc = dc.GetFirstDocument
Set stream = session.CreateStream
pathname = pathname & doc.GetItemValue("Subject")(0) & ".txt"
If Not stream.Open(pathname, "ASCII") 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
If Messagebox("Do you want to abort?", _
MB_YESNO + MB_ICONQUESTION, _
"File exists and has content?") = IDYES Then
Exit Sub
End If
If Messagebox("Do you want to replace the old content?", _
MB_YESNO + MB_ICONQUESTION, _
"Rewrite or append?") = IDYES Then
Call stream.Truncate
Else
Call stream.WriteText(Chr(13) & Chr(10))
End If
End If
Call stream.WriteText(doc.GetItemValue("Body")(0))
Call stream.Close
End Sub