예제 #1
0
파일: Program.cs 프로젝트: lan355/-
        static void Main(string[] args)
        {
            Note   n   = new Note();
            string way = Environment.CurrentDirectory;

            if (File.Exists(way + "\\password.txt") == false)
            {
                FileStream p = File.Create(way + "\\password.txt");
                p.Close();
            }

            bool next1 = false;

            next1 = n.Password(next1);

            if (next1 == false)
            {
                Environment.Exit(0);
            }

            if (File.Exists(way + "\\db.txt") == false)
            {
                FileStream f = File.Create(way + "\\db.txt");
                f.Close();
            }

            FileStream   fstream = File.OpenRead(way + "\\db.txt");
            StreamReader reader  = new StreamReader(fstream);
            string       steam;
            int          N = 0;

            while ((steam = reader.ReadLine()) != null)
            {
                N++;
            }
            n.Start(N);

            reader.Close();
            fstream.Close();

            Console.Title = "zagolovok";
back1:
            Menu m = new Menu(new string[] { "Добавить запись в базу", "Просмотр Базы Данных", "Сортировать", "Изменить", "Удалить", "Допольнительные функции", "Изменить/Создать пароль", "Справка", "Выход" });
            ConsoleKeyInfo info;
            bool           flag = true;

            do
            {
                info = Console.ReadKey();
                switch (info.Key)
                {
                case ConsoleKey.DownArrow:
                    m.SelectDown();
                    break;

                case ConsoleKey.UpArrow:
                    m.SelectUp();
                    break;

                case ConsoleKey.Enter:
                    m.HideMenu();
                    switch (m.SelectTerm)
                    {
                    case 0:
                        n.FillMain(N);
                        N++;
                        break;

                    case 1:
                        n.Seen(N);
                        break;

                    case 2:
                        Menu           s = new Menu(new string[] { "Сортировать по названию", "Сортировать по населению", "Сортировать по площади", "Назад" });
                        ConsoleKeyInfo info2;
                        bool           flag2 = true;
                        do
                        {
                            info2 = Console.ReadKey();
                            switch (info2.Key)
                            {
                            case ConsoleKey.DownArrow:
                                s.SelectDown();
                                break;

                            case ConsoleKey.UpArrow:
                                s.SelectUp();
                                break;

                            case ConsoleKey.Enter:
                                s.HideMenu();
                                switch (s.SelectTerm)
                                {
                                case 0:
                                    n.Sort(N);
                                    n.Seen(N);
                                    break;

                                case 1:
                                    n.PeopleSort(N);
                                    n.Seen(N);
                                    break;

                                case 2:
                                    n.SquareSort(N);
                                    n.Seen(N);
                                    break;

                                case 3:
                                    goto back1;
                                }
                                s.ShowMenu();
                                break;
                            }
                        } while (flag2);
                        break;

                    case 3:
                        bool next = false;
                        next = n.Password(next);


                        if (next == true)
                        {
                            Menu           ch = new Menu(new string[] { "Изменить название", "Изменить столицу", "Изменить континент", "Изменить численность", "Изменить площадь", "Назад" });
                            ConsoleKeyInfo infochange;
                            bool           flagchange = true;
                            do
                            {
                                infochange = Console.ReadKey();
                                switch (infochange.Key)
                                {
                                case ConsoleKey.DownArrow:
                                    ch.SelectDown();
                                    break;

                                case ConsoleKey.UpArrow:
                                    ch.SelectUp();
                                    break;

                                case ConsoleKey.Enter:
                                    ch.HideMenu();
                                    switch (ch.SelectTerm)
                                    {
                                    case 0:
                                        n.Seen(N);
                                        int ChangePer = 0;
                                        n.Change(N, ChangePer);
                                        break;

                                    case 1:
                                        n.Seen(N);
                                        ChangePer = 1;
                                        n.Change(N, ChangePer);
                                        break;

                                    case 2:
                                        n.Seen(N);
                                        ChangePer = 2;
                                        n.Change(N, ChangePer);
                                        break;

                                    case 3:
                                        n.Seen(N);
                                        ChangePer = 3;
                                        n.Change(N, ChangePer);
                                        break;

                                    case 4:
                                        n.Seen(N);
                                        ChangePer = 4;
                                        n.Change(N, ChangePer);
                                        break;

                                    case 5:
                                        goto back1;
                                    }
                                    ch.ShowMenu();
                                    break;
                                }
                            } while (flagchange);
                        }
                        break;

                    case 4:
                        n.Seen(N);
                        n.Delete(N);
                        N--;
                        n.WriteFile(N);
                        n.Seen(N);
                        break;

                    case 5:
                        Menu           m2 = new Menu(new string[] { "Удалить, если численность населения меньше заданого", "Поиск по названию столицы", "Поиск занимающей площади", "Назад" });
                        ConsoleKeyInfo info1;
                        bool           flag1 = true;
                        do
                        {
                            info1 = Console.ReadKey();
                            switch (info1.Key)
                            {
                            case ConsoleKey.DownArrow:
                                m2.SelectDown();
                                break;

                            case ConsoleKey.UpArrow:
                                m2.SelectUp();
                                break;

                            case ConsoleKey.Enter:
                                m2.HideMenu();
                                switch (m2.SelectTerm)
                                {
                                case 0:
                                    n.Seen(N);
                                    Console.WriteLine("Введите численность населения");
                                    uint DeleteWriter = uint.Parse(Console.ReadLine());
                                    int  J            = n.newN(N, DeleteWriter);
                                    n.DeleteBase(N, DeleteWriter, J);
                                    N = J;
                                    n.WriteFile(N);
                                    n.Seen(N);
                                    break;

                                case 1:
                                    n.Seen(N);
                                    n.SearchCapital(N);
                                    break;

                                case 2:
                                    n.Seen(N);
                                    n.SearchSquare(N);
                                    break;

                                case 3:
                                    goto back1;
                                }
                                m2.ShowMenu();
                                break;
                            }
                        } while (flag1);
                        break;

                    case 6:
                        n.CreatePassword();
                        break;

                    case 7:
                        string WayHelp = Environment.CurrentDirectory;
                        if (File.Exists(WayHelp + "\\Help.txt") == true)
                        {
                            System.Diagnostics.Process.Start(WayHelp + "\\Help.txt");
                        }
                        break;

                    case 8:
                        Environment.Exit(0);
                        break;
                    }
                    m.ShowMenu();
                    break;
                }
            } while (flag);
        }