首页 > 解决方案 > 将 IF 语句添加到 DXL 脚本以检查对象类型?

问题描述

我目前正在开发一个导出到 .tex 文件的 dxl 脚本,该文件然后使用 TexWorks 将导出的格式设置为 pdf。我目前的问题是我在 DOORS 中的表格和数字都是 OLE 对象。我想知道我是否可以放置一个 IF 语句来区分两者,我将如何做呢?我不确定对象类型的 DOORS DXL 脚本中的语法是什么。

void writeFigureHeadAndExport(Stream& oss, Object img, string outputDir)
{
  if (o."Object Type""" == "Figure")
  {
   Module mod = module(img);   
   string n = mod."Prefix"img."Absolute Number"".png";
   string s = exportPicture(img, outputDir "\\" n, formatPNG);   
   oss << "\\begin{figure}[ht]\n";
   oss << "\\centering\n";
   oss << "\\includegraphics[width=\\textwidth]{"n"}\n";
   }

   else
   {
   Module mod = module(img);   
   string n = mod."Prefix"img."Absolute Number"".png";
   string s = exportPicture(img, outputDir "\\" n, formatPNG);   
   oss << "\\begin{table}[ht]\n";
   oss << "\\centering\n";
   oss << "\\includegraphics[width=\\textwidth]{"n"}\n";
   }

}

标签: ibm-doors

解决方案


可以发现 Ole 项的类型,但实现起来非常困难。我建议使用一个附加属性来指定对象中是否包含表格或图形,然后将其用于 IF 语句处理。


推荐阅读