Ejemplo n.º 1
0
        /// <summary>
        /// Обработчик события первой загрузки главной формы
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void EnrolleeForm_Load(object sender, EventArgs e)
        {
            // загрузка базы
            if (!SaverLoader.RestoreTables(_root, Properties.Settings.Default.ConnectionString))
            {
                // если загрузка с сервера не произошла, то пытаемся загрузится с локального файла
                var fileName = Path.ChangeExtension(Application.ExecutablePath, ".bin");
                if (File.Exists(fileName))
                {
                    _root = SaverLoader.LoadFromFile(fileName);
                    // при загрузке из файла корневой объект вновь создается, поэтому снова передаем ссылку на него
                    Helper.DefineRoot(_root);
                    // регистрируем таблицы сущностей после загрузки из файла
                    _root.RegistryTables();
                }
            }
            // ошибки операций с базой данных сохраняются в переменной OperationResult
            var result = SaverLoader.OperationResult;

            // показываем результат
            tsslStatusLabel.Text = string.IsNullOrWhiteSpace(result)
                                ? "Готово" : result.Substring(0, result.IndexOf('.') + 1);
            statusStrip1.Refresh();
            // небольшая задержка для показа заставки
            Thread.Sleep(1000);
            // заставку убираем
            Program.Splash.Close();
        }
Ejemplo n.º 2
0
        /// <summary>
        /// Загрузить из файла
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void tsmiLoadFromFile_Click(object sender, EventArgs e)
        {
            var fileName = Path.ChangeExtension(Application.ExecutablePath, ".dat");

            if (File.Exists(fileName))
            {
                _hotel = SaverLoader.LoadFromFile(fileName);
            }
        }
Ejemplo n.º 3
0
        private void MainForm_Load(object sender, EventArgs e)
        {
            var fileName = Path.ChangeExtension(Application.ExecutablePath, ".bin");

            if (File.Exists(fileName))
            {
                _school = SaverLoader.LoadFromFile(fileName);
                _school.RegistryTables();
            }
        }
Ejemplo n.º 4
0
 /// <summary>
 /// Первоначальная главной загрузка формы
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void BaseEditorForm_Load(object sender, EventArgs e)
 {
     if (File.Exists(_defaultFileName))
     {
         _modelRoot = SaverLoader.LoadFromFile(_defaultFileName);
     }
     // инициализация менеджера отмены/возврата состояния
     _undoRedoController = new UndoRedoController(_modelRoot);
     // заполнение дерева
     FillTree(treeView);
 }
Ejemplo n.º 5
0
 /// <summary>
 /// Восстановить из файла
 /// </summary>
 /// <param name="sender"></param>
 /// <param name="e"></param>
 private void button3_Click(object sender, EventArgs e)
 {
     if (File.Exists("Graph.dat"))
     {
         Graph = (Graph)SaverLoader.LoadFromFile("Graph.dat");
     }
     else
     {
         MessageBox.Show("Граф не был восстановлен", "Warning", MessageBoxButtons.OK, MessageBoxIcon.Warning);
     }
 }
Ejemplo n.º 6
0
        private void fileManager_NewDocNeeded(object sender, DocEventArgs e)
        {
            if (e.FirstDocument)
            {
                if (File.Exists(TempFilePath))
                {
                    try
                    {
                        e.Document = SaverLoader.LoadFromFile(TempFilePath);
                        return;
                    } catch (Exception ex)
                    {
                        Console.WriteLine(ex.Message);
                    }
                }
            }

            e.Document = new Grid();
        }
Ejemplo n.º 7
0
        static void Main(string[] args)
        {
            bool goOut = false;
            BinomialHeap <int> binomialHeap = null;

            do
            {
                char whatToDo;

                whatToDo = Subroutines.PrintMenu();
                switch (whatToDo)
                {
                //
                // c - создать кучу и заполнить ее случайными величинами
                //
                case 'c':
                {
                    bool isError;
                    int  number;
                    binomialHeap = new BinomialHeap <int>();
                    do
                    {
                        isError = false;
                        do
                        {
                            Console.Write("Сколько элементов будет в куче?\nВаше число ");
                        } while (!Int32.TryParse(Console.ReadLine(), out number));
                        if (number <= 0 || number > 10000)
                        {
                            isError = true;
                        }
                    } while (isError == true);
                    for (int i = 0; i < number; i++)
                    {
                        binomialHeap.Add(new Random().Next(-50, 1000));
                        System.Threading.Thread.Sleep(30);
                    }
                    SaverLoader.SaveToFile("input.dat", binomialHeap);
                    Console.WriteLine("Куча успешно сформирована. Нажмите что-нибудь...");
                    Console.ReadKey();
                    try
                    {
                        binomialHeap.WriteBinomialHeapToFile("output.dat");
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine("GG in file output.dat");
                        Console.ReadKey();
                    }
                    break;
                }

                //
                //  r - добавить элементы в кучу
                //
                case 'r':
                {
                    int number;
                    do
                    {
                        do
                        {
                            Console.Write("Сколько элементов добавить? (не более 10)\nВаше число ");
                        } while (!Int32.TryParse(Console.ReadLine(), out number));
                    } while (number < 1 || number > 10);

                    if (binomialHeap == null)
                    {
                        binomialHeap = new BinomialHeap <int>();
                    }
                    for (int i = 0; i < number; i++)
                    {
                        int digit;
                        do
                        {
                            Console.Write("\nЧисло №" + (i + 1) + " = ");
                        } while (!Int32.TryParse(Console.ReadLine(), out digit));
                        binomialHeap.Add(digit);
                    }
                    Console.WriteLine("Элементы успешно добавлены. Нажмите что-нибудь...");
                    Console.ReadKey();
                    if (File.Exists("input.dat"))
                    {
                        File.Delete("input.dat");
                    }
                    SaverLoader.SaveToFile("input.dat", binomialHeap);
                    try
                    {
                        binomialHeap.WriteBinomialHeapToFile("output.dat");
                    }
                    catch (Exception e)
                    {
                        Console.WriteLine("GG in file output.dat");
                        Console.ReadKey();
                    }
                    break;
                }

                //
                // b - восстановить кучу из файла input.dat
                //
                case 'b':
                {
                    binomialHeap = (BinomialHeap <int>)SaverLoader.LoadFromFile("input.dat");
                    Console.WriteLine("Куча успешно восстановлена. Нажмите что-нибудь...");
                    Console.ReadKey();
                    break;
                }

                //
                //  p - показать кучу
                //
                case 'p':
                {
                    if (binomialHeap == null)
                    {
                        Console.WriteLine("\nКуча не существует. Нажмите что-нибудь...");
                        Console.ReadKey();
                        break;
                    }
                    Console.WriteLine("\n---------------------------");
                    binomialHeap.Print();
                    Console.ReadKey();
                    break;
                }

                //
                //  d - вывести первые К натуральных чисел
                //
                case 'd':
                {
                    if (binomialHeap == null)
                    {
                        Console.WriteLine("\nКуча не существует. Нажмите что-нибудь...");
                        Console.ReadKey();
                        break;
                    }
                    int k;
                    do
                    {
                        do
                        {
                            Console.Write("Сколько элементов вывести?\nВаше число ");
                        } while (!Int32.TryParse(Console.ReadLine(), out k));
                    } while (k < 1);
                    binomialHeap.PrintFirstNaturalElements(k);
                    Console.ReadKey();
                    break;
                }

                //
                //  ESC - выход
                //
                case (char)27:
                {
                    goOut = true;
                    break;
                }
                }
            } while (goOut == false);
        }