Пример #1
0
    //------------------C#侧调用脚本接口

    //------------------测试面向对象,成员变量访问性能
    public void ObjectRead()
    {
        ScriptObj Obj = new ScriptObj();
        StringA   name;
        int       nTotal = 0;
        uint      nBegin = os.GetTickCount();

        for (int i = 0; i < 200000; ++i)
        {
            name    = Obj.Item.Name;
            nTotal += Obj.Item.Attrib.MP + Obj.Item.Attrib.HP;
        }
        uint nEnd = os.GetTickCount();

        PrintTime("ObjectRead", nEnd - nBegin);
    }
Пример #2
0
    public void ObjectWrite()
    {
        ScriptObj Obj    = new ScriptObj();
        StringA   name   = "Obj";
        uint      nBegin = os.GetTickCount();

        for (int i = 0; i < 200000; ++i)
        {
            Obj.Item.Name      = name;
            Obj.Item.Attrib.MP = i;
            Obj.Item.Attrib.HP = i;
        }
        uint nEnd = os.GetTickCount();

        PrintTime("ObjectWrite", nEnd - nBegin);
    }
Пример #3
0
        /// <summary>
        /// 根据数据名称获取数据
        /// </summary>
        /// <param name="p_name">数据名称</param>
        /// <returns></returns>
        public async Task <RptData> GetData(string p_name)
        {
            if (_dataSet.TryGetValue(p_name, out var data))
            {
                return(data);
            }

            RptDataSourceItem srcItem;

            if (Root == null || (srcItem = Root.Data.GetDataSourceItem(p_name)) == null)
            {
                return(null);
            }

            Table tbl = null;

            if (srcItem.IsScritp)
            {
                // 通过脚本获取数据源
                if (ScriptObj != null)
                {
                    tbl = await ScriptObj.GetData(p_name);
                }
                else
                {
                    Kit.Warn($"未定义报表脚本,无法获取数据【{p_name}】");
                }
            }
            else
            {
                tbl = await AtRpt.Query(srcItem.Srv, srcItem.Sql, Params);
            }

            if (tbl != null)
            {
                var rptData = new RptData(tbl);
                _dataSet[p_name] = rptData;
                return(rptData);
            }
            return(null);
        }
Пример #4
0
        public override void Execute()
        {
            AutoApp.Logger.WriteInfoLog(string.Format("Starting Group Steps execution {0}", _actionData.Name));

            Singleton.Instance<SavedData>().UpdateParams(_actionData.Params);
            _script = FileHandler.ExtructScriptFromFile(Singleton.Instance<SavedData>().GetVariableData(_actionData.Name));
            AutoApp.Logger.WriteInfoLog(string.Format("Starting script execution: {0}", Singleton.Instance<SavedData>().GetVariableData(_actionData.Name)));
            _script.Execute();

            if (_script.Status == Enums.Status.NoN)
                ActionStatus = Enums.Status.Pass;
            else if (_script.Status == Enums.Status.Pass)
                ActionStatus = Enums.Status.Pass;
            AutoApp.Logger.WriteInfoLog(string.Format("Finished Group Steps execution {0}", _actionData.Name));
        }
Пример #5
0
        private void UpdateLables()
        {
            _script = FileHandler.ExtructScriptFromFile(_actionData.Name);
            if (_script == null)
            {
                AutoApp.Logger.WriteFailLog(string.Format("Script {0} does not exist", _actionData.Name));
                return;
            }
            int stepEntetiesCount = _script.Entities.Count;
            for (int i = 0; i < stepEntetiesCount; i++)
            {
                StepEntity s = _script.Entities[i];
                if (s.Action.TypeId == Enums.ActionTypeId.Lable)
                {
                    var lable = (LabelAction)s.Action;
                    lable.LableList = _lableList;
                    if (lable._type == LabelAction.ActionType.Create)
                        _lableList.Add(lable._actionData.LableName, new LableObject(lable._actionData.LableName, lable._actionData.Loops));

                    // _lableList.Add(lable._actionData.LableName, new LableObject(lable._actionData.LableName, int.Parse(Singleton.Instance<SavedData>().GetVariableData(lable._actionData.Loops))));
                }
            }
        }