RUS  ENG 

Kostya_LeoG (Все сообщения пользователя)

Выбрать дату в календареВыбрать дату в календаре

Страницы: Пред. 1 2 3 4 5 След.
Выделение по атрибутам
 
Здравствуйте! Подскажите, пожалуйста, как "поймать" событие "MapQueryByAttributes - Запрос к графическим атрибутам" (выделение по атрибутам), возникающее при щелчке по соответствующей кнопке с панели TMapToolBar?  Назначенное событие на компонент TMapToolBar.OnEnter  не срабатывает ни при щелчке по кнопкам, ни при наведении курсора, а хотелось бы узнать хотя бы индекс кнопки...
    Причем событие выделения, как результат выполнения "ToolRectSel - Выделение прямоугольником", "ToolPolygonSel - Выделение многоугольником", "MapQueryByAttributes - Запрос к графическим атрибутам" и др., в принципе ловятся в TMapCtrl.OnSeleChanged(LayerIndex As Long).
SQL запрос
 
Спасибо за оперативный ответ, буду разбираться со скриптом.
SQL запрос
 
Здравствуйте. Подскажите, пожалуйста, как обновить поле "Условный диаметр на подающем (обратном)" для задвижки значениями диаметров подающего (обратного) трубопроводов, полученных в результате конструкторского расчетов с использованием пространственных sql запросов, при условии, что задвижка находится в начале (конце) участка?
Расширенное управление надписью
 
Все понятно. Спасибо за разъяснения.
Расширенное управление надписью
 
Понятно, плохо, что для текущей версии <blockquote>Цитата:<hr size="1" noshade><i>Можно разработать интеллектуальное кэширование...</i><hr size="1" noshade></blockquote> не будет сделано.
Я так понимаю, что при каждом обновлении данных нужно вызывать SetLabelLayer, если не использовать кэш?
Расширенное управление надписью
 
Здравствуйте. Трудностей в общем-то не возникает, но есть пожелание как-то оптимизировать код. Есть еще одно предложение по оптимизации динамически создаваемых надписей и надписей в целом: при обновлении значений программа "замирает", переписывая все надписи, при этом не видно процесса хода выполнения, что для пользователя (Заказчика) не всегда очевидно.  Возможно ли переписывать надписи и кэш вначале над видимой областью, чтобы для пользователя сложилось впечатление, что все выполнение обновления, например, после выполнения расчета, выполняется на лету? То есть хочется организовать обновление надписей по принципу tile-вой системы: видимая область изменилась, и если не существует кэш для этой области, то он формируется и обновляются надписи для измененной видимой области. Рано или поздно пользователь "проползет" по всей карте и, таким образом, сформируется кэш для всего слоя с новыми значениями, но, как правило, в каждый момент времени пользователя интересует конкретный район, то есть видимая область карты. Насколько это сложно будет реализовать? И если возможно, то в каком релизе ожидать?
Расширенное управление надписью
 
Здравствуйте. Есть предложение: раз Вы пообещали <blockquote>Цитата:<hr size="1" noshade><i>Для LabelFields можем добавить UpdateItem, чтобы Remove+Insert не вызывать.</i><hr size="1" noshade></blockquote>, то может быть добавить метод, который одновременно выполнял и обновление полей и запись в слой, то есть объединить с Layer.LabelLayers.SetLabelLayer(tmpLabelLayer ........)?
Расширенное управление надписью
 
Спасибо, вроде бы работает... tmpLField[i].Prefix := lField.Prefix; ShowMessage(tmpLField[i].Prefix);
Расширенное управление надписью
 
