Example #1
0
        private void InsertWords_Load(object sender, EventArgs e)
        {
            try
            {
                OdbcConnection connection = new OdbcConnection();
                connection.ConnectionString = "DSN=PostgreSQL35W;UID=masterwordcounter;PWD=masterwordcounter";
                connection.Open();
                string         q           = "SELECT id, word, root, type, irregular FROM words WHERE (root IS NULL) OR (root = 0)";
                OdbcCommand    getAllTexts = new OdbcCommand(q, connection);
                OdbcDataReader odr         = getAllTexts.ExecuteReader();
                lista_svih_rijeci_koje_su_root.Clear();
                while (odr.Read())
                {
                    Rijec t = new Rijec();
                    t.Tekst     = odr.GetString(1);
                    t.Korijen   = odr.GetString(1);
                    t.Tip       = odr.GetInt32(3);
                    t.Irregular = odr.GetBoolean(4);
                    t.Id        = odr.GetInt32(0);
                    lista_svih_rijeci_koje_su_root.Add(t);
                }

                /*  c_root.DropDownStyle = ComboBoxStyle.DropDown;
                 * c_root.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
                 * c_root.AutoCompleteSource = AutoCompleteSource.ListItems;*/
                c_root.DataSource = null;
                c_root.DataSource = lista_svih_rijeci_koje_su_root;
                q = "SELECT id, type FROM word_types";
                odr.Close();
                OdbcCommand    getAllTypes = new OdbcCommand(q, connection);
                OdbcDataReader odr1        = getAllTypes.ExecuteReader();
                int            i           = 1;
                while (odr1.Read())
                {
                    TipRijeci t = new TipRijeci();
                    t.Id    = i;
                    t.Naziv = odr1.GetValue(1).ToString();
                    lista_tipova.Add(t);
                    i++;
                }
                c_type.DataSource = null;
                c_type.DataSource = lista_tipova;
                odr1.Close();
                q = "SELECT DISTINCT word, COALESCE(root,0), type, irregular,id FROM words";
                OdbcCommand    getAllWords = new OdbcCommand(q, connection);
                OdbcDataReader odr2        = getAllWords.ExecuteReader();
                lista_svih_rijeci.Clear();
                while (odr2.Read())
                {
                    Rijec t = new Rijec();
                    t.Tekst     = odr2.GetString(0);
                    t.Korijen   = odr2.GetString(1);
                    t.Tip       = odr2.GetInt32(2);
                    t.Irregular = odr2.GetBoolean(3);
                    t.Id        = odr2.GetInt32(4);
                    lista_svih_rijeci.Add(t);
                }
                odr2.Close();
                connection.Close();
                int  broj_poznatih = 0;
                bool dodaj         = true;
                foreach (Rijec r in lista_rijeci)
                {
                    foreach (Rijec r1 in lista_svih_rijeci)
                    {
                        if (r1.Tekst == r.Tekst)
                        {
                            broj_poznatih++;
                            dodaj = false;
                            break;
                        }
                    }
                    if (dodaj)
                    {
                        filtrirana_lista_rijeci.Add(r);
                    }
                    dodaj = true;
                }
                l_words.Text  = lista_svih_rijeci_koje_su_root.Count.ToString();
                t_word.Text   = filtrirana_lista_rijeci[0].Tekst;
                l_InList.Text = "1/" + filtrirana_lista_rijeci.Count.ToString();
            }
            catch (Exception er)
            {
                MessageBox.Show(er.Message);
            }
        }
 private void button4_Click(object sender, EventArgs e)
 {
     try
     {
         Gramatika = true;
         OdbcConnection connection = new OdbcConnection();
         connection.ConnectionString = "DSN=PostgreSQL35W;UID=masterwordcounter;PWD=masterwordcounter";
         connection.Open();
         string         q           = "SELECT DISTINCT word, COALESCE(root,0), type, irregular,id FROM words ORDER BY word";
         OdbcCommand    getAllWords = new OdbcCommand(q, connection);
         OdbcDataReader odr2        = getAllWords.ExecuteReader();
         lista_rijeci_gramatika.Clear();
         while (odr2.Read())
         {
             Rijec t = new Rijec();
             t.Tekst     = odr2.GetString(0);
             t.Korijen   = odr2.GetString(1);
             t.Tip       = odr2.GetInt32(2);
             t.Irregular = odr2.GetBoolean(3);
             t.Id        = odr2.GetInt32(4);
             lista_rijeci_gramatika.Add(t);
         }
         odr2.Close();
         connection.Close();
     }
     catch (Exception er)
     {
         MessageBox.Show(er.Message);
     }
     lista_rijeci_poslije_gramatike.Clear();
     foreach (Rijec r in lista_rijeci)
     {
         foreach (Rijec r1 in lista_rijeci_gramatika)
         {
             if (r.Tekst == r1.Tekst)
             {
                 if (!r1.Korijen.Equals("0"))
                 {
                     foreach (Rijec r3 in lista_rijeci_gramatika)
                     {
                         if (r3.Id.ToString().Equals(r1.Korijen))
                         {
                             foreach (Rijec r4 in lista_rijeci)
                             {
                                 if (r4.Tekst == r3.Tekst)
                                 {
                                     r4.Ponavljanje += r.Ponavljanje;
                                     r.Irregular     = true;
                                     break;
                                 }
                             }
                             break;
                         }
                     }
                     break;
                 }
             }
         }
     }
     foreach (Rijec r in lista_rijeci)
     {
         if (r.Irregular == false)
         {
             lista_rijeci_poslije_gramatike.Add(r);
         }
     }
     dataGridView1.DataSource = lista_rijeci_poslije_gramatike;
     chart1.Series["Rijec"].Points.Clear();
     MessageBox.Show(Convert.ToString(dataGridView1.RowCount));
     dataGridView1.Sort(dataGridView1.Columns[2], ListSortDirection.Ascending);
     for (int i = 0; i < lista_rijeci_poslije_gramatike.Count; i++)
     {
         chart1.Series["Rijec"].Points.AddXY(lista_rijeci[i].Ponavljanje, i);
     }
     label1.Text = "Ukupno riječi: " + lista_rijeci_poslije_gramatike.Count;
     chart1.Series["Rijec"].Points.Clear();
     for (int i = 0; i < lista_rijeci_poslije_gramatike.Count; i++)
     {
         chart1.Series["Rijec"].Points.AddXY(i + 1, lista_rijeci_poslije_gramatike[i].Ponavljanje);
     }
     chart1.ChartAreas[0].AxisX.Maximum = 80;
     chart1.ChartAreas[0].AxisX.Minimum = 0;
     chart1.ChartAreas[0].AxisY.Maximum = Convert.ToDouble(dataGridView1.Rows[0].Cells[2].Value);
     chart1.ChartAreas[0].AxisY.Minimum = 0;
     label1.Text = "Ukupno riječi: " + lista_rijeci_poslije_gramatike.Count;
 }
