Example #1
0
        public static void DrawList(ref Panel panel, NodoList nodoList)
        {
            for (int i = 0; i < nodoList.Length(); i++)
            {
                Graphics  g2            = panel.CreateGraphics();
                Rectangle nodoRectangle = new Rectangle(i * 110, 0, 100, 40);
                Pen       pen           = new Pen(Color.Black);
                g2.FillRectangle(Brushes.WhiteSmoke, nodoRectangle);
                g2.DrawRectangle(pen, nodoRectangle);
                g2.DrawLine(pen, i * 110 + 40, 0, i * 110 + 40, 40);
                g2.DrawLine(pen, i * 110 + 80, 0, i * 110 + 80, 40);

                g2.DrawString(nodoList.Dir(i).ToString(), new Font(FontFamily.GenericSerif, 10), Brushes.Black, i * 110 + 15, 15);
                g2.DrawString(nodoList.Tam(i).ToString(), new Font(FontFamily.GenericSerif, 10), Brushes.Black, i * 110 + 55, 15);
                g2.DrawLine(pen, i * 110 + 90, 20, i * 110 + 110, 20);
            }
        }
Example #2
0
        private void button4_Click(object sender, EventArgs e)
        {
            List <Process> processes = new List <Process>();
            Process        process1  = new Process();
            Process        process2  = new Process();
            Process        process3  = new Process();
            Process        process4  = new Process();

            process1.Id  = 1;
            process1.Dir = 100;
            process1.Tam = 100;

            process2.Id  = 2;
            process2.Dir = 250;
            process2.Tam = 150;

            process3.Id  = 3;
            process3.Dir = 400;
            process3.Tam = 100;

            process4.Id  = 4;
            process4.Dir = 600;
            process4.Tam = 400;
            processes.Add(process1);
            processes.Add(process2);
            processes.Add(process3);
            processes.Add(process4);



            //-------------------------------------------------------------------
            NodoList nodoList = new NodoList();
            Nodo     nodo1    = new Nodo();

            nodo1.Dir = 0;
            nodo1.Tam = 200;
            Nodo nodo2 = new Nodo();

            nodo2.Dir = 250;
            nodo2.Tam = 250;

            Nodo nodo3 = new Nodo();

            nodo3.Dir = 600;
            nodo3.Tam = 400;

            nodoList.Add(nodo1);
            nodoList.Add(nodo2);
            nodoList.Add(nodo3);
            mem = new Mem(1000);
            // Drawer.DrawList(ref panel2, nodoList);

            mem.L = nodoList;
            // Process process5 = new Process { Id = 5, Tam = 20 };
            //mem.LoadProcess(ref process5);

            //processes.Insert(processes.FindIndex(p => p.Dir < process5.Dir), process5);

            //int s = mem.getFreeSize(200);
            //int s1 = mem.getFreeSize(500);
            //   mem.L.AddOrdenedByDir(nodo3);

            //mem.L = mem.generateNodoList(processes);
            //processes.Remove(process1);
            //mem.L = mem.generateNodoList(processes);
            mem.FreeMem(process4);
            Drawer.DrawMem(ref panel1, processes, mem.S, mem.M);
            Drawer.DrawList(ref panel2, mem.L);
        }