这个例子展示了如何在报告API生成的Microsoft®Word报告中包含Simulink DocB万博1manbetxlock块的内容。模型的例子中,slreportgen_demo_docblock
,只包含DocBlock块,每种DocBlock文档类型对应一个块:
RTF
超文本标记语言
文本
在生成的报告中,DocBlock块的内容如下:
导入API包,以便您可以通过它们的非限定名称引用API类,也就是说,不需要它们所在的类包的名称。
进口mlreportgen.report。*进口slreportgen.report。*进口slreportgen.finder。*进口mlreportgen.dom。*
加载此示例的模型。
模型=“slreportgen_demo_docblock”;load_system(模型);
创建一个容器来保存报表内容。要避免由于模型只包含虚拟块而导致的编译错误,请将CompileModelBeforeReporting
属性假
.
rpt = slreportgen.report.Report (“ModelDoc”,“多克斯”);rpt。CompileModelBeforeReporting = false;
添加标题页和目录。
add (rpt TitlePage (“标题”sprintf (“% s模型文档”模型)));add (rpt, TableOfContents);
找到并遍历模型中的所有系统。
仪= SystemDiagramFinder(模型);为系统=找到(仪)
为每个系统创建一个章节。在章节标题中包含系统名称。使用本章报告系统的DocBlock内容。
ch =章(“标题”sprintf (“系统% s”system.Name));
找到当前系统中的所有DocBlock块。每个结果都返回找到的DocBlock的DocBlock报告器。的添加
方法调用DocBlock报告器。
docBlockFinder = BlockFinder(系统);docBlockFinder。属性= {“MaskType”,“DocBlock”} ';结果=找到(docBlockFinder);如果~ isempty(结果)添加(ch,结果);其他的add (ch,“这个系统没有文档。”);结束add (rpt, ch)结束
关闭并查看报告。
关闭(rpt);close_system(模型);rptview (rpt);
DocBlock|slreportgen.finder.BlockFinder
|slreportgen.finder.BlockResult
|slreportgen.finder.SystemDiagramFinder
|slreportgen.report.DocBlock