コード例 #1
0
ファイル: Program.cs プロジェクト: fossabot/ManagedIrbis
        static void Main(string[] args)
        {
            if (args.Length < 2)
            {
                return;
            }

            magazines = new CaseInsensitiveDictionary <string>();
            counter   = new DictionaryCounterInt32 <string>();
            string databasePath = args[0];

            filter = args[1];

            try
            {
                ServerConfiguration configuration
                    = ServerConfiguration.FromIniFile(databasePath);
                using (irbis = new Irbis64Dll(configuration))
                {
                    irbis.Layout = SpaceLayout.Version2014();
                    irbis.SetStandardIniFile("irbisc.ini");
                    int[] found = null;
                    irbis.UseDatabase("ibis");
                    string briefPft = irbis.GetPftPath("sbrief");
                    irbis.SetFormat("@" + briefPft);

                    found = irbis.Search(filter);
                    if (found.Length == 0)
                    {
                        Console.WriteLine("Noting found");
                        return;
                    }
                    Console.WriteLine("Found: {0}", found.Length);

                    foreach (int mfn in found)
                    {
                        ProcessRecord(mfn);
                    }

                    Console.WriteLine();
                    Console.WriteLine();
                    Console.WriteLine("Всего выдач: {0}", counter.Total);
                    Console.WriteLine();

                    KeyValuePair <string, int>[] pairs = counter
                                                         .OrderByDescending(pair => pair.Value)
                                                         .ToArray();

                    foreach (KeyValuePair <string, int> pair in pairs)
                    {
                        Console.WriteLine
                        (
                            "{0}\t{1}",
                            pair.Key,
                            pair.Value
                        );
                    }
                }
            }
            catch (Exception exception)
            {
                Console.WriteLine(exception);
            }
        }