Подскажите еще пожалуйста, почему не присваивается префикс, постфикс, шрифт, размер шрифта и перенос строки от надписи, которая берется в качестве шаблона? Такое ощущение что RemoveItem/InsertItem не срабатывают. Привожу код ниже
<hr size="1" width="90%" noshade>
lField:ILabelField;
lFields:ILabelFields;
...............
       lFields := Layer.LabelLayer.LabelFields;
       cnt := lFields.Count;
       for i := 0 to cnt -1 do
       begin
              tmpLField[i] := CoLabelField.Create;
              lField := lFields.Item[i];
              tmpLField[i].FieldName := 'LabelPar' + IntToStr(1+i);
              tmpLField[i].NumDigits := lField.NumDigits;
              tmpLField[i].FontColor := lField.FontColor;
              tmpLField[i].Prefix := lField.Prefix;
              tmpLField[i].Postfix := lField.Postfix;
              tmpLField[i].Font := lField.Font;
               cnt > 1 then tmpLField[0].LineBreak := true;
              tmpLabelLayer.LabelFields.RemoveItem(i);  //удаляем старое поле и на его место новое
              tmpLabelLayer.LabelFields.InsertItem(i,tmpLField[i]);

        end;
<hr size="1" width="90%" noshade>
Расширенное управление надписью
 
Спасибо за разъяснение. Если сделаете<blockquote>Цитата:<hr size="1" noshade><i>Для LabelFields можем добавить UpdateItem, чтобы Remove+Insert не вызывать.</i><hr size="1" noshade></blockquote>, то будет здорово...
Расширенное управление надписью
 
Здравствуйте. Можно ли программно изменить префикс (постфикс) для существующей надписи, например, так tmpLabelLayer.LabelFields.Item[i].Prefix := '+'; или для этого нужно каждый раз обновлять все поля LabelFields, как в предыдущем примере <blockquote>Цитата:<hr size="1" noshade><i>Dim L As LabelLayer
Dim F1 As LabelField
.....
L.LabelFields.RemoveItem 0
L.LabelFields.InsertItem 0, F1 </i><hr size="1" noshade></blockquote>, тоже, наверное, относится и к настройке/изменению шрифтов в надписи. И еще: при создании надписи программно, видимо, по умолчанию настраивается ориентация, доступно только выравнивание, например так -    tmpLabelLayer.align := eNorth; (Над объектом), а опция "Вдоль линии" недоступна для программного изменения.
Расчеты ТС
 
Здравствуйте! Подскажите, пожалуйста, как программно узнать, что расчет закончен. В программе используется компонент ZCNTaskWinCtrl, при инициализации компонента используется событие на запуск расчета - ZCNTaskWinCtrl.OnStartButton := OnStartfunction; - хотелось бы еще поймать событие окончания расчета - ZCNTaskWinCtrl.onCalcFinish := OnFinfunction.
Расширенное управление надписью
 
Спасибо за помощь.
Расширенное управление надписью
 
Значит, у вас онлайн справка "немного" устарела, сразу и не догадаешься. Ещё вопрос - можно ли аналогичным образом подправить существующую надпись: добавить/убрать поле?
Расширенное управление надписью
 
Делаю, как сказано
<blockquote>Цитата:<hr size="1" noshade><i>Создаете LabelLayer, заполняете свойства, создаете LabelField, заполняете свойства..</i><hr size="1" noshade></blockquote>, но натолкнулся на проблему - свойство <A HREF="http://politerm.com/zuludoc/zuluax/LabelField_FieldNum.htm" TARGET="_blank">LabelField->FieldNum</A>, в которое, как я понимаю, нужно передать номер поля из основного запроса для формирования надписи - только для чтения. Версия Zulu 7.0.0.5362 от 05.09.2014г.
Расширенное управление надписью
 
Здравствуйте. Подскажите, пожалуйста, есть ли возможность программно назначить поле для вывода для надписи? То есть хочется создать надпись полностью программно...
СРОЧНО! access violation
 
Спасибо за оперативное исправление, все работает.
СРОЧНО! access violation
 
Выслал слой с базой Paradox. Слой проверил в версии zulu 7.0.05325 от 30.07.2014 на примере котельной №1 расчет выполнился полностью, в новой версии опять исключение, скриншот исключения приложен к письму. Кстати, во время копирования слоя тоже непонятно что творится с оболочкой, повисает в какой-то момент да так, что и не дождаться, похоже не может правильно скопировать надписи и темы как в новой версии, так и в старой... Может быть при копировании слоя добавите какое-нибудь перечисление в оконной форме, например, копирование данных по источнику... А после выполнения - сообщение "Выполнено"...
СРОЧНО! access violation
 
Есть два варианта:
1. напомните, пожалуйста, как экспортировать данные в Paradox и я вышлю слой с базой в формате Paradox
2. мы у вас были на учебе в конце июля предоставляли вам (точнее Дмитрию Озерову) базу и карту с проблемой обработки разделителя дробной части при попытке записи в БД результатов расчетов.
СРОЧНО! access violation
 
Слой выслал по указанному адресу (без базы). Дело, скорее всего не в слое, повторюсь: в версии Zulu 7.0.05325 от 30.07.2014 все виды расчетов проходили как программно, так и оболочке zulu
СРОЧНО! access violation
 
Здравствуйте! Скачал и установил новую версию zulu 7.00.5361 от 04.09.2014г. и при запуске наладочного расчета из программы возникает исключение <blockquote>Цитата:<hr size="1" noshade><i>access violation at 0x08924a07: write of addess 0x0915d300. Process Stopped...</i><hr size="1" noshade></blockquote> с теми же исходными данными (семантика и карта) до переустановки Zulu 7.0.05325 от 30.07.2014 наладочный и поверочный проходил нормально...
При попытке выполнить расчет в самой оболочке Zulu, также возникает исключение после чего вылетает оболочка полностью!
Расширенное управление надписью
 
Здравствуйте. Спасибо за добавленное свойство для управления видимостью надписи из программы.
Расширенное управление надписью
 
Здравствуйте. На счет разделителя <blockquote>Цитата:<hr size="1" noshade><i>А вот менять точки на запятые не обещаем.</i><hr size="1" noshade></blockquote> Не столько нужна замена, сколько видимость той самой точки. Повторю и немного уточню описание проблемы - точка, при некоторых углах расположения надписи относительно участка, сливается с предшествующей двойкой. Я вначале подумал, что это вообще какая-то ошибка, потому что в семантике отображается значение, например, 2.34, а в надписи вижу - 234. Согласитесь, цифры получились разные, а Заказчику не объяснишь, что это не ошибка вычисления, а всего лишь   отрисовка самого вычисления методами Zulu. Вот отсюда и пошло предложение как-нибудь выделить целую часть числа. Та же картинка появляется и в самой оболочке Zulu, а решается "появление" точки поворотом карты. Привожу основные настройки для надписи: Ориентация - вдоль линии; без сдвига; без наклона; шрифт: Arial, полужирный, размер 14.
За ранее благодарю
Расширенное управление надписью
 
Здравствуйте. Поясню <blockquote>Цитата:<hr size="1" noshade><i>...как же можно скрыть элемент надписи для одного определенного объекта </i><hr size="1" noshade></blockquote> надпись над любым объектом можно скрыть в оболочке Zulu, для чего нужно перейти в режим редактирования слоя, а потом перейти в режим редактирования надписей в слое (нажать кнопочку "АБ"), и вот в этом режиме можно скрыть надпись из контекстного меню, после выхода из режима редактирования надпись будет скрытой... Поэтому, как мне кажется, механизм тонкой настройки надписей уже существует, его может быть нужно слегка доработать, чтобы он был доступен из объектной модели, если это возможно. И, если будет возможно скрывать надписи из объектной модели, то тогда можно будет сделать настройку надписей относительно значения или режима типового объекта слоя.
Еще одна просьба, можно ли изменить разделитель дробной части в надписи с точки на запятую, так как точка при некоторых углах сливается с предшествующей двойкой... Или выделять цифры целой части большим шрифтом, по отношению к дробной части...
Расширенное управление надписью
 
Здравствуйте. Как выяснилось, что для надписи с полем, значение которого null, надпись не рисуется - это хорошо!:) Хотелось бы услышать ответ на предыдущий пост... Из оболочки zulu есть возможность хотя бы скрывать надпись из контекстного меню, можно ли скрыть элемент надписи над определенным объектом программно?
Страницы: Пред. 1 2 3 4 5 След.