DOOR DXL:Windows 7中的richText方法

时间:2013-08-20 14:00:43

标签: windows-7 ibm-rad ibm-doors

我想使用richText方法将对象文本指定为rtf文本。 我对rtf中的表格有一种奇怪的行为。

使用相同的代码==表格出现在Windows XP中的对象文本中,但不会出现在Windows 7中。 这是Windows 7中的一个已知问题吗?

            Object o = current



             o."Object Text" = richText("{\\rtf1 \\viewkind4 
            {\\colortbl;\\red0\\green0\\blue0;}
            {\\stylesheet
                {\\s1\\fs20 heading 1;}
                {\\s2\\fs20 heading 2;}
                {\\s17\\fs20 Body Text;}
                {\\s22\\fs20 List Bullet;}
            }
            {\\info}


            \\pard\\plain \\s17 \\fs20 {Here is a table:\\par}

            \\trowd\\trhdr\\trqc\\trbrdrt\\brdrs\\brdrw30\\trbrdrb\\brdrs\\brdrw30\\trbrdrl\\brdrs\\brdrw30\\trbrdrr\\brdrs\\brdrw30\\trbrdrh\\brdrs\\brdrw15\\trbrdrv\\brdrs\\brdrw15\\plain\\pard\\s17 \\fs20 \\trgaph70\\intbl 
            \\clbrdrt\\brdrs\\clbrdrb\\brdrs\\clbrdrl\\brdrs\\clbrdrr\\brdrs\\cellx4530
            \\clbrdrt\\brdrs\\clbrdrb\\brdrs\\clbrdrl\\brdrs\\clbrdrr\\brdrs\\cellx9060 \\pard\\plain \\b\\qc \\intbl{Column One\\cell }\\pard\\plain \\b\\qc \\intbl{Column Two\\cell }\\row 

            \\trowd\\trqc\\trbrdrt\\brdrs\\brdrw30\\trbrdrb\\brdrs\\brdrw30\\trbrdrl\\brdrs\\brdrw30\\trbrdrr\\brdrs\\brdrw30\\trbrdrh\\brdrs\\brdrw15\\trbrdrv\\brdrs\\brdrw15\\plain\\pard\\s17 \\fs20 \\trgaph70\\intbl 
            \\clbrdrt\\brdrs\\clbrdrb\\brdrs\\clbrdrl\\brdrs\\clbrdrr\\brdrs\\cellx4530
            \\clbrdrt\\brdrs\\clbrdrb\\brdrs\\clbrdrl\\brdrs\\clbrdrr\\brdrs\\cellx9060 \\pard\\plain \\s17 \\fs20 \\intbl{Item One\\cell }\\pard\\plain \\s17 \\fs20 \\intbl{Value One\\cell }\\row 

            \\trowd\\trqc\\trbrdrt\\brdrs\\brdrw30\\trbrdrb\\brdrs\\brdrw30\\trbrdrl\\brdrs\\brdrw30\\trbrdrr\\brdrs\\brdrw30\\trbrdrh\\brdrs\\brdrw15\\trbrdrv\\brdrs\\brdrw15\\plain\\pard\\s17 \\fs20 \\trgaph70\\intbl 
            \\clbrdrt\\brdrs\\clbrdrb\\brdrs\\clbrdrl\\brdrs\\clbrdrr\\brdrs\\cellx4530
            \\clbrdrt\\brdrs\\clbrdrb\\brdrs\\clbrdrl\\brdrs\\clbrdrr\\brdrs\\cellx9060 \\pard\\plain \\s17 \\fs20 \\intbl{Item Two\\cell }\\pard\\plain \\s17 \\fs20 \\intbl{Value Two\\cell }\\row 

            \\trowd\\trqc\\trbrdrt\\brdrs\\brdrw30\\trbrdrb\\brdrs\\brdrw30\\trbrdrl\\brdrs\\brdrw30\\trbrdrr\\brdrs\\brdrw30\\trbrdrh\\brdrs\\brdrw15\\trbrdrv\\brdrs\\brdrw15\\plain\\pard\\s17 \\fs20 \\trgaph70\\intbl 
            \\clbrdrt\\brdrs\\clbrdrb\\brdrs\\clbrdrl\\brdrs\\clbrdrr\\brdrs\\cellx4530
            \\clbrdrt\\brdrs\\clbrdrb\\brdrs\\clbrdrl\\brdrs\\clbrdrr\\brdrs\\cellx9060 \\pard\\plain \\s17 \\fs20 \\intbl{Item Three\\cell }\\pard\\plain \\s17 \\fs20 \\intbl{Value Three\\cell }\\row 

            \\pard\\plain \\s17 \\fs20 {\\par}

            }")



             string attr =  o."Object Text"
             print attr 

这是Windows XP中的屏幕截图

enter image description here

这就是7

enter image description here

1 个答案:

答案 0 :(得分:1)

我在使用您的代码时看到了同样的问题。但是,当我将RTF表从XP复制到Windows 7中的DOORS时,表格显示正常。所以我运行了一个简短的脚本来查看RTF代码的不同之处:

Object o = current
print richText(o."Object Text")

这是输出:

{\\rtf1\\ansi\\ansicpg1252\\deff0{\\fonttbl{\\f0\\fnil\\fcharset0 Tahoma;}}
{\\*\\generator Msftedit 5.41.21.2510;}\\viewkind4\\uc1\\trowd\\trgaph70\\trpaddl70\\trpaddr70\\trpaddfl3\\trpaddfr3
\\cellx4530\\cellx9060\\pard\\intbl\\qc\\lang1033\\b\\f0\\fs20 Column One\\cell Column Two\\cell\\row\\trowd\\trgaph70\\trpaddl70\\trpaddr70\\trpaddfl3\\trpaddfr3
\\cellx4530\\cellx9060\\pard\\intbl\\b0 Item One\\cell Value One\\cell\\row\\trowd\\trgaph70\\trpaddl70\\trpaddr70\\trpaddfl3\\trpaddfr3
\\cellx4530\\cellx9060\\pard\\intbl Item Two\\cell Value Two\\cell\\row\\trowd\\trgaph70\\trpaddl70\\trpaddr70\\trpaddfl3\\trpaddfr3
\\cellx4530\\cellx9060\\pard\\intbl Item Three\\cell Value Three\\cell\\row\\pard\\par
}

我认为您的代码中可能会遗漏一些标记,这些标记可以在Windows 7和XP上运行。如果用这段代码替换你的RTF,它可以在XP和7中使用。

相关问题