Ответы в темах
-
АвторЗаписи
-
Romiros
УчастникПо поводу формата для TimeSpan уже обсуждали с Михаилом, кажется отложили не попозже. Для одного проекта я делал отображение в одном канале оставляя только значащие части интервала. Т.е. если в интервале появляются дни, то секунды уже как бы и нафиг не нужны. В основном так и делают в системах насколько я понял, типа стандарт.
Romiros
УчастникВидимо время в базе хранится не в UTC. Нужно просто взять за правило хранить его в UTC. У нас одна система хранит все данные в единицах измерения системы СИ. Это морока, то что нужно все к ней преобразовывать, но зато выигрыш на длинной дистанции, когда одним нужно видеть в Па, другим в МПа, третьим в кг/см2. Тогда просто выбирается нужный формат отображения в системе и это не приводит к скачкам на графиках и прочим проблемам.
Romiros
УчастникА если добавить входную формулу Val();Stat(), Будут ли изменения?
Romiros
УчастникВызвано необходимостью, когда контрактный час начала суток не совпадает со стандартным временем начала 00:00. Просто самое главное учитывать, что старая версия не будет читать новые архивы, а новая будет читать старые. Тут более точно ответит разработчик. Возможно Ваши модули это вообще никак не затронет. Это очень важное изменение, без которого в некоторых отраслях, развитие данной системы очень затруднено.
То же самое касается редактора объектов, когда колличество дочерних систем становится довольно большим и их становится довольно сложно администрировать при постоянных изменениях.Romiros
УчастникПоместите этот код в нужное место вашего svg файла, например между тегами <g></g>, зависит от сложности картинки.
<animate attributeName=»opacity» dur=»1s» values=»0.0;1;0.0″ repeatCount=»indefinite» />
По сути можно просто методом научного тыка подобрать куда добавить :). И так, по идее, можно не только мигание делать, а по сути любую анимацию, которую позволяет делать svg — вращение, изменение размера или цвета и т.д.
Romiros
УчастникДля динамических рисунков используйте svg, там мигание в одну строчку кода добавляется, если память не изменяет. Я так делал всякие мигающие насосы и двигатели.
Romiros
УчастникПроблема не надуманная. Возможность задания разного цвета для одного и того же статуса на схеме очень актуальна. Не только из-за событий. Иначе действительно приходится тащить просто картинки на которых нет ничего кроме нужного цвета фона, без которых можно было бы обойтись. Но как и говорил выше в 6 версии это уже заложено, осталось дождаться нового редактора схем :).
Romiros
УчастникТри цвета статуса заложены в таблице статусов, просто в редакторе схем это ещё не реализовано.
Romiros
УчастникА вообще, вспомнил, я уже кажется такое делал в одном драйвере. Там объект прилетал из REST API в виде json и далее в зависимости от типа преобразовывались в нужный класс. Могу завтра на работе поискать код.
Romiros
УчастникВозможно как-то так. Сможете сделать такие проверки в своем коде?
A a;
a = new B();//a.Method();//Тут получаем ошибку компилятора
if (a is B)
((B)a).Method();//А тут уже нетConsole.ReadLine();
}
}
class A
{}
class B : A
{
public void Method()
{
Console.WriteLine(«In the Method»);
}
}Romiros
УчастникТ.е. классы под эти программы будут прописаны заранее в коде модуля? И просто по имени класса надо подставить необходимый,так что ли? Тогда используйте наследование. В RapidScada есть образцы. Ну или я не понимаю задачу.
Romiros
УчастникКлассы программ известны только те, которые будут в отдельной dll (хочу так сделать) по умолчанию, далее могут добавляться, например heater3, cooling2 и так далее, и модуль о них будет знать только из шаблона например.
У Вас в шаблоне будет готовый c#? Типа:
public class Heater3
{
public string name = «Heater3″;public void Print()
{
Console.WriteLine($»Имя: {name}»);
}
}
Так что ли? И вы хотите добавить это в исходный код своего модуля?Romiros
УчастникКлассы разных программ заранее известны? Если да, то создайте один абстрактный класс и наследуйтесь от него, расширяя список свойств и методов и при необходимости переопределяя родительские свойства и методы. Далее в рантайме создать этот абстрактный класс и проверять какой класс программы используется в конфиге и присваивать его абстрактному классу. Как-то так, если коротко.
Romiros
УчастникВ модуле калькулятор идёт генерация исходного кода в рантайме из текста. Возможно подойдёт для Вашей задачи. Хороший образец для повторения, если не знаете как сделать. Но мне кажется правильнее было бы продумать наследование с расширением свойств и методов класса, учитывая что пользоваться будут не программисты.
Romiros
УчастникПочитайте про наследование, позднее и раннее связывание, upcast и downcast. Вам в этом направлении. Всё это уже придумано и нужно просто правильно применять.
-
АвторЗаписи