Сообщество программистов Autodesk в СНГ

ADN Club => AutoCAD .NET API => Тема начата: Алексей (IdeaSoft) от 06-11-2015, 18:29:38

Название: Выборка надстрочных индексов в Mtext
Отправлено: Алексей (IdeaSoft) от 06-11-2015, 18:29:38
Привет всем!
Есть содержимое контекста с надстрочными индексными выражениями.
Есть готовое решение AutoCAD получить перечень строк надстрочных индексов?

Пока мне задача видеться в виде разбора строки контекста.

Покажу на примере. Есть строка контекста Mtext.context = "\A1;ПК4\S77a^;+52,2 (ПК1\S85^;+92,0)"
В данном примере нужно получить набор верхних индексов, т.е. "77a" и "85"
Я так понял подстрока "\S" - это начало выражения верхнего индекса
                                      "^;" - это завершение индексного выражения, ну ";"  - это вроде завершение характерного блока контекста.

Но может есть уже AutoCAD готовое решение?

В общем если формат контекста гарантирует символы "\S", "^;" то буду делать так:

Код - vb.net [Выбрать]
  1. Public Shared Function GetIndexesFrom_Mtext(ByVal MtextContext As String) As List(Of String)
  2.             Dim s As List(Of String) = New List(Of String) ' список результата строк
  3.             Try
  4.                 Dim b() As String = MtextContext.Split("^;")
  5.                 For i As Integer = 0 To b.Length - 1
  6.                     s.Add(b(i).Split("\S")(1))  ' добавляем индексное выражение
  7.                 Next
  8.             Catch ex As System.Exception
  9.             End Try
  10.             Return s
  11. End Function
  12.  

Название: Re: Выборка надстрочных индексов в Mtext
Отправлено: Александр Пекшев aka Modis от 06-11-2015, 18:47:57
Пока мне задача видеться в виде разбора строки контекста
Думаю, правильно видится )) В автокаде есть специальные управляющие коды для форматирования текста. На скорую руку вот (http://a-cad.ru/format) нашел. В принципе, методом научного тыка, можно и самому разобраться
Еще можно найти кучу решений по очистке форматирования (хотя - зачем?)
Название: Re: Выборка надстрочных индексов в Mtext
Отправлено: Александр Ривилис от 06-11-2015, 19:04:58
Мне кажется, что мы уже это обсуждали: Получить содержимое строки верхнего или нижнего индексов в строке Mtext (http://adn-cis.org/forum/index.php?topic=1726.msg6450#msg6450)
Название: Re: Выборка надстрочных индексов в Mtext
Отправлено: Алексей (IdeaSoft) от 06-11-2015, 19:10:27
Мне кажется, что мы уже это обсуждали
Спасибо!
Точно уже говорили об этом просто уже время прошло забыл о том что говорили.