Пример #1
0
 private void timer1_Tick(object sender, EventArgs e)
 {
     if (BANK.get_day_time() == 60 && ADD.Visible)
     {
         ADD.Hide();
         MessageBox.Show("Прием заявок окончен", "Внимание");
     }
     if (BANK.get_day_time() == 0 && BANK.is_empty_all())
     {
         ending();
     }
     else
     {
         BANK.check_kassa();
         BANK.creating();
         BANK.working();
         BANK.dec_day_time();
         //tick = print;
         //print();
         //print2();
         //print_cur();
         print_id();
         label10.Text = "До конца рабочего дня: " + Convert.ToString(BANK.get_day_time() / 60) + ":" + Convert.ToString(BANK.get_day_time() % 60);
         if (BANK.get_day_time() == 0)
         {
             label10.Text = "Работа до последнего клиента";
         }
     }
 }
Пример #2
0
 private void Best_fit_Load(object sender, EventArgs e)
 {
     ADD.Hide();
     Delete.Hide();
     textBox6.Hide();
     label6.Hide();
 }
Пример #3
0
        private void ADD_Click_1(object sender, EventArgs e)
        {
            Check(textBox4);

            node H    = new node();
            bool flag = false;

            H.name           = "P" + textBox1.Text + " " + textBox2.Text;
            H.limit          = long.Parse(textBox4.Text);
            Numberofsegments = int.Parse(textBox3.Text);
            H.Number_Seg     = Numberofsegments;
            foreach (node g in list_hole)
            {
                if (g.name.Contains("hole") && H.limit <= g.limit)
                {
                    H.start = g.start;
                    if (H.limit == g.limit)
                    {
                        list_hole.Remove(g);
                    }
                    else
                    {
                        g.start += H.limit;
                        g.limit -= H.limit;
                    }
                    list_hole.Add(H);
                    textBox2.Clear();
                    textBox1.Clear();
                    textBox3.Clear();
                    textBox4.Clear();
                    Numberofsegments--;
                    panel2.Refresh();
                    flag = true;
                    break;
                }
                if (flag)
                {
                    break;
                }
            }
            if (!flag)
            {
                DialogResult re;
                re = MessageBox.Show("There is no space to " + H.name);
                if (re == DialogResult.OK)
                {
                    textBox2.Clear();
                    textBox4.Clear();
                }
            }
            if (Numberofsegments == 0)
            {
                textBox1.Clear();
                textBox2.Clear();
                textBox4.Clear();
                textBox3.Clear();
                ADD.Hide();
            }
        }
Пример #4
0
 private void First_Load(object sender, EventArgs e)
 {
     ADD.Hide();
     Delete.Hide();
     textBox6.Hide();
     label6.Hide();
     panel2.Refresh();
     textBox1.Clear();
     textBox2.Clear();
     textBox3.Clear();
     textBox4.Clear();
 }
Пример #5
0
        private void ADD_Click(object sender, EventArgs e)
        {
            Check(textBox4);
            first_hole = false;
            node H    = new node();
            bool flag = false;

            H.name           = "P" + textBox1.Text + " " + textBox2.Text;
            H.limit          = long.Parse(textBox4.Text);
            Numberofsegments = int.Parse(textBox3.Text);
            H.Number_Seg     = Numberofsegments;


            for (int i = 0; i < list_hole1.Count() - 1; i++)
            {
                if (list_hole1[i].name.Contains("hole") && !first_hole && (list_hole1[i].limit >= H.limit))
                {
                    min        = list_hole1[i].limit;
                    index      = i;
                    flag       = true;
                    first_hole = true;
                }
                else if (list_hole1[i].name.Contains("hole") && first_hole && (list_hole1[i].limit >= H.limit) && (list_hole1[i].limit < min))
                {
                    min   = list_hole1[i].limit;
                    index = i;
                    flag  = true;
                }
            }
            if (flag)
            {
                H.start = list_hole1[index].start;

                if (H.limit == list_hole1[index].limit)
                {
                    list_hole1.Remove(list_hole1[index]);
                }
                else
                {
                    list_hole1[index].start += H.limit;
                    list_hole1[index].limit -= H.limit;
                }
                list_hole1.Add(H);
                textBox2.Clear();
                textBox1.Clear();
                textBox3.Clear();
                textBox4.Clear();
                Numberofsegments--;
                panel2.Refresh();
            }

            if (!flag)
            {
                DialogResult re;
                re = MessageBox.Show("There is no space to " + H.name);
                if (re == DialogResult.OK)
                {
                    textBox2.Clear();
                    textBox4.Clear();
                }
            }
            if (Numberofsegments == 0)
            {
                textBox1.Clear();
                textBox2.Clear();
                textBox4.Clear();
                textBox3.Clear();
                ADD.Hide();
            }
        }
