Ejemplo n.º 1
0
 /*События, при выборе файла в очерди ГОТОВНОСТЬ*/
 private void QueueOfReady_LB_SelectedIndexChanged(object sender, EventArgs e)
 {
     if (TimerOfProcessor.Enabled == false)
     {
         Log.Clear();
         Load_GB.Hide();
         ReadyLoad_LB.ClearSelected();
         ToLog("Что бы удалить выбранный файл, выюерите его и кликните ПКМ по области ГОТОВНОСТЬ", Color.DeepSkyBlue);
     }
 }
Ejemplo n.º 2
0
 /*ПКМ - скрыть описание загруженного файла*/
 private void FileShow_LB_MouseUp(object sender, MouseEventArgs e)
 {
     switch (e.Button)
     {
     case MouseButtons.Right:
     {
         ReadyLoad_LB.ClearSelected();
         Load_GB.Hide();
         break;
     }
     }
 }
Ejemplo n.º 3
0
        /*Запуск модели*/
        private void Go_B_Click(object sender, EventArgs e)
        {
            Load_GB.Hide();
            ReadyLoad_LB.ClearSelected();
            Log.Clear();
            //TBootFile bf = new TBootFile();
            //bf.nameOfFile = "процесс2";
            //bf.comandsOfFile.Add("ПАМЯТЬ-1000");
            //bf.comandsOfFile.Add("ПРОЦЕССОР-3");
            //bf.comandsOfFile.Add("ПРОЦЕССОР-2");
            //bf.comandsOfFile.Add("КОНЕЦ");
            //TProcess prss = CreateProcess(bf);
            //queueOfReady.Add(prss);
            //TimerOfProcessor.Start();
            if (QueueOfReady_LB.Items.Count > 0)
            {
                ///Processor_TC.TabPages.Clear();//Очистка вкладок
                /*Заполнение главного списка процессов из списка ГОТОВНОСТЬ*/
                for (int i = 0; i < QueueOfReady_LB.Items.Count; i++)
                {
                    TBootFile bootFile = QueueOfReady_LB.Items[i] as TBootFile;
                    TProcess  process  = CreateProcess(bootFile);
                    queueOfReady.Add(process);
                    /* Для рендера ЛОГА  при создании процесса*/
                    ToLog("Создан процесс "); ToLog(process.ToString(), Color.Lime);
                    ToLog(" и добавлен в очерель ГОТОВНОСТЬ.", Color.White);
                    ToLog("Занято ");
                    ToLog(process.descriptor.memory.ToString() + " байт", Color.Lime);
                    ToLog(" процессом ", Color.White);
                    ToLog(process.descriptor.name, Color.Lime);
                }
                /*Отрисовка вкладок ПРОЦЕССОР*/

                /*int j = 0;
                 * foreach (TProcess str in queueOfReady)
                 * {
                 *  DrawPageProc(queueOfReady[j++]);
                 * }*/
                ToLog("Очередь ГОТОВНОСТЬ сформирована.");
                ToLog("Планировщик процессов - запущен.");
                TimerOfProcessor.Start();
                Go_B.Enabled = false;
            }
            else
            {
                ToLog("Добавте сперва процесс в очередь ГОТОВНОСТЬ", Color.Red);
            }
        }
Ejemplo n.º 4
0
 /*Добавить в список ГОТОВНОСТЬ все из списка Доступные файлы*/
 private void AddAll_B_Click(object sender, EventArgs e)
 {
     Load_GB.Hide();
     ReadyLoad_LB.ClearSelected();
     if (TimerOfProcessor.Enabled == false)
     {
         Log.Clear();
         ToLog("Что бы удалить файл из списка ГОТОВНОСТЬ выберите его.", Color.DeepSkyBlue);
         if (ReadyLoad_LB.Items.Count != 0)
         {
             QueueOfReady_LB.Items.AddRange(ReadyLoad_LB.Items);
             Go_B.Enabled = true;
         }
         else
         {
             Log.Clear();
             ToLog("Список доступных файлов пуст. Загрузите хоть один файл, моделирующий процесс.", Color.Red);
         }
     }
 }
Ejemplo n.º 5
0
        /*Меню загрузки файла*/
        private void Button_TS_Click(object sender, EventArgs e)
        {
            Load_GB.Hide();
            ReadyLoad_LB.ClearSelected();
            Open_D.Multiselect = true;
            Open_D.Filter      = "Text files(*.txt)|*.txt|All files(*.*)|*.*";
            Open_D.FileName    = ""; // Имя файла "по умолчанию" не задано
            Open_D.Title       = "Загрузка файла, моделирующего процесс";

            /* *
             * Вызов диалогового окна выбора файла для загрузки и проверка результата завершения его работы.
             * Если окно закрыто с подтверждением загрузки (нажата кнопка OK),
             * то выполнение действий по чтению файла построчно
             * */
            if (Open_D.ShowDialog() == DialogResult.OK)
            {
                foreach (string file in Open_D.FileNames)
                {
                    using (StreamReader sr = new StreamReader(file, Encoding.Default))
                    {
                        TBootFile bootFile = new TBootFile();
                        bootFile.nameOfFile = Path.GetFileNameWithoutExtension(file);
                        while (!sr.EndOfStream)
                        {
                            string line = sr.ReadLine().Trim();
                            bootFile.comandsOfFile.Add(line);
                        }
                        ReadyLoad_LB.Items.Add(bootFile);
                    }
                }
                if (!TimerOfProcessor.Enabled)
                {
                    Log.Clear();
                    ToLog("Выберите любой файл и добавте его в список ГОТОВНОСТЬ", Color.DeepSkyBlue);
                }
            }
        }