从数据库到 .Net 控件中的 .rtf 的 LabVIEW 二进制文件
LabVIEW Binary File from Database to .rtf in .Net control
我有一个 vi,我可以像这样将 .rtf 文件保存到数据库中:
稍后,我从数据库中获取文件并将其保存为 .rtf,然后再用另一个 vi 打开它 (rtf viewer.vi):
然而,尽管 rtf viewer.vi 可以处理未上传到数据库的文件,但它无法读取这些文件。在 Notepad++ 中打开一个文件得到以下信息:
Ā萀ĀĀ ᄠĀ
�{\rtf1\ansi\ansicpg1252\deff0\deflang1033\deflangfe1033{\fonttbl{\f0\fswiss\fprq2\fcharset0
Calibri;}{\f1\froman\fprq2\fcharset2 Symbol;}}
\viewkind4\uc1\pard\sa160\sl252\slmult1\b\f0\fs22 Known Issues:\par
\pard\fi-360\li720\sa160\sl252\slmult1\b0\f1\'b7\tab\f0 VI Displays no
error when "Print." is Selected with no printer attached\par
\f1\'b7\tab\f0 Arduino driver does not currently initialize with
startup\par \pard\sa160\sl252\slmult1\b Improvement Points:\par
\pard\fi-360\li720\sa160\sl252\slmult1\b0\f1\'b7\tab\f0 Time numeric
constants are listed in numeric format time format\par \f1\'b7\tab\f0
Does not support test steps longer than 50 days\b\par
\pard\sa160\sl252\slmult1 Change Log:\par
\pard\fi-360\li720\sa160\sl252\slmult1\b0\f1\'b7\tab\f0 [Date] Fixed
Issue with Results Display - JLS\par \f1\'b7\tab\f0 [Date] Added
Arduino Control -JLS\par }
文件确实保存了,但是我的查看器 vi 无法读取它
编辑:
问题出在写入二进制文件时的下载端,我已经能够通过在写入前将变体格式化为字符串来消除它。但是,在写入后我从字符串中删除的每个字节后添加了一个 '/00'
字符:
这里真正的问题是 LabVIEW 字符串作为 I 32 值的数组上传到数据库,因此每个 char
都被填充。因此,我们需要将字符串转换为 u8 数组,以便 LabVIEW 数据库上传 vi 正常工作:
我有一个 vi,我可以像这样将 .rtf 文件保存到数据库中:
稍后,我从数据库中获取文件并将其保存为 .rtf,然后再用另一个 vi 打开它 (rtf viewer.vi):
然而,尽管 rtf viewer.vi 可以处理未上传到数据库的文件,但它无法读取这些文件。在 Notepad++ 中打开一个文件得到以下信息:
Ā萀ĀĀ ᄠĀ
�{\rtf1\ansi\ansicpg1252\deff0\deflang1033\deflangfe1033{\fonttbl{\f0\fswiss\fprq2\fcharset0 Calibri;}{\f1\froman\fprq2\fcharset2 Symbol;}} \viewkind4\uc1\pard\sa160\sl252\slmult1\b\f0\fs22 Known Issues:\par \pard\fi-360\li720\sa160\sl252\slmult1\b0\f1\'b7\tab\f0 VI Displays no error when "Print." is Selected with no printer attached\par \f1\'b7\tab\f0 Arduino driver does not currently initialize with startup\par \pard\sa160\sl252\slmult1\b Improvement Points:\par \pard\fi-360\li720\sa160\sl252\slmult1\b0\f1\'b7\tab\f0 Time numeric constants are listed in numeric format time format\par \f1\'b7\tab\f0 Does not support test steps longer than 50 days\b\par \pard\sa160\sl252\slmult1 Change Log:\par \pard\fi-360\li720\sa160\sl252\slmult1\b0\f1\'b7\tab\f0 [Date] Fixed Issue with Results Display - JLS\par \f1\'b7\tab\f0 [Date] Added Arduino Control -JLS\par }
文件确实保存了,但是我的查看器 vi 无法读取它
编辑:
问题出在写入二进制文件时的下载端,我已经能够通过在写入前将变体格式化为字符串来消除它。但是,在写入后我从字符串中删除的每个字节后添加了一个 '/00'
字符:
这里真正的问题是 LabVIEW 字符串作为 I 32 值的数组上传到数据库,因此每个 char
都被填充。因此,我们需要将字符串转换为 u8 数组,以便 LabVIEW 数据库上传 vi 正常工作: