예제 #1
0
        public void GetStart()
        {
            Console.Clear();
            ConsoleExt.WriteLine("\n  Введите текстом путь к папке или файлу.", ConsoleColor.Cyan);
            ConsoleExt.WriteLine("  (К примеру C:/Program Files/ или D:/)", ConsoleColor.DarkGray);
            _fileCreatePath = Console.ReadLine();

            BeginSteps();
        }
예제 #2
0
        private void SetSelector()
        {
            ConsoleExt.WriteLine($" Файл для обработки: {_filePath}\n", ConsoleColor.DarkGray);
            ConsoleExt.WriteLine("\n Как поступить дальше? Выберите пожалуйста следующее действие:\n");
            ConsoleExt.WriteSelect(1);
            ConsoleExt.Write("Удалить символ;\n");
            ConsoleExt.WriteSelect(2);
            ConsoleExt.Write("Удалить строку;\n");
            ConsoleExt.WriteSelect(3);
            ConsoleExt.Write("Вывести каждое 10-ое слово + инфа;\n");
            ConsoleExt.WriteSelect(4);
            ConsoleExt.Write("Реверс третьего предложения;\n");
            ConsoleExt.WriteSelect(0);
            ConsoleExt.Write("Выйти из приложения.\n", ConsoleColor.DarkCyan);

            try
            {
                switch (int.Parse(Console.ReadKey().KeyChar.ToString()))
                {
                case 0:
                    ConsoleExt.Clear();
                    break;

                case 1:
                    deleteSymbol.EditSymbol(1, _filePath);
                    SelectWork();
                    break;

                case 2:
                    deleteSymbol.EditSymbol(2, _filePath);
                    SelectWork();
                    break;

                case 3:
                    infoText.GetInfo(_filePath);
                    SelectWork();
                    break;

                case 4:
                    reverceText.Reverce(_filePath);
                    SelectWork();
                    break;

                default:
                    ConsoleExt.Clear();
                    ConsoleExt.WriteLine(" Пожалуйста, выберите из списка.", ConsoleColor.Yellow);
                    SetSelector();
                    break;
                }
            }
            catch
            {
                ConsoleExt.Clear();
                ConsoleExt.WriteLine(" Пожалуйста, воспользуйтесь цифрами. :)", ConsoleColor.Yellow);
                SetSelector();
            }
        }
        static void Main(string[] args)
        {
            const int count = 5;

            ConsoleExt.WriteLine($"Starting the application with count: {count}!");
            ConsoleExt.WriteLine("Classic sum starting.");
            ConsoleExt.WriteLine($"Classic sum result: {SumFromOneToCount(count)}");
            ConsoleExt.WriteLine("Classic sum completed.");
            ConsoleExt.WriteLine("################################################");
        }
예제 #4
0
 public static void Save(string pathToFile, string savedTxt)
 {
     if (File.Exists(pathToFile))
     {
         using (var srw = new StreamWriter(pathToFile))
         {
             srw.Write(savedTxt);
         }
         ConsoleExt.WriteLine(" \n  Файл сохранён...", ConsoleColor.DarkGray);
     }
 }
예제 #5
0
 private void SetInfo()
 {
     Console.Clear();
     Console.WriteLine("\n  --[PathBuilder v0.9]--");
     //На всякий случай, если пустая строка то начать с момента ввода
     if (_fileCreatePath == "")
     {
         GetStart();
     }
     ConsoleExt.WriteLine(" \n Куда перейти дальше?\n", ConsoleColor.Red);
 }
예제 #6
0
        public void EditSymbol(int idEditor, string Path)
        {
            _filePath = Path;
            Console.Clear();
            var fileText = FileTextReader.TextReader(_filePath);

            FileBackup.Backup(_filePath);

            UserIteraction(fileText, idEditor);
            ConsoleExt.WriteLine(" Нажмите любую кнопку чтобы продолжить.", ConsoleColor.Cyan);
            Console.ReadKey();
        }
        static int SumFromOneToCount(int count)
        {
            ConsoleExt.WriteLine("SumFromOneToCount called!");

            var sum = 0;

            for (var i = 0; i <= count; i++)
            {
                sum = sum + i;
            }
            return(sum);
        }
        static IEnumerable <int> SumFromOneToCountYield(int count)
        {
            ConsoleExt.WriteLine("SumFromOneToCountYield called!");

            var sum = 0;

            for (var i = 0; i <= count; i++)
            {
                sum = sum + i;

                yield return(sum);
            }
        }
        static void Main(string[] args)
        {
            const int count = 5;

            ConsoleExt.WriteLine("Sum with yield starting.");
            foreach (var i in SumFromOneToCountYield(count))
            {
                ConsoleExt.WriteLine($"Yield sum: {i}");
            }
            ConsoleExt.WriteLine("Sum with yield completed.");

            ConsoleExt.WriteLine("################################################");
            ConsoleExt.WriteLine(Environment.NewLine);
        }
        static async Task Main(string[] args)
        {
            const int count = 5;

            ConsoleExt.WriteLine("async example starting.");
            // Sum runs asynchronously! Not enough. We need sum to be async with lazy behavior.
            var result = await SumFromOneToCountAsync(count);

            ConsoleExt.WriteLine("async Result: " + result);
            ConsoleExt.WriteLine("async completed.");

            ConsoleExt.WriteLine("################################################");
            ConsoleExt.WriteLine(Environment.NewLine);
        }
