DXL-скрипт для изменения определенных слов в строках на курсив - PullRequest
0 голосов
/ 07 июня 2019

Я новичок в DXL и изучаю. Я хочу проверить в модулях все атрибуты для определенных слов, чтобы изменить их на курсив.

Пример:

конкретное слово = изменить

перед сценарием DXL в атрибуте / столбце A: «Это требование должно измениться»

после сценария DXL в атрибуте / столбце A: «Это требование должно изменить »

Фрагмент кода

for itemRef in f do
{

if(shType=="Formal")
      {
        filtering off;    
        m = read(fullName(itemRef), false)          
        Object o
        for o in m do 
       {

       //Operation for changing words to italic


       }

        close(moduleReference);
      }
}

Обновленный код

void ChangeItalic()
    {

      Module m = current
      filtering off;          
      Object o
      for o in m do
    {
      int i, j

      string t = o."Object Text" 
      string ModuleName = m."Name"
      string ObjectName = identifier(o)
      print ModuleName "\n"
      print ObjectName "\n"
      print t

      if(matches("[Ll]astenheft",t)){
        print "changed" "\n"
        i = start 0
        j = end 0
        t = t[0:(i-1)] "\\i " t[match 0] "\\i0 " t[j+1:]
        o."Object Text" = richText t


      }

}
}

// Main-Method
void main(void)
{

  ChangeItalic();

}
main()

1 Ответ

1 голос
/ 13 июня 2019

Вот "кишки" вашего скрипта:

Object o = current
int i, j
string t = o."Object Text"
if (matches("[Cc]hange", t)){
    i = start 0
    j = end 0
    t = t[0:(i-1)] "\\i " t[match 0] "\\i0 " t[j+1:]
    o."Object Text" = richText t
}

этот скрипт будет работать с текущим объектом и изменит слово "изменить" на курсив, если оно находится внутри объекта. Текст будет другим, если вы хотите отобразить только.

К сожалению, я не знаю, хотите ли вы отобразить слово курсивом (в столбце) или заменить слово курсивом в атрибуте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...