示例#1
0
        private void button2_Click(object sender, EventArgs e) // Загрузка реакции
        {
            C_measurement fon = new C_measurement();           // Измерение для среднего фона

            // Средний спектр - ритмы
            rhythms.Clear();
            foreach (C_measurement element in Tables_excels)
            {
                if (element.get_bool())
                {
                    rhythms.AddRange(element.spek.rhythms_f.rhythms);
                }
            }
            sr_rhythms.sr(rhythms);
            fon.r_f(sr_rhythms);

            // Средний спектр миощности - ритмы
            rhythms.Clear();
            foreach (C_measurement element in Tables_excels)
            {
                if (element.get_bool())
                {
                    rhythms.AddRange(element.spek.rhythms_fe.rhythms);
                }
            }
            sr_rhythms.sr(rhythms);
            fon.r_fe(sr_rhythms);

            fon.Add_(background);
            Tables_excels.Add(fon);

            background = false; // Теперь не фон, а последнее измерение

            ImportExcel form = new ImportExcel(Tables_excels, background);

            form.MdiParent = this.MdiParent;
            form.Show();
            this.Close();
        }
示例#2
0
        private void Open_excel_Click(object sender, EventArgs e) // Открытие книги excel
        {
            string str;
            bool   matches = false; // Индикатор совпадений (что бы не грузить одно и то же)

            foreach (C_measurement t_e in _Tables_excels)
            {
                t_e.get(out str);
                matches = matches || (str == textBox1.Text);
            }
            if (matches)
            {
                MessageBox.Show(textBox1.Text + " был загружен ранее", "Ошибка загрузки");
            }
            else
            {
                try
                {
                    _table_excel = new C_measurement();
                    _table_excel.Add_(textBox1.Text);
                    //Создаём приложение.
                    Microsoft.Office.Interop.Excel.Application ObjExcel = new Microsoft.Office.Interop.Excel.Application();
                    //Открываем книгу.
                    Microsoft.Office.Interop.Excel.Workbook ObjWorkBook = ObjExcel.Workbooks.Open(
                        textBox1.Text,
                        0,
                        false,
                        5,
                        "",
                        "",
                        false,
                        Microsoft.Office.Interop.Excel.XlPlatform.xlWindows,
                        "",
                        true,
                        false,
                        0,
                        true,
                        false,
                        false);
                    //Выбираем таблицу(лист).
                    Microsoft.Office.Interop.Excel.Worksheet ObjWorkSheet;
                    ObjWorkSheet = (Microsoft.Office.Interop.Excel.Worksheet)ObjWorkBook.Sheets[1];
                    //читаем
                    Microsoft.Office.Interop.Excel.Range range;
                    for (int i = 2; (range = ObjWorkSheet.get_Range("A" + i.ToString())).Text != ""; i++) // Самое тормознутое место программы
                    {
                        textBox2.Text = "строка " + i.ToString();
                        _table_excel.Add_((double.Parse(range.Text)));
                    }
                    _table_excel.Add_(_background);

                    _table_excel._put_key((uint)(2 + _spektrs.Keys.Where(Key => Key != (0 & 1)).Count())); // Сохранения ключа для спектров
                    _spektrs.Add(_table_excel._get_key(), new C_spekrt());                                 // Добавленире позиции под спектры в словарь для доступа по ключу

                    //Сохраняем результат
                    _Tables_excels.Add(_table_excel);
                    textBox2.Text = "Загрузка завершена";
                    ObjExcel.Quit();

                    textBox3.Text   = _Tables_excels.Count.ToString();
                    button2.Visible = true;
                    if (!_background) // Если грузилась реакция
                    {
                        Result form = new Result(_Tables_excels, _background);
                        form.MdiParent = this.MdiParent;
                        form.Show();
                        Close();
                    }
                    else
                    {
                        int i;
                        _spektrs[_Tables_excels[(i = _Tables_excels.Count() - 1)]._get_key()].fft_of_alglib(_Tables_excels[i].get());
                    }
                }
                catch (System.Runtime.InteropServices.COMException e1)
                {
                    MessageBox.Show(e1.ToString(), "Ошибка загрузки");
                }
            }