Пример #6
0
        private void ADD_Click(object sender, EventArgs e)
        {
            bool flags = false;

            if (i <= number)
            {
                node H = new node();
                H.limit = long.Parse(textBox3.Text);
                H.start = long.Parse(textBox2.Text);
                H.name  = "hole" + i;
                rest   -= H.limit;
                if (rest >= 0 && (H.start + H.limit <= mem_size - 1))
                {
                    foreach (node G in list_hole)
                    {
                        if ((H.start > (G.start) && H.start < (G.start + G.limit)) || (H.start < (G.start) && (H.start + H.limit) > G.start) || (H.start == G.start))
                        {
                            DialogResult re;
                            re    = MessageBox.Show("Error1");
                            flags = true;
                            break;
                        }
                    }
                    if (!flags)
                    {
                        list_hole.Add(H);
                        status = true;
                        panel2.Refresh();


                        i++;
                        textBox1.Text = "" + i;
                    }
                    if (i == number)
                    {
                        F = 1;
                        textBox1.Hide();
                        textBox2.Hide();
                        textBox3.Hide();
                        label1.Hide();
                        label2.Hide();
                        label3.Hide();
                        int index = 0;

                        list_sort(list_hole);
                        for (int i = 0; i < list_hole.Count() - 1; i++)
                        {
                            if ((list_hole[i].start + list_hole[i].limit) == list_hole[i + 1].start)
                            {
                                list_hole[i].limit += list_hole[i + 1].limit;
                                list_hole.Remove(list_hole[i + 1]);
                                i--;
                            }
                        }
                        if (list_hole[0].start != 0)
                        {
                            node H2 = new node();
                            H2.start = 0;
                            H2.limit = list_hole[0].start;
                            H2.name  = "old" + index;
                            list_hole.Insert(0, H2);
                            index++;
                        }
                        for (int j = 0; j < list_hole.Count() - 1; j++)
                        {
                            if ((list_hole[j].start + list_hole[j].limit) < list_hole[j + 1].start)
                            {
                                node H3 = new node();
                                H3.start = (list_hole[j].start + list_hole[j].limit);
                                H3.limit = list_hole[j + 1].start - H3.start;
                                H3.name  = "old" + index;
                                list_hole.Insert(j, H3);
                                index++;
                                j++;
                            }
                        }

                        if ((list_hole[list_hole.Count() - 1].start + list_hole[list_hole.Count() - 1].limit) < (mem_size - 1))
                        {
                            node H4 = new node();
                            H4.start = (list_hole[list_hole.Count() - 1].start + list_hole[list_hole.Count() - 1].limit);
                            H4.limit = mem_size - 1 - H4.start;
                            H4.name  = "old" + index;
                            list_hole.Insert(list_hole.Count() - 1, H4);
                        }
                        list_sort(list_hole);
                        panel2.Refresh();
                        ADD.Hide();
                        Best.Show();
                        first.Show();
                        Worest.Show();
                    }
                    else if (F == 1)
                    {
                        textBox1.ReadOnly = false;
                        textBox1.Text     = " ";
                        label1.Text       = "Process Name";
                    }
                }
                else
                {
                    rest += H.limit;
                }
            }
            else
            {
                DialogResult re;
                re = MessageBox.Show("Error1");
            }

            textBox2.Clear();
            textBox3.Clear();
        }