УкраїнськаEnglishmRussian
Вход/Новый
В теме много сообщений

Работа с объектами


Автор Сообщение
Сообщение создано: 05. 09. 2017 [14:07]
monia
Олег Намятов
Создатель темы
Зарегистрирован(а) с: 21.05.2012
Сообщения: 173
У меня появился небольшой вопрос

Есть ли функция перевода Object в строку, в виде XML текста?
к примеру вот такого
JAVASCRIPT
<TVarObj>
   <TVarObj p='Fire'>
      <real p='StTm'>1504270458</real>
      <str p='msg'>0:Норма</str>
      <str p='name'>Пожар</str>
      <str p='sStTm'>2017.09.01 12:54:18</str>
   </TVarObj>
   <TVarObj p='Security'>
      <real p='StTm'>1504528044</real>
      <str p='msg'>0:Норма</str>
      <str p='name'>Охрана</str>
      <str p='sStTm'>2017.09.04 12:27:24</str>
   </TVarObj>
</TVarObj>


У меня получилось получить, приведенный в примере XML текст, следующим образам:
Вариант 1
JAVASCRIPT
XML = " " + Obj + " ";


Вариант 2
JAVASCRIPT
XML = Obj.toString();


Вариант 2 срабатывает только для Aray, а для Object выдает 0.

[Сообщение редактировалось 1 раз(а), в последний раз 05.09.2017 в 14:09.]
Сообщение создано: 05. 09. 2017 [15:09]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
"monia" wrote:

Есть ли функция перевода Object в строку, в виде XML текста?

Зачем, если это осуществляется при приведении объекта к строке?

"monia" wrote:

У меня получилось получить, приведенный в примере XML текст, следующим образам:
Вариант 1
JAVASCRIPT
XML = " " + Obj + " ";


Зачем тогда спрашивать?!

"monia" wrote:

Вариант 2
JAVASCRIPT
XML = Obj.toString();


Вариант 2 срабатывает только для Aray, а для Object выдает 0.

Где в документации написано про функции у абстрактного объекта вообще?
Правильно — нигде, поскольку их у него нет и быть в принципе не может.

Learn, learn and learn better than work, work and work.
Сообщение создано: 28. 11. 2017 [09:46]
monia
Олег Намятов
Создатель темы
Зарегистрирован(а) с: 21.05.2012
Сообщения: 173
Добрый день
Подскажите, как можно создать в объекте элемент используя (не знаю как правильно это сказать) вот такой метод
JAVASCRIPT
var PLC = SYS.DAQ.LogicLev.nodeAt("имя контроллера логического уровня");
 
if(PLC["имя параметра"].Obj.isEVal() == false)                      // Obj - атрибут параметра, т.е. Obj = new Object()
{
    // тут у меня возникла загвостка, я хотел сделать следующее: Obj["новое имя элемента"] = значение
    PLC["имя параметра"].Obj.set("что-то");     // как передать не значение, а {"ключь" => значение} т.е. поместить элемент в объект
}


Возможно ли такое? и как это сделать?
Сообщение создано: 28. 11. 2017 [10:43]
roman
Roman Savochenko
Moderator
Contributor
Developer
Зарегистрирован(а) с: 12.12.2007
Сообщения: 3750
Какая-то каша!

Во первых не имя используется для адресации к объектам контроллера источника данных их параметрам и атрибутам ну и во вторых это статические объекты фиксированной структуры, которые не предусматривают добавления туда чего либо, за рамками их назначения, не говоря уже о смысле этого.

Одной фразой и как обычно — читайте документацию и не придумывайте!

Learn, learn and learn better than work, work and work.
Сообщение создано: 28. 11. 2017 [11:50]
monia
Олег Намятов
Создатель темы
Зарегистрирован(а) с: 21.05.2012
Сообщения: 173
да...
Так я и предполагал. Хотел просто уточнить данный вопрос.

Хотел из одного параметра контроллера логического уровня, записать элемент в объект другого



0474