Exemple #1
0
        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);
        }
Exemple #3
0
        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);
        }
Exemple #4
0
        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));
        }
Exemple #6
0
        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
                   ));
        }
Exemple #9
0
        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++;
                }
            }
        }
Exemple #10
0
        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");
            }
        }