private void toolStripButtonSave_Click(object sender, EventArgs e)
 {
     if (path != null)
     {
         WriteRead wr = new WriteRead();
         string[,] bufMasTable = new string[masTable.GetLength(0) + 1, masTable.GetLength(1)];
         for (int i = 0; i < masTable.GetLength(0); i++)
         {
             for (int j = 0; j < masTable.GetLength(1); j++)
             {
                 bufMasTable[i, j] = masTable[i, j];
             }
         }
         bufMasTable[masTable.GetLength(0), 0] = textBoxTask.Text; //условие
         bufMasTable[masTable.GetLength(0), 1] = mainStr;          //рабочая строка
         for (int i = 0; i < ca.mas.Length; i++)                   //алфавит
         {
             bufMasTable[masTable.GetLength(0), 2] += ca.mas[i];
         }
         wr.CreateFile(bufMasTable, path);
     }
     else
     {
         MessageBox.Show("Сначала откройте файл!", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
     }
 }
        private void toolStripButtonSaveAs_Click(object sender, EventArgs e)
        {
            SaveFileDialog sfd = new SaveFileDialog();

            sfd.Filter = "bin files (*.bin)|*.bin";
            if (sfd.ShowDialog() == DialogResult.OK)
            {
                WriteRead wr = new WriteRead();
                path = sfd.FileName;
                string[,] bufMasTable = new string[masTable.GetLength(0) + 1, masTable.GetLength(1)];
                for (int i = 0; i < masTable.GetLength(0); i++)
                {
                    for (int j = 0; j < masTable.GetLength(1); j++)
                    {
                        bufMasTable[i, j] = masTable[i, j];
                    }
                }
                bufMasTable[bufMasTable.GetLength(0) - 1, 0] = textBoxTask.Text; //условие
                bufMasTable[bufMasTable.GetLength(0) - 1, 1] = mainStr;          //рабочая строка
                for (int i = 0; i < ca.mas.Length; i++)                          //алфавит
                {
                    bufMasTable[masTable.GetLength(0), 2] += ca.mas[i];
                }
                wr.CreateFile(bufMasTable, path);
            }
        }
        private void toolStripButtonOpen_Click(object sender, EventArgs e)
        {
            OpenFileDialog sfd = new OpenFileDialog();

            sfd.Filter = "bin files (*.bin)|*.bin";
            if (sfd.ShowDialog() == DialogResult.OK)
            {
                WriteRead wr = new WriteRead();
                path     = sfd.FileName;
                masTable = new string[0, 4];
                string[,] bufMasTable  = wr.OpenFile(path);
                labelAlp.Text          = "Ваш алфавит: ";
                EventTable.RowCount    = 0;
                EventTable.ColumnCount = bufMasTable.GetLength(1);
                for (int i = 0; i < bufMasTable.GetLength(0) - 1; i++)
                {
                    AddStr1(EventTable);
                    for (int j = 0; j < bufMasTable.GetLength(1); j++)
                    {
                        masTable[i, j] = bufMasTable[i, j];
                        if (j != 1)
                        {
                            EventTable.Rows[i].Cells[j].Value = masTable[i, j];
                        }
                        else
                        {
                            if (masTable[i, j] == "direction_dot")
                            {
                                EventTable.Rows[i].Cells[j].Value = Properties.Resources.arrow_dot;
                            }
                        }
                    }
                }
                toolStripButtonSave.Enabled = true;
                ca.mas = new char[bufMasTable[bufMasTable.GetLength(0) - 1, 2].Length];
                for (int i = 0; i < ca.mas.GetLength(0); i++)
                {
                    ca.mas[i]      = bufMasTable[bufMasTable.GetLength(0) - 1, 2][i];
                    labelAlp.Text += ca.mas[i];
                }
                textBoxTask.Text     = bufMasTable[bufMasTable.GetLength(0) - 1, 0];
                mainStr              = bufMasTable[bufMasTable.GetLength(0) - 1, 1];
                WorkStr.Text         = mainStr;
                WorkStr.Enabled      = true;
                buttonStart.Enabled  = true;
                buttonStep.Enabled   = true;
                buttonAddStr.Enabled = true;
                buttonDelStr.Enabled = true;
                labelStepBefore.Text = "";
                labelStrFirst.Text   = "Исходная строка:";
            }
        }