Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Bally
Зарегистрирован: 20.11.2006 Сообщения: 19 Откуда: Kiev
|
Добавлено: Вт Ноя 21, 2006 10:35 am Заголовок сообщения: как получить Enumeration по ТеxtElement-у в JMDL |
|
|
Мне нужно получить все элементы из которых состоит ТеxtElement, пользуя метод drop, который должен вернуть полный Enumeration этих элементов, я получаю только первый, такая фигня происходит в версии v8, в более поздних не пробовал, хотя судя по тому, что они забили на JMDL, должно быть тоже самое. |
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Вт Ноя 21, 2006 4:18 pm Заголовок сообщения: |
|
|
Что значит - в более поздних версиях чем v8? В восьмерке JMDL может просто глючить, он нормально работает под семеркой.
На какие элементы надо разбить TextElement?
Желательно привести код. |
|
Вернуться к началу |
|
|
Bally
Зарегистрирован: 20.11.2006 Сообщения: 19 Откуда: Kiev
|
Добавлено: Ср Ноя 22, 2006 1:03 pm Заголовок сообщения: |
|
|
На составляющие его - если воспользоваться стандартной кнопкой - "Drop" в MicroStation - и выбрать - разбивать текст - он разбивается на шейпы и линии, вот их мне и нужно получить
код простой
Enumeration enu = txt.drop();
whlie ( enu.hasMoreElements() )
{
Element el = (Element) enu.nextElement();
System.out.println(" element from txt = " + el );
}// end of while ( enu.hasMoreElements() )
где txt - TextElement полученный из сканирования всего файла, либо из фенса.
Возвращает Enumeration только с 1=м элементом |
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Ср Ноя 22, 2006 2:10 pm Заголовок сообщения: |
|
|
Что пишет println? |
|
Вернуться к началу |
|
|
Bally
Зарегистрирован: 20.11.2006 Сообщения: 19 Откуда: Kiev
|
Добавлено: Ср Ноя 22, 2006 3:30 pm Заголовок сообщения: |
|
|
Честно выдает первый элемент - например Line Element
на этом вывод заканчивается |
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Ср Ноя 22, 2006 8:15 pm Заголовок сообщения: |
|
|
Вот нормально работающий код (MS v7.1)
Разбивает текст, выводит информацию о восьми LineElement,
рисует эти элементы в виде слова
Код: |
TextElement txt;
DPoint oOriginPoint = new DPoint();
try{
txt = new TextElement(null, "WHAT", oOriginPoint, null, null);
for (java.util.Enumeration e = txt.drop(); e.hasMoreElements() ;) {
Element el = (Element)e.nextElement();
System.out.println(el);
DgnKernel.session.redrawElement(el, View.NORMALDRAW, new ViewMask(0));
}
}
catch (com.bentley.dgn.Element.Exception exc){
exc.printStackTrace();
}
|
|
|
Вернуться к началу |
|
|
Bally
Зарегистрирован: 20.11.2006 Сообщения: 19 Откуда: Kiev
|
Добавлено: Чт Ноя 23, 2006 11:17 am Заголовок сообщения: |
|
|
Прекрасно работающий в 7-ке код - не работает в 8-ке, возвращает пустой энумератор, тоесть фор вообще не проходит. (((( |
|
Вернуться к началу |
|
|
Leonid давно здесь сидим
Зарегистрирован: 28.01.2006 Сообщения: 598 Откуда: С.-Петербург
|
Добавлено: Чт Ноя 23, 2006 11:55 am Заголовок сообщения: |
|
|
Ну не судьба значит... что ж поделаешь, если они такую вешчь забросили...
мой совет - переходите на MDL или VBA |
|
Вернуться к началу |
|
|
Bally
Зарегистрирован: 20.11.2006 Сообщения: 19 Откуда: Kiev
|
Добавлено: Пт Ноя 24, 2006 9:52 am Заголовок сообщения: |
|
|
Не, ну выкрутиться всегда можно - МДЛ, ВБА (ucm-ки еще были когда то)))
ПРосто раньше, когда я им (Bentley) писал о глюках, в следующей версии МС (тоесть не 7 - 8, а 7.12 -7.13) они исправляли этот глюк, а теперь любое упоминание о JMDL заканчивается сообщением, что мы на него забили, и больше не занимаемся, и не фиг вообще нам про это писать. |
|
Вернуться к началу |
|
|
|