示例#1
0
        public MainWindow()
        {
            InitializeComponent();

            try
            {
                Service = new PIPEService();
            }
            catch (Exception ex)
            {
                MessageBox.Show(" Возникло исключение при вызове конструктора PIPEService().   ТЕКСТ ИСКЛЮЧЕНИЯ:  " + ex.ToString() + " ВНУТРЕННЕЕ ИСКЛЮЧЕНИЕ:  " + ex.InnerException.Message);
            }

            Service.IncomingExchangeContract += (data) =>
            {
                try
                {
                    if (data == null)
                    {
                        MessageBox.Show("пришедшие данные == null");
                        return;
                    }

                    CreateNewDataLine(data.ID, data.Description);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(" Возникло исключение при вызове SendExchangeContract.   ТЕКСТ ИСКЛЮЧЕНИЯ:  " + ex.ToString() + " ВНУТРЕННЕЕ ИСКЛЮЧЕНИЕ:  " + ex.InnerException.Message);
                }
            };

            Service.IncomingR2 += (id, r2) =>
            {
                try
                {
                    SetR2(id, r2);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(" Возникло исключение при вызове IncomingR2.   ТЕКСТ ИСКЛЮЧЕНИЯ:  " + ex.ToString() + " ВНУТРЕННЕЕ ИСКЛЮЧЕНИЕ:  " + ex.InnerException.Message);
                }
            };


            WindowStartupLocation = WindowStartupLocation.CenterScreen;

            unit1.ExperimentExplorer.Experiment = Solution.Experiment1;
            unit2.ExperimentExplorer.Experiment = Solution.Experiment2;

            NewSolution();
        }
示例#2
0
        public MainWindow()
        {
            InitializeComponent();

            var version   = Assembly.GetExecutingAssembly().GetName().Version;
            var buildDate = new DateTime(2000, 1, 1).AddDays(version.Build).AddSeconds(version.Revision * 2);

            this.Title = this.Title + "  версия " + buildDate;

            try
            {
                Service = new PIPEService();
            }
            catch (Exception ex)
            {
                MessageBox.Show(" Возникло исключение при вызове конструктора PIPEService().   ТЕКСТ ИСКЛЮЧЕНИЯ:  " +
                                ex.ToString() + " ВНУТРЕННЕЕ ИСКЛЮЧЕНИЕ:  " + ex.InnerException.Message);
            }
            Service.IncomingExchangeContract += (data) =>
            {
                try
                {
                    if (data == null)
                    {
                        MessageBox.Show("пришедшие данные == null");
                        return;
                    }

                    CreateNewDataLine(data.ID, data.Description);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(" Возникло исключение при вызове SendExchangeContract.   ТЕКСТ ИСКЛЮЧЕНИЯ:  " +
                                    ex.ToString() + " ВНУТРЕННЕЕ ИСКЛЮЧЕНИЕ:  " + ex.InnerException.Message);
                }
            };
            Service.IncomingR2 += (id, r2) =>
            {
                try
                {
                    SetR2(id, r2);
                }
                catch (Exception ex)
                {
                    MessageBox.Show(" Возникло исключение при вызове IncomingR2.   ТЕКСТ ИСКЛЮЧЕНИЯ:  " + ex.ToString() +
                                    " ВНУТРЕННЕЕ ИСКЛЮЧЕНИЕ:  " + ex.InnerException.Message);
                }
            };

            WindowStartupLocation = WindowStartupLocation.CenterScreen;

            unit1.ExperimentExplorer.Experiment = Solution.Experiment1;
            unit2.ExperimentExplorer.Experiment = Solution.Experiment2;
            NewSolution();
            unit1.SolutionNameClear += () => CurrentSolutionLabel.Dispatcher.Invoke(() => { CurrentSolutionLabel.Content = "НЕ ОПРЕДЕЛЁН"; });
            unit2.SolutionNameClear += () => CurrentSolutionLabel.Dispatcher.Invoke(() => { CurrentSolutionLabel.Content = "НЕ ОПРЕДЕЛЁН"; });
            ((System.Windows.Controls.Label)gb1.Header).Content = "Измерительный прибор - " + unit1.ExperimentExplorer.Experiment.ExperimentSettings.HardwareSettings.HardwareType;
            ((System.Windows.Controls.Label)gb2.Header).Content = "Измерительный прибор - " + unit2.ExperimentExplorer.Experiment.ExperimentSettings.HardwareSettings.HardwareType;
            //обработчик изменения выбора ИП
            unit1.ExperimentExplorer.HardTypeChanged += (string newHardType) => { ((System.Windows.Controls.Label)gb1.Header).Content = "Измерительный прибор - " + unit1.ExperimentExplorer.Experiment.ExperimentSettings.HardwareSettings.HardwareType; };
            unit2.ExperimentExplorer.HardTypeChanged += (string newHardType) => { ((System.Windows.Controls.Label)gb2.Header).Content = "Измерительный прибор - " + unit2.ExperimentExplorer.Experiment.ExperimentSettings.HardwareSettings.HardwareType; };

            unit2.spFrequencyMax.Visibility = Visibility.Hidden;
            //активность кнопок запуска измерений зависит от активности соотв.кнопок в стаканах
            unit1.ChangedButtonEnabled += () =>
            {
                fullSignal.IsEnabled = unit1.buttonStartSIGNAL.IsEnabled && unit2.buttonStartSIGNAL.IsEnabled;
                fullNoise.IsEnabled  = unit1.buttonStartNOISE.IsEnabled && unit2.buttonStartSIGNAL.IsEnabled;
            };
            unit2.ChangedButtonEnabled += () =>
            {
                fullSignal.IsEnabled = unit1.buttonStartSIGNAL.IsEnabled && unit2.buttonStartSIGNAL.IsEnabled;
                fullNoise.IsEnabled  = unit1.buttonStartNOISE.IsEnabled && unit2.buttonStartSIGNAL.IsEnabled;
            };
            //разворачивание частот ДС  вр 20м стакане
            unit1.NextSequence += (long Ft, long startFrequence) =>
            {
                unit2.ExperimentExplorer.Experiment.Ft = unit1.ExperimentExplorer.Experiment.Ft;
                unit2.HandMode_Frequency.Value         = unit1.HandMode_Frequency.Value;
                unit2.HandMode_Quantity.Text           = unit1.HandMode_Quantity.Text;
                unit2.rbDS.IsChecked = true;
                unit2.ParametersList.Items.Clear();
                unit2.ExperimentExplorer.Experiment.ExperimentSettings = unit2.ExperimentExplorer.Experiment.ExperimentSettings;
                unit2.ExperimentExplorer.Experiment.Intervals.Clear();
                //добавление интервалов
                for (int i = unit1.ExperimentExplorer.Experiment.Intervals.Count + 1; i <= int.Parse(unit1.HandMode_Quantity.Text); i++)
                {
                    unit2.AddNewInterval(null, false, startFrequence);
                    startFrequence += unit2.ExperimentExplorer.Experiment.Ft;
                }
            };
        }