Esempio n. 1
0
        private void DoWork()
        {
            lock (this)
            {
                ClossButton();

                DateTime dt1 = DateTime.Now;

                StatusLabel.Text = "Keyword extraction process is ongoing:0%";

                ResultListView.Items.Clear();

                MyData.WordsFre = MyFun.StatisticsWords(MyData.TheDoc);

                for (int i = 0; i < MyData.WordsFre.Length; i++)
                {
                    MyData.WordsFre[i].EntropyDifference_Max();
                    progressBar1.Value = i * 100 / MyData.WordsFre.Length;
                    StatusLabel.Text   = "Keyword extraction process is ongoing: " + progressBar1.Value + "%";
                }

                MyFun.QuickSort(MyData.WordsFre, 0, MyData.WordsFre.Length - 1);

                int WordsNum = 0;
                for (int i = 0; i < MyData.WordsFre.Length; i++)
                {
                    if (MyData.WordsFre[i].ED > 0)
                    {
                        WordsNum++;
                    }
                    else
                    {
                        break;
                    }
                }
                ListViewItem[] lvi = new ListViewItem[WordsNum];
                for (int i = 0; i < WordsNum; i++)
                {
                    lvi[i] = new ListViewItem();
                    lvi[i].SubItems[0].Text = (i + 1).ToString();
                    lvi[i].SubItems.Add(MyData.WordsFre[i].Word.ToString());
                    lvi[i].SubItems.Add(MyData.WordsFre[i].ED.ToString());
                    lvi[i].SubItems.Add(MyData.WordsFre[i].Frequency.ToString());
                }
                ResultListView.Items.AddRange(lvi);

                DateTime dt2 = DateTime.Now;
                SaveButton.Enabled = true;
                progressBar1.Value = 100;

                StatusLabel.Text = "Keyword extraction has been completed. The extraction spend " + (dt2 - dt1).ToString() + ".";

                OpenButton();
            }
        }