Example #3
0
        private void button1_Click(object sender, EventArgs e)
        {
            lista_rijeci.Clear();
            string t = richTextBox1.Text;

            t = t.Replace('.', ' ');
            t = t.Replace(',', ' ');
            t = t.Replace('!', ' ');
            t = t.Replace('?', ' ');
            t = t.Replace('"', ' ');
            t = t.Replace('-', ' ');
            t = t.Replace('\n', ' ');
            t = t.Replace('„', ' ');
            t = t.Replace('”', ' ');
            t = t.Replace('»', ' ');
            t = t.Replace('«', ' ');
            t = t.Replace('–', ' ');
            t = t.ToLower();
            t = t.Trim();
            RegexOptions options = RegexOptions.None;
            Regex        regex   = new Regex(@"[ ]{2,}", options);

            t = regex.Replace(t, @" ");
            richTextBox1.Text = t;
            int j = 0;

            string[] rijec = t.Split(' ');
            progressBar1.Maximum = rijec.Length;
            while (j < rijec.Length)
            {
                int duz = lista_rijeci.Count;
                int i;
                if (j == 0)
                {
                    Rijec r1 = new Rijec();
                    r1.Tekst       = rijec[j];
                    r1.Korijen     = "";
                    r1.Ponavljanje = 1;
                    r1.Tip         = 0;
                    lista_rijeci.Add(r1);
                    j++;
                }
                for (i = 0; i < lista_rijeci.Count; i++)
                {
                    duz = lista_rijeci.Count;
                    if (lista_rijeci[i].Tekst.Equals(rijec[j]))
                    {
                        lista_rijeci[i].Ponavljanje++;
                        break;
                    }
                    else if (i == duz - 1)
                    {
                        Rijec r1 = new Rijec();
                        r1.Tekst       = rijec[j];
                        r1.Korijen     = "";
                        r1.Ponavljanje = 1;
                        r1.Tip         = 0;
                        lista_rijeci.Add(r1);
                        break;
                    }
                }
                j++;
                progressBar1.Value = j;
                label1.Text        = j + "/" + rijec.Length;
                label1.Refresh();
            }
            MessageBox.Show("Analizirano!");
        }