public string Get ( string name, ManagedClient64 client ) { string result; if (!_dictionary.TryGetValue(name, out result)) { if (client != null) { result = client.ReadTextFile(name); } } if (string.IsNullOrEmpty(result)) { result = null; } if (result == null) { _dictionary.Remove(name); } else { _dictionary[name] = result; } return(result); }
public static IrbisUpperCaseTable FromServer ( [NotNull] ManagedClient64 connection, [NotNull] string fileName ) { string text = connection.ReadTextFile ( IrbisPath.System, fileName ); if (string.IsNullOrEmpty(text)) { throw new IrbisException ( "No file " + fileName ); } IrbisUpperCaseTable result = ParseText ( IrbisEncoding.Ansi, text ); return(result); }
public static ChairInfo[] Read ( [NotNull] ManagedClient64 client, [NotNull] string fileName ) { if (ReferenceEquals(client, null)) { throw new ArgumentNullException("client"); } if (string.IsNullOrEmpty(fileName)) { throw new ArgumentNullException("fileName"); } string chairText = client.ReadTextFile ( IrbisPath.MasterFile, fileName ); ChairInfo[] result = Parse(chairText); return(result); }
public static IrbisMenu Read ( ManagedClient64 client, string name ) { string text = client.ReadTextFile(name); return(ParseText(text)); }
public static IrbisServerSettings FromServer ( ManagedClient64 client ) { string text = client.ReadTextFile ( IrbisPath.System, IniFileName ); return(ParseText <IrbisServerSettings>(text)); }
public void LoadFromServer ( ManagedClient64 client ) { string text = client.ReadTextFile ( IrbisPath.MasterFile, "org.mnu" ); if (!string.IsNullOrEmpty(text)) { ParseText(text); } }
/// <summary> /// Constructor. /// </summary> public IrbisAlphabetTable ( [NotNull] ManagedClient64 client, [NotNull] string fileName ) { string text = client.ReadTextFile ( IrbisPath.System, fileName ); using (StringReader reader = new StringReader(text)) { _encoding = IrbisEncoding.Ansi; _table = _ParseText(reader); _characters = _encoding.GetChars(_table); } }
/// <summary> /// Расформатирует скрипт, скачанный с сервера. /// </summary> /// <param name="client"></param> /// <param name="formatName"></param> /// <param name="record"></param> /// <returns></returns> public static string FormatRemoteFile ( ManagedClient64 client, string formatName, IrbisRecord record ) { string formatSource = client.ReadTextFile(formatName); if (string.IsNullOrEmpty(formatSource)) { return(string.Empty); } return(FormatSource ( client, formatSource, record )); }
public void ParseLines ( string[] lines ) { int pageCount = int.Parse(lines[0]); for (int i = 0; i < pageCount; i++) { IrbisPage page = new IrbisPage(lines[i + 1]); Pages.Add(page); } int skip = 1 + pageCount * 2; int pageIndex = 0; for (int index = 0; index < pageCount; index++) { IrbisPage page = Pages[index]; int lineCount = int.Parse(lines[1 + pageCount + index]); for (int j = 0; j < lineCount; j++) { IrbisLine item = new IrbisLine(); string[] portion = lines.Skip(skip).Take(10).ToArray(); item.ParseLines(portion); page.Lines.Add(item); skip += 10; } if (Pages[pageIndex].Name.StartsWith("@")) { IrbisWorkSheet ws = new IrbisWorkSheet(Pages[pageIndex].Name.Substring(1) + ".ws", client); ws.ParseText(client.ReadTextFile(IrbisPath.MasterFile, ws.Name)); Pages.RemoveAt(pageIndex); Pages.InsertRange(pageIndex, ws.Pages); pageIndex += ws.Pages.Count; } else { pageIndex++; } } }
public void GetSearchScenarios() { string configuration = client.ReadTextFile(IrbisPath.System, "irbis_server.ini"); IniFile iniFile = IniFile.ParseText <IniFile>(configuration); String IniFileName = String.Format("{0}{1}\\{1}.INI", iniFile.Get <String>("MAIN", "DataPath", "C:\\IRBIS64\\DATAI\\"), client.Database); if (System.IO.File.Exists(IniFileName)) { iniFile = IniFile.ParseFile <IniFile>(IniFileName, Encoding.Default); } else { iniFile = IniFile.ParseText <IniFile>(client.Configuration); } IniFile.Section SearchSection = iniFile.GetSection("SEARCH"); int itemCount = (SearchSection == null) ? 0 : SearchSection.Get("ItemNumb", 0); SearchScenarios = new SearchScenario[itemCount]; if (SearchSection != null) { for (int index = 0; index < SearchScenarios.Length; index++) { SearchScenario searchScenario; searchScenario.ItemName = SearchSection.Get("ItemName" + index); searchScenario.ItemPref = SearchSection.Get("ItemPref" + index); searchScenario.ItemDictionType = (DictionType)SearchSection.Get("ItemDictionType" + index, 0); searchScenario.ItemMenu = SearchSection.Get("ItemMenu" + index); searchScenario.ItemF8For = SearchSection.Get("ItemF8For" + index); searchScenario.ItemModByDic = SearchSection.Get("ItemModByDic" + index); try { searchScenario.ItemTranc = SearchSection.Get <int>("ItemTranc" + index, 0) != 0; } catch { searchScenario.ItemTranc = true; } searchScenario.ItemHint = SearchSection.Get("ItemHint" + index); searchScenario.ItemModByDicAuto = SearchSection.Get("ItemModByDicAuto" + index); try { searchScenario.ItemLogic = (LogicType)SearchSection.Get <int>("ItemLogic" + index, 0); } catch { searchScenario.ItemLogic = LogicType.Or; } searchScenario.ItemAdv = SearchSection.Get("ItemAdv" + index); searchScenario.ItemPft = SearchSection.Get("ItemPft" + index); SearchScenarios[index] = searchScenario; } SearchQualifiers = new SearchQualifier[SearchSection.Get("CvalifNumb", 0)]; for (int index = 0; index < SearchQualifiers.Length; index++) { SearchQualifier searchQualifier; searchQualifier.QualifName = SearchSection.Get("CvalifName" + index); searchQualifier.QualifValue = SearchSection.Get("CvalifValue" + index); SearchQualifiers[index] = searchQualifier; } MinLKWLight = SearchSection.Get <int>("MinLKWLight"); } }