コード例 #1
0
        /// <summary>
        ///
        /// </summary>
        /// <param name="ContentPath">Директория, в которую сохраняем контент</param>
        public void UpdateContent(string ContentPath)
        {
            //сначала удаляем старые файлы
            if (!Directory.Exists(ContentPath))
            {
                Logs.WriteLine("Директория со старым контентом не найдена. Пропускаю удаление.");
            }
            else
            {
                try
                {
                    Directory.Delete(ContentPath, true);
                }
                catch (Exception e)
                {
                    Logs.WriteLine("При удалении старого контента возникла ошибка. Подробности:" + e.Message);
                    MessageBox.Show("Ошибка при обновлении контента!" + Environment.NewLine + "Пожалуйста, закройте все открытые Вами файлы и папки и перезапустите приложение." + Environment.NewLine + "Если ошибка продолжает появляться, отправьте логи разработчику.");
                    Environment.Exit(0);
                }
            }

            //запускаем потоки-конвертеры для теории, примеров и тестов
            Logs.WriteLine("Запуск потоков-конвертеров");
            TexConverter  theory   = new TexConverter(path, ContentPath, "Теория");
            TexConverter  examples = new TexConverter(path, ContentPath, "Примеры");
            TestConverter tests    = new TestConverter(path, ContentPath, "Тесты");

            Thread thread_theory = new Thread(theory.Run);

            thread_theory.Start();

            Thread thread_examples = new Thread(examples.Run);

            thread_examples.Start();

            Thread thread_tests = new Thread(tests.Run);

            thread_tests.Start();

            while (thread_theory.ThreadState == ThreadState.Running || thread_examples.ThreadState == ThreadState.Running || thread_tests.ThreadState == ThreadState.Running)
            {
                Application.DoEvents();
            }
            Logs.WriteLine("Конвертеры завершили работу");
        }
コード例 #2
0
        /// <summary>
        /// 
        /// </summary>
        /// <param name="ContentPath">Директория, в которую сохраняем контент</param>
        public void UpdateContent(string ContentPath)
        {
            //сначала удаляем старые файлы
            if (!Directory.Exists(ContentPath))
                Logs.WriteLine("Директория со старым контентом не найдена. Пропускаю удаление.");
            else
            {
                try
                {
                    Directory.Delete(ContentPath, true);
                }
                catch(Exception e)
                {
                    Logs.WriteLine("При удалении старого контента возникла ошибка. Подробности:"+e.Message);
                    MessageBox.Show("Ошибка при обновлении контента!"+Environment.NewLine+"Пожалуйста, закройте все открытые Вами файлы и папки и перезапустите приложение."+Environment.NewLine+"Если ошибка продолжает появляться, отправьте логи разработчику.");
                    Environment.Exit(0);
                }
            }

            //запускаем потоки-конвертеры для теории, примеров и тестов
            Logs.WriteLine("Запуск потоков-конвертеров");
            TexConverter theory = new TexConverter(path,ContentPath,"Теория");
            TexConverter examples = new TexConverter(path, ContentPath, "Примеры");
            TestConverter tests = new TestConverter(path, ContentPath, "Тесты");

            Thread thread_theory = new Thread(theory.Run);
            thread_theory.Start();

            Thread thread_examples = new Thread(examples.Run);
            thread_examples.Start();

            Thread thread_tests = new Thread(tests.Run);
            thread_tests.Start();

            while (thread_theory.ThreadState == ThreadState.Running || thread_examples.ThreadState == ThreadState.Running || thread_tests.ThreadState == ThreadState.Running)
            {
                Application.DoEvents();
            }
            Logs.WriteLine("Конвертеры завершили работу");
        }