Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2008/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 如何在现有Rtf文档中引入新的格式说明符_.net_Vb.net_Richtextbox_Rtf_Richtext - Fatal编程技术网

.net 如何在现有Rtf文档中引入新的格式说明符

.net 如何在现有Rtf文档中引入新的格式说明符,.net,vb.net,richtextbox,rtf,richtext,.net,Vb.net,Richtextbox,Rtf,Richtext,我试图扩展使用RTF的宏解析器的功能。 (VB.NET RichTextBox的自定义重载) 解析器为RTF创建一个标头,并逐行输入格式代码。 这只能处理单行表达式,我希望能够解析多行语句。 为此,我创建了一个在第一个解析器之后运行的函数,并重新解析多行语句 我面临的问题是,当我试图从RichTextBox(RichTextBox.Rtf)读取现有文本时,它返回先前输入的RichText的简化版本,不再包含整个标题,只包含使用过的位 然后,当我尝试用应该识别的新格式代码替换某些行时,它失败了 然

我试图扩展使用RTF的宏解析器的功能。 (VB.NET RichTextBox的自定义重载) 解析器为RTF创建一个标头,并逐行输入格式代码。 这只能处理单行表达式,我希望能够解析多行语句。 为此,我创建了一个在第一个解析器之后运行的函数,并重新解析多行语句

我面临的问题是,当我试图从RichTextBox(RichTextBox.Rtf)读取现有文本时,它返回先前输入的RichText的简化版本,不再包含整个标题,只包含使用过的位

然后,当我尝试用应该识别的新格式代码替换某些行时,它失败了

然后我尝试嵌套另一个标题,但这根本不起作用

这是一个RTF,没有像以前那样进行多行分析

{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset1 MS Reference Sans Serif;}{\f1\fnil\fcharset1 MS Reference Sans Serif;}{\f2\fnil\fcharset1 MS Reference Sans Serif;}{\f3\fnil\fcharset1 MS Reference Sans Serif;}{\f4\fnil\fcharset1 MS Reference Sans Serif;}{\f5\fnil\fcharset1 MS Reference Sans Serif;}{\f6\fnil\fcharset1 MS Reference Sans Serif;}{\f7\fnil\fcharset1 MS Reference Sans Serif;}{\f8\fnil\fcharset1 MS Reference Sans Serif;}{\f9\fnil\fcharset1 MS Reference Sans Serif;}{\f10\fnil\fcharset1 MS Reference Sans Serif;}{\f11\fnil\fcharset1 MS Reference Sans Serif;}{\f12\fnil\fcharset1 MS Reference Sans Serif;}}{\colortbl ;\red255\green255\blue255;\red0\green0\blue0;\red255\green255\blue255;\red0\green0\blue255;\red255\green255\blue255;\red70\green130\blue180;\red255\green255\blue255;\red220\green20\blue60;\red255\green255\blue255;\red165\green42\blue42;\red255\green255\blue255;\red128\green0\blue0;\red255\green255\blue255;\red0\green128\blue0;\red255\green255\blue255;\red0\green0\blue0;\red255\green255\blue255;\red184\green134\blue11;\red255\green255\blue255;\red47\green79\blue79;\red255\green255\blue255;\red255\green0\blue0;\red255\green255\blue255;\red138\green43\blue226;\red255\green255\blue255;\red147\green112\blue219;}\viewkind4\uc1\pard\lang1031\fs16 \f0\cb1\cf2\b\i0\ulnone  
f6\cb13\cf14\b\i0\ulnone ! MultiMess7 macro header. Please fill in information and uncomment lines:\f0\cb1\cf2\b\i0\ulnone \par
\f6\cb13\cf14\b\i0\ulnone !-------------------------------------------------------------------------------------\f0\cb1\cf2\b\i0\ulnone \par
\f6\cb13\cf14\b\i0\ulnone ! >>> Please set user and technology <<< \f0\cb1\cf2\b\i0\ulnone \par
\f1\cb3\cf4\b\i0\ulnone SET\f0\cb1\cf2\b\i0\ulnone  \f9\cb19\cf20\b\i0\ulnone user\f0\cb1\cf2\b\i0\ulnone =\par
\f1\cb3\cf4\b\i0\ulnone SET\f0\cb1\cf2\b\i0\ulnone  \f9\cb19\cf20\b\i0\ulnone technology\f0\cb1\cf2\b\i0\ulnone =\par
\f6\cb13\cf14\b\i0\ulnone !-------------------------------------------------------------------------------------\f0\cb1\cf2\b\i0\ulnone \par
\f6\cb13\cf14\b\i0\ulnone ! SET lot=@LOT\f0\cb1\cf2\b\i0\ulnone \par
\f6\cb13\cf14\b\i0\ulnone ! SET wafer=@WAFER\f0\cb1\cf2\b\i0\ulnone \par
\f6\cb13\cf14\b\i0\ulnone ! SET slot=@SLOT\f0\cb1\cf2\b\i0\ulnone \par
\f6\cb13\cf14\b\i0\ulnone ! SET diex=@DIEX\f0\cb1\cf2\b\i0\ulnone \par
\f6\cb13\cf14\b\i0\ulnone ! SET diey=@DIEY\f0\cb1\cf2\b\i0\ulnone \par
\f6\cb13\cf14\b\i0\ulnone ! SET xy=DIE_x$diex&y$diey\f0\cb1\cf2\b\i0\ulnone \par
\f6\cb13\cf14\b\i0\ulnone ! SET temp=@TEMP\f0\cb1\cf2\b\i0\ulnone \par
\f6\cb13\cf14\b\i0\ulnone ! SET path=G:\\04_Auftraege\\\f0\cb1\cf2\b\i0\ulnone \par
\f6\cb13\cf14\b\i0\ulnone ! SET file=$technology&_$lot&_$wafer&_$xy&\f0\cb1\cf2\b\i0\ulnone \par
\f6\cb13\cf14\b\i0\ulnone !---------------------------------------------------------------\f0\cb1\cf2\b\i0\ulnone \par
\f6\cb13\cf14\b\i0\ulnone ! PICTURE File=$path&\\$file&\f0\cb1\cf2\b\i0\ulnone \par
\f6\cb13\cf14\b\i0\ulnone ! SAVE_DATA File=$path&\\$file&.DAT\f0\cb1\cf2\b\i0\ulnone \par
\f6\cb13\cf14\b\i0\ulnone !---------------------------------------------------------------\f0\cb1\cf2\b\i0\ulnone \par
\par
}
它显示为默认的黑色文本


