Получение первой строки Mleader/Mtext.

Автор Тема: Получение первой строки Mleader/Mtext.  (Прочитано 7455 раз)

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

Тема содержит сообщение с Решением. Нажмите здесь чтобы посмотреть его.

Оффлайн MDAАвтор темы

  • ADN OPEN
  • Сообщений: 20
  • Карма: 0
Здравствуйте!

Вопрос следующего характера - как получить значение первой строки Mleader или Mtext.

Текст следующего характера:
_________________________
56:00:0000000:1 - нужно получить именно эту строку.
Категория - .....................
Собственник - .................
_________________________

Заранее благодарю!

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13898
  • Карма: 1790
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Получение первой строки Mleader/Mtext.
« Ответ #1 : 15-03-2020, 17:06:10 »
Вопрос следующего характера - как получить значение первой строки Mleader или Mtext.
Вопрос не вполне тривиальный. Если переход на новую строку организован правильно (присутствует код "\\P"), то найти его не сложно. А вот если AutoCAD сам выполняет выравнивание текста с переносом на новую строку, то найти какая строка первая не так просто:





Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн MDAАвтор темы

  • ADN OPEN
  • Сообщений: 20
  • Карма: 0
Re: Получение первой строки Mleader/Mtext.
« Ответ #2 : 15-03-2020, 18:49:14 »
\P - переход.

Александр, в таком случае какую команду применить? Я просто начинающий программист и пытаюсь разобраться во всем этом.)

Отмечено как Решение Александр Ривилис 22-03-2020, 13:32:45

Оффлайн Александр Ривилис

  • Administrator
  • *****
  • Сообщений: 13898
  • Карма: 1790
  • Рыцарь ObjectARX
  • Skype: rivilis
Re: Получение первой строки Mleader/Mtext.
« Ответ #3 : 15-03-2020, 20:36:53 »
MDA,
А причем здесь команда? У класса String есть метод, которые позволяют определить позицию "\\P" в строке. Это метод IndexOf. А чтобы получить подстроку от начала и до "\\P" нужно воспользоваться методом Substring(0, i), где i - результат работы IndexOf.
Можно также воспользоваться методом Split('\\P') - получится массив всех строк и выберем по индексу 0 - это и будет первая строка:
https://docs.microsoft.com/en-us/dotnet/api/system.string.split?view=netframework-4.8#System_String_Split_System_Char___
« Последнее редактирование: 16-03-2020, 11:32:05 от Александр Ривилис »
Не забывайте про правильное Форматирование кода на форуме
Создание и добавление Autodesk Screencast видео в сообщение на форуме
Если Вы задали вопрос и на форуме появился правильный ответ, то не забудьте про кнопку Решение

Оффлайн MDAАвтор темы

  • ADN OPEN
  • Сообщений: 20
  • Карма: 0
Re: Получение первой строки Mleader/Mtext.
« Ответ #4 : 15-03-2020, 21:07:54 »
Огромное спасибо!)