/// <summary> 返回板块类型名称 /// </summary> /// <param name="stockBlockType"></param> /// <returns></returns> public static string StockBlockTypeName(StockBlockType stockBlockType) { switch (stockBlockType) { case StockBlockType.gn: return("概念"); case StockBlockType.fg: return("风格"); case StockBlockType.zs: return("指数"); case StockBlockType.hy: return("行业"); case StockBlockType.hyDet: return("行业细分"); case StockBlockType.dq: return("地区"); default: throw new ArgumentOutOfRangeException("stockBlockType"); } }
/// <summary> 从通达信文件中加载 地区 板块数据 /// </summary> private Dictionary <string, int> LoadDqBlockDataFile(StockBlockType blockType = StockBlockType.dq) { Dictionary <string, int> retDic = new Dictionary <string, int>(); string[] fileNameSplit = BLL.StockBlockFileName(StockBlockType.dq).Split(','); string fileNameZs = (CommProp.TDXFolder + fileNameSplit[0]).Replace(@"\\", @"\"); string fileNameDb = (CommProp.TDXFolder + fileNameSplit[1]).Replace(@"\\", @"\"); string blockTypeName = BLL.StockBlockTypeName(blockType); const string formatMod = "{0},{1},{2}"; string[] lines = File.ReadAllLines(fileNameZs, Encoding.Default); Dictionary <string, string> dicDqName = new Dictionary <string, string>(); foreach (string line in lines) { if (line.Length <= 0) { break; } string[] split = line.Split('|'); if (split.Length == 6 && split[2] == "3") { dicDqName.Add(split[5], split[0]); } } DataTable baseDbf = BLL.LoadBaseDbf(fileNameDb); if (baseDbf != null && baseDbf.Rows.Count > 0) { foreach (DataRow dr in baseDbf.Rows) { string dqCode = dr["DY"].ToString().Trim(); if (dicDqName.ContainsKey(dqCode)) { string stockCode = dr["GPDM"].ToString().Trim(); string bkName = dicDqName[dqCode]; string key = string.Format(formatMod, stockCode, blockTypeName, bkName); retDic.Add(key, 0); } } } return(retDic); }
/// <summary> 通达信板块文件 /// </summary> public static string StockBlockFileName(StockBlockType stockBlockType) { switch (stockBlockType) { case StockBlockType.gn: return(@"\T0002\hq_cache\block_gn.dat"); case StockBlockType.fg: return(@"\T0002\hq_cache\block_fg.dat"); case StockBlockType.zs: return(@"\T0002\hq_cache\block_zs.dat"); case StockBlockType.dq: return(string.Format("{0},{1}", @"\T0002\hq_cache\tdxzs.cfg", @"\T0002\hq_cache\base.dbf")); case StockBlockType.hy: case StockBlockType.hyDet: return(string.Format("{0},{1}", @"\incon.dat", @"\T0002\hq_cache\tdxhy.cfg")); default: return(""); } }