我可以附加新的格式说明符而不在外部存储RTF吗?旧的解析器一次只能处理片段,我的新函数需要整个文本,然后我使用RichTextBox.text。

我解决了它。您可以通过RichTextBox的SelectedRtf属性将带有新标题的其他富格文本注入现有富格文本

myRTB.SelectedRtf = "{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset1 MS Reference Sans Serif;}{\f1\fnil\fcharset1 MS Reference Sans Serif;}{\f2\fnil\fcharset1 MS Reference Sans Serif;}{\f3\fnil\fcharset1 MS Reference Sans Serif;}{\f4\fnil\fcharset1 MS Reference Sans Serif;}{\f5\fnil\fcharset1 MS Reference Sans Serif;}{\f6\fnil\fcharset1 MS Reference Sans Serif;}{\f7\fnil\fcharset1 MS Reference Sans Serif;}{\f8\fnil\fcharset1 MS Reference Sans Serif;}{\f9\fnil\fcharset1 MS Reference Sans Serif;}{\f10\fnil\fcharset1 MS Reference Sans Serif;}{\f11\fnil\fcharset1 MS Reference Sans Serif;}{\f12\fnil\fcharset1 MS Reference Sans Serif;}}{\colortbl ;\red255\green255\blue255;\red0\green0\blue0;\red255\green255\blue255;\red0\green0\blue255;\red255\green255\blue255;\red70\green130\blue180;\red255\green255\blue255;\red220\green20\blue60;\red255\green255\blue255;\red165\green42\blue42;\red255\green255\blue255;\red128\green0\blue0;\red255\green255\blue255;\red0\green128\blue0;\red255\green255\blue255;\red0\green0\blue0;\red255\green255\blue255;\red184\green134\blue11;\red255\green255\blue255;\red47\green79\blue79;\red255\green255\blue255;\red255\green0\blue0;\red255\green255\blue255;\red138\green43\blue226;\red255\green255\blue255;\red147\green112\blue219;}\viewkind4\uc1\pard\lang1031\fs16 \f0\cb1\cf2\b\i0\ulnone 
\f3\cb7\cf8\b\i0\ulnone $U2\f12\cb25\cf26\b\i0\ulnone  = \f12\cb25\cf26\b\i0\ulnone math.log(\f5\cb11\cf12\b\i0\ulnone §U_SMU1\f12\cb25\cf26\b\i0\ulnone *\f8\cb17\cf18\b\i0\ulnone 2\f12\cb25\cf26\b\i0\ulnone )\par
\f3\cb7\cf8\b\i0\ulnone $U3\f12\cb25\cf26\b\i0\ulnone  = \f12\cb25\cf26\b\i0\ulnone math.sin(\f5\cb11\cf12\b\i0\ulnone §U_SMU1\f12\cb25\cf26\b\i0\ulnone \f12\cb25\cf26\b\i0\ulnone )\par
\f12\cb25\cf26\b\i0\ulnone var = \f12\cb25\cf26\b\i0\ulnone math.cos(\f3\cb7\cf8\b\i0\ulnone $U3\f12\cb25\cf26\b\i0\ulnone \f12\cb25\cf26\b\i0\ulnone )\par
\f12\cb25\cf26\b\i0\ulnone hello(\f9\cb19\cf20\b\i0\ulnone 'hi' \f12\cb25\cf26\b\i0\ulnone \f12\cb25\cf26\b\i0\ulnone )\par
\f12\cb25\cf26\b\i0\ulnone import \f12\cb25\cf26\b\i0\ulnone time\par
\par
}"
\f3\cb7\cf8\b\i0\ulnone $U2\f12\cb25\cf26\b\i0\ulnone  = \f12\cb25\cf26\b\i0\ulnone math.log(\f5\cb11\cf12\b\i0\ulnone §U_SMU1\f12\cb25\cf26\b\i0\ulnone *\f8\cb17\cf18\b\i0\ulnone 2\f12\cb25\cf26\b\i0\ulnone )\par
\f3\cb7\cf8\b\i0\ulnone $U3\f12\cb25\cf26\b\i0\ulnone  = \f12\cb25\cf26\b\i0\ulnone math.sin(\f5\cb11\cf12\b\i0\ulnone §U_SMU1\f12\cb25\cf26\b\i0\ulnone \f12\cb25\cf26\b\i0\ulnone )\par
\f12\cb25\cf26\b\i0\ulnone var = \f12\cb25\cf26\b\i0\ulnone math.cos(\f3\cb7\cf8\b\i0\ulnone $U3\f12\cb25\cf26\b\i0\ulnone \f12\cb25\cf26\b\i0\ulnone )\par
\f12\cb25\cf26\b\i0\ulnone hello(\f9\cb19\cf20\b\i0\ulnone 'hi' \f12\cb25\cf26\b\i0\ulnone \f12\cb25\cf26\b\i0\ulnone )\par
\f12\cb25\cf26\b\i0\ulnone import \f12\cb25\cf26\b\i0\ulnone time\par
\par
}
myRTB.SelectedRtf = "{\rtf1\ansi\deff0{\fonttbl{\f0\fnil\fcharset1 MS Reference Sans Serif;}{\f1\fnil\fcharset1 MS Reference Sans Serif;}{\f2\fnil\fcharset1 MS Reference Sans Serif;}{\f3\fnil\fcharset1 MS Reference Sans Serif;}{\f4\fnil\fcharset1 MS Reference Sans Serif;}{\f5\fnil\fcharset1 MS Reference Sans Serif;}{\f6\fnil\fcharset1 MS Reference Sans Serif;}{\f7\fnil\fcharset1 MS Reference Sans Serif;}{\f8\fnil\fcharset1 MS Reference Sans Serif;}{\f9\fnil\fcharset1 MS Reference Sans Serif;}{\f10\fnil\fcharset1 MS Reference Sans Serif;}{\f11\fnil\fcharset1 MS Reference Sans Serif;}{\f12\fnil\fcharset1 MS Reference Sans Serif;}}{\colortbl ;\red255\green255\blue255;\red0\green0\blue0;\red255\green255\blue255;\red0\green0\blue255;\red255\green255\blue255;\red70\green130\blue180;\red255\green255\blue255;\red220\green20\blue60;\red255\green255\blue255;\red165\green42\blue42;\red255\green255\blue255;\red128\green0\blue0;\red255\green255\blue255;\red0\green128\blue0;\red255\green255\blue255;\red0\green0\blue0;\red255\green255\blue255;\red184\green134\blue11;\red255\green255\blue255;\red47\green79\blue79;\red255\green255\blue255;\red255\green0\blue0;\red255\green255\blue255;\red138\green43\blue226;\red255\green255\blue255;\red147\green112\blue219;}\viewkind4\uc1\pard\lang1031\fs16 \f0\cb1\cf2\b\i0\ulnone 
\f3\cb7\cf8\b\i0\ulnone $U2\f12\cb25\cf26\b\i0\ulnone  = \f12\cb25\cf26\b\i0\ulnone math.log(\f5\cb11\cf12\b\i0\ulnone §U_SMU1\f12\cb25\cf26\b\i0\ulnone *\f8\cb17\cf18\b\i0\ulnone 2\f12\cb25\cf26\b\i0\ulnone )\par
\f3\cb7\cf8\b\i0\ulnone $U3\f12\cb25\cf26\b\i0\ulnone  = \f12\cb25\cf26\b\i0\ulnone math.sin(\f5\cb11\cf12\b\i0\ulnone §U_SMU1\f12\cb25\cf26\b\i0\ulnone \f12\cb25\cf26\b\i0\ulnone )\par
\f12\cb25\cf26\b\i0\ulnone var = \f12\cb25\cf26\b\i0\ulnone math.cos(\f3\cb7\cf8\b\i0\ulnone $U3\f12\cb25\cf26\b\i0\ulnone \f12\cb25\cf26\b\i0\ulnone )\par
\f12\cb25\cf26\b\i0\ulnone hello(\f9\cb19\cf20\b\i0\ulnone 'hi' \f12\cb25\cf26\b\i0\ulnone \f12\cb25\cf26\b\i0\ulnone )\par
\f12\cb25\cf26\b\i0\ulnone import \f12\cb25\cf26\b\i0\ulnone time\par
\par
}"