예제 #1
0
        public int ReadFuncList()
        {
            int count = 0;
            int fno, fdate;

            for (int i = 0; i < ds.Tables["Func"].Rows.Count; ++i)
            {
                DataRow r = ds.Tables["Func"].Rows[i];

                if (!r.ItemArray[1].ToString().Equals("对象号"))
                {
                    continue;
                }

                // 读取一个函数信息

                // 第一行 对象号	1283017	版本号	6.1.4.20120625	更新日期	20120625
                // 对象号
                if (!int.TryParse(r.ItemArray[2].ToString(), out fno))
                {
                    fno = 0;
                }
                Func f = new Func(fno);
                f.StartLine = i;
                // 版本号
                f.Version = r.ItemArray[4].ToString();
                // 修改日期
                if (!int.TryParse(r.ItemArray[6].ToString(), out fdate))
                {
                    fdate = 0;
                }
                f.UpdateDate = fdate;

                // 第二行 函数名称	FN_MONFUND_	函数说明	函数_货币基金_撤单参数设置	功能号	1283017
                // 函数说明
                r          = ds.Tables["Func"].Rows[++i];
                f.FuncName = r.ItemArray[4].ToString();
                // 功能号
                f.FuncNo = r.ItemArray[6].ToString();

                // 第三行 结果集返回	    接口标志		所连数据库	SECUDB
                r           = ds.Tables["Func"].Rows[++i];
                f.ResultRet = r.ItemArray[2].ToString().Equals("Y") ? true : false;
                f.InterFlag = r.ItemArray[4].ToString();
                f.ConnDB    = r.ItemArray[6].ToString();

                // 第四行 业务描述
                r             = ds.Tables["Func"].Rows[++i];
                f.Description = r.ItemArray[2].ToString();

                // 第五行 输入参数	字段名	字段类型	字段说明	长度	缺省值
                ++i;
                // 第六行开始 输入参数信息
                r = ds.Tables["Func"].Rows[++i];
                while (!r.ItemArray[1].ToString().Equals("输出参数"))
                {
                    Para p = new Para();
                    p.prefix = r.ItemArray[1].ToString();
                    p.name   = r.ItemArray[2].ToString();
                    p.type   = r.ItemArray[3].ToString();
                    p.desc   = r.ItemArray[4].ToString();

                    f.InputPara.Add(p);

                    r = ds.Tables["Func"].Rows[++i];
                }

                // 这一行是输出参数,跳过,获取输出参数
                r = ds.Tables["Func"].Rows[++i];
                while (!r.ItemArray[1].ToString().Equals("变量"))
                {
                    Para p = new Para();
                    p.prefix = r.ItemArray[1].ToString();
                    p.name   = r.ItemArray[2].ToString();
                    p.type   = r.ItemArray[3].ToString();
                    p.desc   = r.ItemArray[4].ToString();

                    f.OutPutPara.Add(p);

                    r = ds.Tables["Func"].Rows[++i];
                }

                // 这一行是变量,跳过,获取变量
                r = ds.Tables["Func"].Rows[++i];
                while (!r.ItemArray[1].ToString().Equals("业务处理流程"))
                {
                    Para p = new Para();
                    p.prefix = r.ItemArray[1].ToString();
                    p.name   = r.ItemArray[2].ToString();
                    p.type   = r.ItemArray[3].ToString();
                    p.desc   = r.ItemArray[4].ToString();

                    f.VarPara.Add(p);

                    r = ds.Tables["Func"].Rows[++i];
                }

                // 获取业务处理流程
                r = ds.Tables["Func"].Rows[++i];
                while (!r.ItemArray[1].ToString().Equals("出错说明"))
                {
                    string s   = string.Empty;
                    string pre = r.ItemArray[1].ToString().Trim();
                    if (!string.IsNullOrEmpty(pre))
                    {
                        s = "<" + pre + ">";
                    }
                    s += r.ItemArray[2].ToString();

                    f.BusinFlow.AppendLine(s);

                    r = ds.Tables["Func"].Rows[++i];
                }

                // 获取出错说明
                r = ds.Tables["Func"].Rows[++i];
                while (!r.ItemArray[1].ToString().Equals("修改记录"))
                {
                    string s = r.ItemArray[2].ToString();
                    if (string.IsNullOrEmpty(s.Trim()))
                    {
                        r = ds.Tables["Func"].Rows[++i];
                        continue;
                    }

                    f.ErrorDesc.AppendLine(s);

                    r = ds.Tables["Func"].Rows[++i];
                }


                // 获取修改记录
                while (!r.ItemArray[1].ToString().Equals("对象号"))
                {
                    string s = r.ItemArray[2].ToString();
                    if (string.IsNullOrEmpty(s.Trim()))
                    {
                        break;
                    }

                    f.ModiRecord.AppendLine(s);

                    ++i;
                    if (i >= ds.Tables["Func"].Rows.Count)
                    {
                        break;
                    }

                    r = ds.Tables["Func"].Rows[i];
                }

                //f.BusinFlow = f.BusinFlow.Replace("\r\n", "\n");
                FuncList.Add(f);

                // 向下扫描
            }
            return(count);
        }
