object oSysvar; string sSysvarId; boolean bFirst = true; boolean bFirstSecond = true; Write("{"); Write('"Systemvariables":['); foreach (sSysvarId, dom.GetObject(ID_SYSTEM_VARIABLES).EnumIDs()) { if (bFirst == false) { WriteLine(','); } else { bFirst = false; } oSysvar = dom.GetObject(sSysvarId); Write("{"); Write('"ID":"' # oSysvar.ID()); Write('", "ValueType": "' # oSysvar.ValueType()); if (oSysvar.ValueType() == 16) { Write('", "ValueList": "' # oSysvar.ValueList()); } else { Write('", "ValueList": "'); } if (oSysvar.ValueType() == 4) { Write('", "Min": "' # oSysvar.ValueMin()); Write('", "Max": "' # oSysvar.ValueMax()); } else { Write('", "Min": "'); Write('", "Max": "'); } Write('", "Unit": "' # oSysvar.ValueUnit()); Write('", "Type": "' # oSysvar.ValueType()); Write('", "Subtype": "' # oSysvar.ValueSubType()); Write('", "Timestamp": "' # oSysvar.Timestamp()); Write('", "Visible": "' # oSysvar.Visible()); var description = oSysvar.DPInfo(); var descriptionLength = description.Length(); var currentDescriptionLengthIndex = 0; var correctedDescription = ""; while(currentDescriptionLengthIndex < descriptionLength) { var char1 = description.Substr(currentDescriptionLengthIndex, 1); if(char1 == "\"") { correctedDescription = correctedDescription # "'"; } else { if(char1 == "\n") { correctedDescription = correctedDescription # " "; } else { correctedDescription = correctedDescription # char1; } } currentDescriptionLengthIndex = currentDescriptionLengthIndex +1; } Write('","Description":"' # correctedDescription); var name = oSysvar.Name(); var nameLength = name.Length(); var currentNameIndex = 0; var correctedName = ""; while(currentNameIndex < nameLength) { var char1 = name.Substr(currentNameIndex, 1); if(char1 == "\"") { correctedName = correctedName # "'"; } else { if(char1 == "\n") { correctedName = correctedName # " "; } else { correctedName = correctedName # char1; } } currentNameIndex = currentNameIndex +1; } Write('","Name":"' # correctedName); if (oSysvar.ValueType() == 20) { var value = oSysvar.Value(); var valueLength = value.Length(); var currentIndex = 0; var correctedValue = ""; while(currentIndex < valueLength) { var char1 = value.Substr(currentIndex, 1); if(char1 == "\"") { correctedValue = correctedValue # "'"; } else { if(char1 == "\n") { correctedValue = correctedValue # " "; } else { correctedValue = correctedValue # char1; } } currentIndex = currentIndex +1; } Write('", "ValueName1": "'); Write('", "ValueName2": "'); Write('", "Value": "' # correctedValue); } else { if (oSysvar.ValueType() == 2) { var value1 = oSysvar.ValueName0(); var value1Length = value1.Length(); var currentIndex1 = 0; var correctedValue1 = ""; while(currentIndex1 < value1Length) { var char1 = value1.Substr(currentIndex1, 1); if(char1 == "\"") { correctedValue1 = correctedValue1 # "'"; } else { if(char1 == "\n") { correctedValue1 = correctedValue1 # " "; } else { correctedValue1 = correctedValue1 # char1; } } currentIndex1 = currentIndex1 +1; } Write('", "ValueName1": "' # correctedValue1); var value2 = oSysvar.ValueName1(); var value2Length = value2.Length(); var currentIndex2 = 0; var correctedValue2 = ""; while(currentIndex2 < value2Length) { var char1 = value2.Substr(currentIndex2, 1); if(char1 == "\"") { correctedValue2 = correctedValue2 # "'"; } else { if(char1 == "\n") { correctedValue1 = correctedValue2 # " "; } else { correctedValue2 = correctedValue2 # char1; } } currentIndex2 = currentIndex2 +1; } Write('", "ValueName2": "' # correctedValue2); } else { Write('", "ValueName1": "'); Write('", "ValueName2": "'); } if(oSysvar.ValueSubType() == 6) { var value = oSysvar.Value(); Write('", "Value": "' # value); } else { if(oSysvar.ValueSubType() == 2) { var value = oSysvar.Value(); Write('", "Value": "' # value); } else { if(oSysvar.ValueSubType() == 0) { var value = oSysvar.Value(); Write('", "Value": "' # value); } else { var value3 = oSysvar.Value(); Write('", "Value": "' # value3); } } } } Write('"'); Write("}"); } Write(']}');