示例#1
0
        public void TestSciterValue()
        {
            //string[] arr = new string[] { "A", "B", "C" };
            int[] arr = new int[] { 1, 2, 3 };
            //SciterValue res = SciterValue.FromList(arr);
            SciterValue res = new SciterValue();
            res.Append(new SciterValue(1));
            res.Append(new SciterValue(1));
            res.Append(new SciterValue(1));
            string r = res.ToString();
            string r2 = res.ToString();
            string r3 = res.ToJSONString(SciterSharp.Interop.SciterXValue.VALUE_STRING_CVT_TYPE.CVT_JSON_LITERAL);

            {
                // http://sciter.com/forums/topic/erasing-sequence-elements-with-scitervalue/
                SciterValue sv = SciterValue.FromJSONString("[1,2,3,4,5])");
                sv[0] = SciterValue.Undefined;
                sv[2] = SciterValue.Undefined;

                SciterValue sv2 = SciterValue.FromJSONString("{one: 1, two: 2, three: 3}");
                sv2["one"] = SciterValue.Undefined;
            }

            // Datetime
            {
                SciterValue sv = new SciterValue(DateTime.Now);
            }
        }
示例#2
0
        public void TestSciterValue()
        {
            //string[] arr = new string[] { "A", "B", "C" };
            int[] arr = new int[] { 1, 2, 3 };
            //SciterValue res = SciterValue.FromList(arr);
            SciterValue res = new SciterValue();

            res.Append(new SciterValue(1));
            res.Append(new SciterValue(1));
            res.Append(new SciterValue(1));
            string r  = res.ToString();
            string r2 = res.ToString();
            string r3 = res.ToJSONString(SciterSharp.Interop.SciterXValue.VALUE_STRING_CVT_TYPE.CVT_JSON_LITERAL);

            {
                // http://sciter.com/forums/topic/erasing-sequence-elements-with-scitervalue/
                SciterValue sv = SciterValue.FromJSONString("[1,2,3,4,5])");
                sv[0] = SciterValue.Undefined;
                sv[2] = SciterValue.Undefined;

                SciterValue sv2 = SciterValue.FromJSONString("{one: 1, two: 2, three: 3}");
                sv2["one"] = SciterValue.Undefined;
            }

            // Datetime
            {
                SciterValue sv = new SciterValue(DateTime.Now);
            }
        }
示例#3
0
        public void OnNotify_LOG_ARRIVED()
        {
            Utils.Assert_UIThread();
            Debug.Assert(_logs.Count != 0);

            SciterValue data = new SciterValue();

            foreach (var item in _logs)
            {
                SciterValue logval = new SciterValue();
                logval.SetItem(0, new SciterValue((int)item.subsystem));
                logval.SetItem(1, new SciterValue((int)item.severity));
                logval.SetItem(2, new SciterValue(item.text));
                data.Append(logval);

                Console.WriteLine(item.text);
            }

            _in_output = true;
            App.AppHost.CallFunction("Extern_ConsoleAppendLines", data);
            _in_output = false;

            _logs.Clear();
            _pending_output = false;
        }
示例#4
0
        public void InternalOutput(string text, bool post = false)        // generates output by internal call
        {
            Utils.Assert_UIThread();
            Debug.Assert(!_in_output);
            Debug.WriteLine(text);
            Console.WriteLine(text);

            if (post)
            {
                _logs.Add(new LogItem
                {
                    subsystem = SciterXDef.OUTPUT_SUBSYTEM.OT_DOM,
                    severity  = SciterXDef.OUTPUT_SEVERITY.OS_INFO,
                    text      = text
                });

                if (_pending_output == false)
                {
                    _pending_output = true;
                    App.AppHost.Notify(Host.NOTIFICATION.LOG_ARRIVED);
                }
            }
            else
            {
                SciterValue logval = new SciterValue();
                logval[0] = new SciterValue((int)SciterXDef.OUTPUT_SUBSYTEM.OT_DOM);
                logval[1] = new SciterValue((int)SciterXDef.OUTPUT_SEVERITY.OS_INFO);
                logval[2] = new SciterValue(text);

                SciterValue data = new SciterValue();
                data.Append(data);

                App.AppHost.CallFunction("Extern_ConsoleAppendLines", data);
            }
        }
示例#5
0
文件: Host.cs 项目: zcwfeng/IconDrop
 public bool Host_IconStoreList(SciterElement el, SciterValue[] args, out SciterValue result)
 {
     result = new SciterValue();
     foreach (var pack in Store._store_packs)
     {
         result.Append(pack.sv);
     }
     return(true);
 }
示例#6
0
        public void TestSciterValue()
        {
            //string[] arr = new string[] { "A", "B", "C" };
            int[] arr = new int[] { 1, 2, 3 };
            //SciterValue res = SciterValue.FromList(arr);
            SciterValue res = new SciterValue();

            res.Append(new SciterValue(1));
            res.Append(new SciterValue(1));
            res.Append(new SciterValue(1));
            string r  = res.ToString();
            string r2 = res.ToString();
            string r3 = res.ToJSONString(SciterXValue.VALUE_STRING_CVT_TYPE.CVT_JSON_LITERAL);

            {
                // http://sciter.com/forums/topic/erasing-sequence-elements-with-scitervalue/
                SciterValue sv = SciterValue.FromJSONString("[1,2,3,4,5])");
                sv[0] = SciterValue.Undefined;
                sv[2] = SciterValue.Undefined;

                SciterValue sv2 = SciterValue.FromJSONString("{one: 1, two: 2, three: 3}");
                sv2["one"] = SciterValue.Undefined;
                Assert.IsTrue(sv2["two"].Get(0) == 2);
            }

            // Datetime
            {
                var         now = DateTime.Now;
                SciterValue sv  = new SciterValue(now);
                Assert.IsTrue(sv.GetDate() == now);
            }

            // SciterValue.AsDictionary
            {
                SciterValue sv  = SciterValue.FromJSONString("{ a: 1, b: true }");
                var         dic = sv.AsDictionary();
                Assert.IsTrue(dic.Count == 2);
            }
        }