Exemple #1
0
        private string ParseC(string formyla, string nameCell)
        {
            var Root = new List <string>();

            Root.Add(nameCell);
            for (int i = 0; i < formyla.Length;)
            {
                if (Cell(formyla, i, out string cell))
                {
                    if (Root.Contains(cell))
                    {
                        throw new Exception("Circle");
                    }
                    Root.Add(cell);
                    formyla = formyla.Remove(i, cell.Length);
                    Inicialize.Search(cell, out int index, out int jndex);
                    string exp = Inicialize.cells[index, jndex].Expression;
                    exp = exp.Replace(" ", "");
                    if (exp[0] == '=')
                    {
                        exp = exp.Remove(0, 1);
                    }
                    exp     = "(" + exp + ")";
                    formyla = formyla.Insert(i, exp);
                }
                else
                {
                    i++;
                }
            }
            return(formyla);
        }
Exemple #2
0
 private void AddRowToolStripMenuItem_Click(object sender, EventArgs e)
 {
     dataGridView1.Rows.Add();
     Inicialize.AddRow(dataGridView1.SelectedCells[0].RowIndex);
     Inicialize.UpdateDependencesRowAdded(dataGridView1.SelectedCells[0].RowIndex);
     FullUpdateGrid();
     ShowExpression.Checked = false;
 }
Exemple #3
0
 private void AddColumn_Click(object sender, EventArgs e)
 {
     dataGridView1.Columns.Add(To26Sys.TO(Info.ColumnCount), To26Sys.TO(Info.ColumnCount));
     Inicialize.AddColumn(dataGridView1.SelectedCells[0].ColumnIndex);
     Inicialize.UpdateDependencesColumnAdded(dataGridView1.SelectedCells[0].ColumnIndex);
     FullUpdateGrid();
     ShowExpression.Checked = false;
 }
Exemple #4
0
        private void UpdateCell(string name)
        {
            Inicialize.Search(name, out int i, out int j);
            try
            {
                //-------------------------
                var parser = new Parser();
                for (int index = 0; index < Inicialize.cells[i, j].Expression.Length; index++)
                {
                    if (parser.Cell(Inicialize.cells[i, j].Expression, index, out string cell))
                    {
                        if (cell == name)
                        {
                            throw new Exception("Call this cell");
                        }
                    }
                }

                //-------------------------
                Inicialize.cells[i, j].Value = Inicialize.cells[i, j].Parse(Inicialize.cells[i, j].Name);
                var a = new DataGridViewCellStyle();
                dataGridView1[i, j].Style = a;

                if (!ShowExpression.Checked)
                {
                    dataGridView1[i, j].Value = Inicialize.cells[i, j].Value;
                }
                else
                {
                    dataGridView1[i, j].Value = Inicialize.cells[i, j].Expression;
                }
            }
            catch (Exception ex)
            {
                var a = new DataGridViewCellStyle();
                a.BackColor = Color.Red;
                dataGridView1[i, j].Style = a;
                dataGridView1[i, j].Value = ex.Message;
            }

            /*finally
             * {
             *      List<string> root = new List<string>();
             * //	root.Add(name);
             *      foreach (var item in Inicialize.cells[i, j].depend)
             *      {
             *              try
             *              {
             *                      UpdateCellIn(item, root);
             *              }
             *              catch(Exception ex)
             *              {
             *                      throw ex;
             *              }
             *      }
             * }*/
        }
Exemple #5
0
        private void Form1_Load(object sender, EventArgs e)
        {
            var init = new Inicialize();

            dataGridView1.ColumnCount = Info.ColumnCount;
            dataGridView1.RowCount    = Info.RowCount;
            init.New();
            foreach (DataGridViewColumn c in dataGridView1.Columns)
            {
                c.SortMode = DataGridViewColumnSortMode.NotSortable;
            }
            FullUpdateGrid();
        }
Exemple #6
0
        private void DeleteRow_Click(object sender, EventArgs e)
        {
            DialogResult dr = MessageBox.Show("Впевнені?", "Видалити строку", MessageBoxButtons.OKCancel);

            if (dr == DialogResult.OK)
            {
                if (Info.RowCount > 1)
                {
                    dataGridView1.Rows.RemoveAt(Info.RowCount - 1);
                    Inicialize.DeleteRow(dataGridView1.SelectedCells[0].RowIndex);
                    Inicialize.UpdateDependencesRowDeleted(dataGridView1.SelectedCells[0].RowIndex);
                    FullUpdateGrid();
                    ShowExpression.Checked = false;
                }
                else
                {
                    MessageBox.Show("Не можна видалити останню строку!", "Обережно!");
                }
            }
        }