lotus-domino - 回到 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])
解决方案
首先:您在这里混合了两种写入文件的技术。您可以完全省略这些行
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)
只需为每一行添加第二个参数。
推荐阅读
- vb.net - 在 Visual Basic 中列出没有文件路径的 ListBox 中的文件
- c# - 如何使 MediaElement 在 C# wpf .NET Framework MVVM 内工作
- java - java.sql.SQLFeatureNotSupportedException:方法 org.postgresql.jdbc.PgResultSet.getNString(int) 尚未实现
- wso2 - 如何在 WSO2 中为端口 9711 禁用 TLS 1.0、TLS 1.1
- math - 我们如何识别一组近似矩形的像素?
- regex - 正则表达式忽略最后一个空格
- blazor - 在 Blazor WebAssembly 中将程序集添加到客户端的浏览器
- reporting-services - SSRS 2019 - 如何重复包含嵌套矩阵的表的标题行?
- php - 此请求没有可用的响应数据
- javascript - chartjs - 仅删除标签而不是文本