예제 #2
0
파일: ExFunc.cs 프로젝트: radtek/wscope
        public int ReadFuncList()
        {
            int count = 0;
            int fno, fdate;
            for (int i = 0; i < ds.Tables["Func"].Rows.Count; ++i)
            {
                DataRow r = ds.Tables["Func"].Rows[i];

                if (!r.ItemArray[1].ToString().Equals("对象号"))
                    continue;

                // 读取一个函数信息

                // 第一行 对象号	1283017	版本号	6.1.4.20120625	更新日期	20120625
                // 对象号
                if (!int.TryParse(r.ItemArray[2].ToString(), out fno))
                    fno = 0;
                Func f = new Func(fno);
                f.StartLine = i;
                // 版本号
                f.Version = r.ItemArray[4].ToString();
                // 修改日期
                if (!int.TryParse(r.ItemArray[6].ToString(), out fdate))
                    fdate = 0;
                f.UpdateDate = fdate;

                // 第二行 函数名称	FN_MONFUND_	函数说明	函数_货币基金_撤单参数设置	功能号	1283017
                // 函数说明
                r = ds.Tables["Func"].Rows[++i];
                f.FuncName = r.ItemArray[4].ToString();
                // 功能号
                f.FuncNo = r.ItemArray[6].ToString();

                // 第三行 结果集返回	 	接口标志		所连数据库	SECUDB
                r = ds.Tables["Func"].Rows[++i];
                f.ResultRet = r.ItemArray[2].ToString().Equals("Y") ? true : false;
                f.InterFlag = r.ItemArray[4].ToString();
                f.ConnDB = r.ItemArray[6].ToString();

                // 第四行 业务描述
                r = ds.Tables["Func"].Rows[++i];
                f.Description = r.ItemArray[2].ToString();

                // 第五行 输入参数	字段名	字段类型	字段说明	长度	缺省值
                ++i;
                // 第六行开始 输入参数信息
                r = ds.Tables["Func"].Rows[++i];
                while (!r.ItemArray[1].ToString().Equals("输出参数"))
                {
                    Para p = new Para();
                    p.prefix = r.ItemArray[1].ToString();
                    p.name = r.ItemArray[2].ToString();
                    p.type = r.ItemArray[3].ToString();
                    p.desc = r.ItemArray[4].ToString();

                    f.InputPara.Add(p);

                    r = ds.Tables["Func"].Rows[++i];
                }

                // 这一行是输出参数,跳过,获取输出参数
                r = ds.Tables["Func"].Rows[++i];
                while (!r.ItemArray[1].ToString().Equals("变量"))
                {
                    Para p = new Para();
                    p.prefix = r.ItemArray[1].ToString();
                    p.name = r.ItemArray[2].ToString();
                    p.type = r.ItemArray[3].ToString();
                    p.desc = r.ItemArray[4].ToString();

                    f.OutPutPara.Add(p);

                    r = ds.Tables["Func"].Rows[++i];
                }

                // 这一行是变量,跳过,获取变量
                r = ds.Tables["Func"].Rows[++i];
                while (!r.ItemArray[1].ToString().Equals("业务处理流程"))
                {
                    Para p = new Para();
                    p.prefix = r.ItemArray[1].ToString();
                    p.name = r.ItemArray[2].ToString();
                    p.type = r.ItemArray[3].ToString();
                    p.desc = r.ItemArray[4].ToString();

                    f.VarPara.Add(p);

                    r = ds.Tables["Func"].Rows[++i];
                }

                // 获取业务处理流程
                r = ds.Tables["Func"].Rows[++i];
                while (!r.ItemArray[1].ToString().Equals("出错说明"))
                {
                    string s = string.Empty;
                    string pre = r.ItemArray[1].ToString().Trim();
                    if (!string.IsNullOrEmpty(pre))
                        s = "<" + pre + ">";
                    s += r.ItemArray[2].ToString();

                    f.BusinFlow.AppendLine(s);

                    r = ds.Tables["Func"].Rows[++i];
                }

                // 获取出错说明
                r = ds.Tables["Func"].Rows[++i];
                while (!r.ItemArray[1].ToString().Equals("修改记录"))
                {
                    string s = r.ItemArray[2].ToString();
                    if (string.IsNullOrEmpty(s.Trim()))
                    {
                        r = ds.Tables["Func"].Rows[++i];
                        continue;
                    }

                    f.ErrorDesc.AppendLine(s);

                    r = ds.Tables["Func"].Rows[++i];
                }

                // 获取修改记录
                while (!r.ItemArray[1].ToString().Equals("对象号"))
                {
                    string s = r.ItemArray[2].ToString();
                    if (string.IsNullOrEmpty(s.Trim()))
                    {
                        break;
                    }

                    f.ModiRecord.AppendLine(s);

                    ++i;
                    if (i >= ds.Tables["Func"].Rows.Count)
                    {
                        break;
                    }

                    r = ds.Tables["Func"].Rows[i];
                }

                //f.BusinFlow = f.BusinFlow.Replace("\r\n", "\n");
                FuncList.Add(f);

                // 向下扫描
            }
            return count;
        }