首页 > 解决方案 > 回到 doc.DXL 中?

问题描述

我正在使用 IBM Domino Designer 9.0,但 DXL 有问题。如何返回到 doc.DXL(我创建的)中的行?我尝试使用 \n 和 <\br> 但它不起作用。所以请帮忙。

Code Button : 

Sub Click(Source As Button)
    Dim Stream As NotesStream
    Set Stream=Session.CreateStream
    f=Freefile
    fichier="d:\"+Masque.FieldGetText("nom")+".dxl"
    Open fichier For Output As #f
    Stream.Open(fichier)

    Call Stream.WriteText(|..............................>|)
.........................
    Call Stream.WriteText(|<datamodified>|)
    Call Stream.WriteText(|<datetime dst="true">|+Now+|</datetime>|)
    Call Stream.WriteText(|</datamodified>|)
    Call Stream.WriteText(|<designmodified>|)
    Call Stream.WriteText(|<datetime dst="true">|+Now+|</datetime>|)
    Call Stream.WriteText(|</designmodified>|)
    Call Stream.WriteText(|</databaseinfo>|)
    Call Stream.WriteText(|<form name="|+Masque.FieldGetText("nom")+|" nocompose="true" publicaccess="false" designerversion="8.5.3" recalc="true" renderpassthrough="true">|)
    ...........
Call Stream.WriteText(|<text>test</text>|)
    Call Stream.WriteText(|</item>|)
    Call Stream.WriteText(|</form>|)
    Call Stream.WriteText(|</database>|)
    Stream.Close

End Sub

输出:.................................. 13/04/2019 14:52:56 13/04/2019 14:52: 56 选项 Public Dim Session As NotesSession Dim curDb As NotesDatabase Dim doc As NotesDocument Dim vue As NotesView Dim ws As NotesUIWorkspace Dim Masque As NotesUIDocument Sub Initialize Set Session = New NotesSession Set curDb = Session.CurrentDatabase Set ws = New NotesUIWorkspace End Sub UI.FieldGetText ("tire") Sub Postopen(Source As Notesuidocument) Set Masque = Source End Sub @Command([FileSave]) FIELD saveoptions:="0"; @Command([FileCloseWindow]) @Command([FileSave])

标签: lotus-dominolotusscriptlotuslotus-formulareadxl

解决方案


首先:您在这里混合了两种写入文件的技术。您可以完全省略这些行

f=Freefile
Open fichier For Output As #f

它们属于另一种类型的带有打印命令的写入文件。这里不需要。

第二:你检查过WriteText的文档吗?显然不是,因为这样你就会找到第二个(可选)参数 eol:

bytes& = notesStream .WriteText( text$ , [ eol& ] )

参数 eol:Long 类型的常量。附加到文本的行尾字符。默认值为 EOL_NONE。
- EOL_CR (2) 附加一个回车符 (ASCII 13)。
- EOL_CRLF (0) 附加一个回车和换行 (ASCII 10 + 13)。
- EOL_LF (1) 附加一个换行符 (ASCII 10)。
- EOL_NONE (5) 不附加任何内容。默认。
- EOL_PLATFORM (3) 遵循当前平台的约定。

因此,您的代码中的一行将是:

Call Stream.WriteText(|<datamodified>|, EOL_PLATFORM)

或者

Call Stream.WriteText(|<datamodified>|, EOL_CRLF)

只需为每一行添加第二个参数。


推荐阅读