Как вы получаете полосовое RTF-форматирование и получаете фактическое значение строки, используя DXL в DOORS? - PullRequest
0 голосов
/ 04 марта 2019

Я пытаюсь получить значения в столбце «ID» DOORS, и в настоящее время я делаю это
string ostr = richtext_identifier (o)

Когда я пытаюсь напечатать ostr, в некоторых модулях яполучить только удостоверение личности (что я и хочу).Но в других модулях я получу такие значения, как "{\ rtf1 \ ansi \ ansicpg1256 \ deff0 \ nouicompat {\ fonttbl {\ f0 \ fnil \ fcharset0 Times New Roman;} {\ f1 \ froman \ fcharset0 Times New Roman;}} {* \ generator Riched20 10.0.17134} \ viewkind4 \ uc1 \ pard \ f0 \ fs20 \ lang1033 SS_ \ f1 \ fs24 100 \ par} "Это значение RTF, и мне интересно, как лучше всего убрать это форматирование и получитьтолько значение.

Возможно, есть и другой способ решить эту проблему, о котором я тоже не думаю.Любая помощь будет оценена.

Ответы [ 2 ]

0 голосов
/ 08 марта 2019

Другим решением является использование функции identifier , которая принимает Object в качестве входного параметра и возвращает идентификатор в виде простой (не RTF) строки:

Объявление строковый идентификатор (Объект o) Операция Возвращает идентификатор, представляющий собой комбинацию абсолютного числа и префикса модуля, объекта o в виде строки.

Оптимальное решение в некоторой степени зависит от вашегоосновное требование для получения идентификатора объекта.

0 голосов
/ 04 марта 2019

Таким образом, столбец идентификатора DOORS фактически является составным - DOORS строит его из атрибута уровня модуля «Префикс» и атрибута уровня объекта «Абсолютное число».

Если вы хотите получить это значение вВ будущем я бы сделал следующее (используя ваши переменные)

string ostr = ( module ( o ) )."Prefix" o."Absolute Number" ""

Это противоположно следующему, которое (несмотря на то, что он выглядит как действительный атрибут в диалоговом окне вставки столбца) НЕ РАБОТАЕТ.

string ostr = o."Object Identifier" ""

Надеюсь, это поможет!

Ответ на комментарий: Вам не нужно знать имя модуля, чтобы код работал.Я успешно проверил следующее на DOORS 9.6.1.10:

Object o = current

string ostr = ( module ( o ) )."Prefix" o."Absolute Number" ""

print ostr
...