private Dictionary <string, string> m_name_dic; //name =>name_id // チャートアクセス用 private void chart_init() { if (m_chart_ht != null) { return; } m_chart_ht = IniUtil.CreateHashtable(m_chart_buf); m_chart_state_list = get_staterow_list(); m_chart_name_list = get_namecol_list(); m_state_dic = new Dictionary <string, string>(); var stateids = get_stateid_list(); foreach (var id in stateids) { var s = get_chart("id_state_dic", id); if (!string.IsNullOrEmpty(s)) { m_state_dic.Add(s, id); } } m_name_dic = new Dictionary <string, string>(); var nameids = get_nameid_list(); foreach (var id in nameids) { var n = get_chart("id_name_dic", id); if (!string.IsNullOrEmpty(n)) { m_name_dic.Add(n, id); } } }
HT m_gensrc_macro_ht; // 生成先ソースに定義されたマクロ部分 :psgg-macro-start :psgg-macro-end public void ReadAllMacroSettings(PsggDataFileUtil.Item psggItem, string doc_path) { var filename = psggItem.get_setting(wordstrage.Store.settingini_group_setting, wordstrage.Store.settingini_setting_macroini); //SettingIniUtil.GetMacroIni(); if (!string.IsNullOrEmpty(filename)) { try { var path = Path.Combine(psggItem.GetIncDir(doc_path), filename); var text = File.ReadAllText(path, Encoding.UTF8); m_macro_ini_ht = IniUtil.CreateHashtable(text); } catch { Console.WriteLine("{4F39CB16-1508-444A-A57B-63961C3ABFE4}\nFile Cannot read :" + filename + ":"); } } m_default_macro_ht = (HT)psggItem.get_setting(wordstrage.Store.settingini_group_macro);// SettingIniUtil.GetMacroHash(); try { //生成ソース内の マクロを収集する。 var macroinitext = string.Empty; var path = psggItem.GetGeneratedSource(doc_path); var enc = string.IsNullOrEmpty(psggItem.GetSrcEnc()) ? Encoding.UTF8 : Encoding.GetEncoding(psggItem.GetSrcEnc()); var text = File.ReadAllText(path, enc); var lines = text.Split('\xa'); bool bInMacro = false; foreach (var l in lines) { if (!bInMacro) { if (l.Contains(wordstrage.Store.macro_start_mark)) { bInMacro = true; continue; } } else { if (l.Contains(wordstrage.Store.macro_end_mark)) { bInMacro = false; continue; } } if (bInMacro) { macroinitext += l + Environment.NewLine; } } if (bInMacro) { Console.WriteLine("Cannot find " + wordstrage.Store.macro_end_mark + " in " + psggItem.GetGeneratedSourceFileName()); } else { m_gensrc_macro_ht = IniUtil.CreateHashtable(macroinitext); } } catch { Console.WriteLine("{28F2C476-7C8B-4C75-8115-A5E543DABAB1}\nFile Cannot read :" + psggItem.GetGeneratedSourceFileName()); } }