public SearchScenario[] LoadSearchScenario(string fileName) { string[] lines = Utility.SplitIrbisLines(ReadTextFile(fileName)); if (lines.Length == 0) { return(null); } IniFile iniFile = IniFile.Parse(lines); IniSection section = iniFile.GetSection("SEARCH"); if (ReferenceEquals(section, null)) { return(null); } return(SearchScenario.ParseIniFile(iniFile)); }
public static SearchScenario[] ParseIniFile(IniFile iniFile) { IniSection section = iniFile.GetSection("SEARCH"); if (ReferenceEquals(section, null)) { return(new SearchScenario[0]); } int count = int.Parse(section["ItemNumb"]); if (count == 0) { return(new SearchScenario[0]); } ArrayList list = new ArrayList(count); for (int i = 0; i < count; i++) { string name = section["ItemName" + i]; if (Utility.IsNullOrEmpty(name)) { continue; } SearchScenario scenario = new SearchScenario(); scenario.Name = name; scenario.Prefix = section["ItemPref" + i]; scenario.DictionaryType = section["ItemDictionType" + i]; scenario.Advance = section["ItemAdv" + i]; scenario.Format = section["ItemPft" + i]; scenario.Hint = section["ItemHint" + i]; scenario.Logic = section["ItemLogic" + i]; scenario.MenuName = section["ItemMenu" + i]; scenario.ModByDicAuto = section["ItemModByDicAuto" + i]; scenario.Correction = section["ModByDic" + i]; scenario.Truncation = section["ItemTranc" + i]; list.Add(scenario); } SearchScenario[] result = new SearchScenario[list.Count]; list.CopyTo(result); return(result); }