这个例子演示了如何在报表API生成的Microsoft®Word报表中包含Simulink DocB金宝applock块的内容。模型的例子中,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