예제 #11
0
        private static void Sample2()
        {
            var numbers2 = new[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
            var numbers  = 1.IterateTo(10);               //same as new[] {1, 2, 3, 4, 5, 6, 7, 8, 9};

            var index         = numbers.IndexOf(6);       //return number of index nr 5
            var numbors2x1    = numbers.Repeat(2, true);  //{1, 2, 3, 4, 5, 6, 7, 8, 9, 1, 2, 3, 4, 5, 6, 7, 8, 9}
            var numbors2x2    = numbers.Repeat(2, false); // {1,1,2,2,3,3,4,4,5,5,6,6,7,7,8,8,9,9}
            var numbersRandom = numbers.Shuffle();        //Randomise collections

            9.In(numbers);                                //Checks if 9 is in colection
            numbers.ToStringSeparated(";");               // "1; 2; 3; 4; 5; 6; 7; 8; 9"

            ConsoleExt.WriteLine(numbers);                //Writes collections of numbers
        }
        static async Task <int> SumFromOneToCountAsync(int count)
        {
            ConsoleExt.WriteLine("SumFromOneToCountAsync called!");

            var result = await Task.Run(() =>
            {
                var sum = 0;

                for (var i = 0; i <= count; i++)
                {
                    sum = sum + i;
                }
                return(sum);
            });

            return(result);
        }
예제 #13
0
        private static void Sample3()
        {
            var persons = new[]
            {
                new Person {
                    FirstName = "Arek", LastName = "XYZ", Age = 23
                },
                new Person {
                    FirstName = "David", LastName = "XYZ", Age = 19
                },
            };
            var personsDataTable = persons.ToDataTable();

            ConsoleExt.WriteLine(personsDataTable);
            var personsOrderd = persons.OrderBy(x => x.Age); //Ordering by Age

            ConsoleExt.WriteLine(persons, x => new { x.FirstName, x.LastName });
        }
        static async Task Main(string[] args)
        {
            const int count = 5;

            ConsoleExt.WriteLine("Starting Async Streams Demo!");

            // Start a new task. Used to produce async sequence of data!
            IAsyncEnumerable <int> pullBasedAsyncSequence = ProduceAsyncSumSeqeunc(count);

            // Start another task; Used to consume the async data sequence!
            var consumingTask = Task.Run(() => ConsumeAsyncSumSeqeunc(pullBasedAsyncSequence));

            await Task.Delay(TimeSpan.FromSeconds(3));

            ConsoleExt.WriteLineAsync("X#X#X#X#X#X#X#X#X#X# Doing some other work X#X#X#X#X#X#X#X#X#X#");

            // Just for demo! Wait until the task is finished!
            await consumingTask;

            ConsoleExt.WriteLineAsync("Async Streams Demo Done!");
        }
예제 #15
0
        public void GetInfo(string path)
        {
            string text = FileTextReader.TextReader(path);

            ConsoleExt.Clear();
            string[] changeText = text.Split(new char[] { ' ', '?', '!', '.', ';', ':', ',', '\r', '\n', '(', ')', '\"' },
                                             StringSplitOptions.RemoveEmptyEntries);
            for (int i = 0; i < changeText.Length; i += 10)
            {
                if (i < changeText.Length)
                {
                    Console.Write(changeText[i] + ", ");
                }
                if (i >= changeText.Length - 10)
                {
                    Console.WriteLine(changeText[i] + ".");
                }
            }

            ConsoleExt.WriteLine($"\n Инфо:  {changeText.Length} слов в тексте.");
            Console.ReadKey();
        }
예제 #16
0
        private void UserIteraction(string textFile, int id)
        {
            ConsoleExt.Write("\n Какой символ удалить из файла?\n Символ: ", ConsoleColor.Yellow);
            try
            {
                string x      = null;
                string choice = null;
                if (id == 1)
                {
                    char x1 = Console.ReadKey().KeyChar;
                    x      = Convert.ToString(x1);
                    choice = "Символ";
                    if (textFile.Contains(x))
                    {
                        textFile = Regex.Replace(textFile, $@"[{x}]", "");
                    }
                    else
                    {
                        ConsoleExt.WriteLine("\n Увы, но такого символа уже нет с нами... ", ConsoleColor.Cyan);
                    }
                }
                if (id == 2)
                {
                    string x2 = Console.ReadLine();
                    x        = x2; choice = "Слово";
                    textFile = textFile.Replace(x2, "");
                }

                FileTextWriter.Save(_filePath, textFile);
                ConsoleExt.WriteLine($"\n{textFile}\n");
            }
            catch
            {
                ConsoleExt.WriteLine(" Ошибка при удалении символа", ConsoleColor.Magenta);
            }
        }