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); }
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; }