private void stroBtnCompare_Click(object sender, EventArgs e)
        {
            frm_settings myform = new frm_settings();

            myform.MdiParent = this;
            myform.Show();
        }
        public void NoThreads()
        {
            frm_settings fs         = new frm_settings();
            int          metawords  = (int)fs.numericUpDown1.Value;
            int          count      = Book.GetCount("GetCountBooks");
            PreProcess   LogResults = new PreProcess(ComparingTxt, Convert.ToInt32(numGram.Value), metawords);

            LogResults.ScanFilesReader = Book.GetThesis("GetRangeBook", 1, count);
            LogResults.SearchSimilarity();
        }
        private void AddBtn_Click(object sender, EventArgs e)
        {
            frm_settings fs = new frm_settings();

            if (txtPathName.Text == "" || txtPaperName.Text == "")
            {
                MessageBox.Show("الرجاء أدخل معلومات الأطروحة كاملة");
                return;
            }
            if (listStudents.Items.Count == 0)
            {
                MessageBox.Show("يجب إضافة طلاب أو مؤلفين", "انتبه", MessageBoxButtons.OK);
                return;
            }
            if (listTeachers.Items.Count == 0)
            {
                if (MessageBox.Show("هل أنت متأكد أنك لاتريد إضافة مشرفين", "انتبه", MessageBoxButtons.YesNo) == DialogResult.No)
                {
                    return;
                }
            }
            Log      l         = new Log();
            string   CodedFile = l.CleanString(txtFileContent.Text);
            MetaData meta      = new MetaData((int)fs.numericUpDown1.Value);

            meta.GetMeta(txtFileContent.Text);
            byte[] Meta    = meta.Serialize();
            byte[] LogFile = l.Serialize();

            Book.Add_Book(txtPaperName.Text, file, paper_notes_txtBox.Text, Meta, txtFileContent.Text, LogFile, CodedFile, dateTimePicker1.Value);

            for (int i = 0; i < listStudents.Items.Count; i++)
            {
                Student.Add_Student(listStudents.Items[i].ToString());
            }

            for (int i = 0; i < listTeachers.Items.Count; i++)
            {
                Teacher.Add_Teacher(listTeachers.Items[i].ToString());
            }


            dataGridView1.DataSource = DB.Show("GetAllBooks");
            Clear_All();

            MessageBox.Show("تمت الإضافة بنجاح");
        }
        public void ThredingFiles()
        {
            Thread[]     threads;
            PreProcess[] LogResults;
            int          rate      = 0;
            frm_settings fs        = new frm_settings();
            int          metawords = (int)fs.numericUpDown1.Value;
            int          count     = Book.GetCount("GetCountBooks");
            double       r         = count * 0.5;// thread count

            if (r > 0 && r < 1)
            {
                r = 1;
            }
            rate = (int)r;
            int start = 1;
            int end   = count / rate;;

            threads    = new Thread[rate];
            LogResults = new PreProcess[rate];
            for (int i = 0; i < threads.Length; ++i)
            {
                LogResults[i] = new PreProcess(ComparingTxt, Convert.ToInt32(numGram.Value), metawords);
                LogResults[i].ScanFilesReader = Book.GetThesis("GetRangeBook", start, end);
                threads[i] = new Thread(new ThreadStart(LogResults[i].SearchSimilarity));
                if (!threads[i].IsAlive)
                {
                    threads[i].Start();
                }
                start += count / rate;
                if (count % 2 == 1 && i == threads.Length - 2)
                {
                    end += count / rate + 1;
                }
                else
                {
                    end += count / rate;
                }
            }
            for (int i = 0; i < threads.Length; i++)
            {
                threads[i].Join();
            }
        }