Извлечение текста из метки

Автор Тема: Извлечение текста из метки  (Прочитано 4433 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн e.reutАвтор темы

  • ADN OPEN
  • Сообщений: 6
  • Карма: 0
Добрый день!
Пытаюсь извлечь текст из метки на трассе.
Из объекта AlignmentIndexedPILabel
методом
label.GetTextComponentOverride(idText)
И из объекта LabelStyleTextComponent
методом
lstc.Text.Contents.Value
В обоих случаях извлекаются не сами значения полей, а что то подобное
{\fISOCPEUR|b0|i1|c0|p6;\U+041F\U+041A\fISOCPEUR|b0|i1|c0|p10;<[Расширенный пикет ТП(Um|FS|P1|RN|AP|Sn|TP|B2|EN|W0|OF)]>}
или
{\fISOCPEUR|b0|i1|c0|p14;\U+041E\U+0442\U+0432\U+043E\U+0434 <[Дельта-угол(Udeg|FDMSd|P0|RN|AP|Sn|EN|DZY|OF)]>}
Есть ли способ извлекать сами значения?

Оффлайн alz

  • ADN OPEN
  • **
  • Сообщений: 95
  • Карма: 11
Re: Извлечение текста из метки
« Ответ #1 : 08-01-2024, 18:13:49 »
Нет, значения можно извлечь двумя путями:
1 - взять полученное вами форматирование, определить что оно показывает, и подставить вместо этого форматирования информацию из источника метки. (геморно)
2 - вызвать .explode() на метке рекурсивно до получения мтекстов (первоначально метка взрывается на BlockReference) и считать информацию уже из получившегося мтекста (гораздо проще но уже сложно определить что же показывала метка).

Оффлайн e.reutАвтор темы

  • ADN OPEN
  • Сообщений: 6
  • Карма: 0
Re: Извлечение текста из метки
« Ответ #2 : 09-01-2024, 09:08:54 »
Я уже решил это вопрос через определение разницы свойства Direction двух соседних элементов трассы. По сути в коде высчитал графически тоже свойство, что вытягивается в метку из программы.
« Последнее редактирование: 09-01-2024, 16:01:18 от e.reut »