コード例 #1
0
        private void butCyclicRead_Click(object sender, EventArgs e)
        {
            if (_flagRead != EFlagState.Inhibit)
            {
                if (_flagRead == EFlagState.No)
                {
                    _flagRead          = EFlagState.Yes;
                    butCyclicRead.Text = TextStop;
                    //UpdateFormView();
                    ViewReadYes();
                    ViewArchive(chbWriteArchive.Checked);

                    //архив
                    string archiveFileName = (chbWriteArchive.Checked) ? tbArchiveFile.Text : null;
                    Program.Net.ReadThreadStart(archiveFileName, true);
                }
                else
                {
                    var          fmYesNoDialog = new FormYesNoDialog("Опрос сети", "Остановить опрос сети?");
                    DialogResult dialogResult  = fmYesNoDialog.ShowDialog(this);
                    if (dialogResult == DialogResult.Yes)
                    {
                        Program.Net.ReadStop();
                        _flagRead = EFlagState.Stop;
                        ViewReadStop();
                    }
                }
            }
        }
コード例 #2
0
 private void NetReadStop()
 {
     _flagRead = EFlagState.No;
     //UpdateFormView();
     ViewReadNo();
     ViewArchive(false);
 }
コード例 #3
0
        private void fmMonitor_FormClosing(object sender, FormClosingEventArgs e)
        {
            DialogResult dialogResult;

            if ((_flagRead != EFlagState.No) && (_flagRead != EFlagState.Inhibit))
            {
                var fmYesNoDialog = new FormYesNoDialog("Закрытие приложения", "Остановить опрос сети и закрыть приложение?");
                dialogResult = fmYesNoDialog.ShowDialog(this);
                if (dialogResult != DialogResult.Yes)
                {
                    e.Cancel = true;
                    return;
                }

                Program.Net.ReadStopWait();
                _flagRead = EFlagState.Stop;
                ViewReadStop();
            }
            else
            {
                var fmYesNoDialog = new FormYesNoDialog("Закрытие приложения", "Закрыть приложение?");
                dialogResult = fmYesNoDialog.ShowDialog(this);
                if (dialogResult != DialogResult.Yes)
                {
                    e.Cancel = true;
                    return;
                }
            }

            Program.Params.Write();

            if ((Program.Params.SaveNetOnClose == null) && (Program.Net.Modules.Count > 0))
            {
                var fmYesNoDialog = new FormYesNoDialog("Сохранение конфигурации каналов", "Сохранить конфигурацию каналов?");
                dialogResult = fmYesNoDialog.ShowDialog(this);
            }
            else if ((Program.Params.SaveNetOnClose != false) && (Program.Net.Modules.Count == 0))
            {
                var fmYesNoDialog = new FormYesNoDialog("Сохранение конфигурации каналов",
                                                        "Сохранить пустую конфигурацию каналов?");
                dialogResult = fmYesNoDialog.ShowDialog(this);
            }
            else if (Program.Params.SaveNetOnClose == true)
            {
                dialogResult = DialogResult.Yes;
            }
            else
            {
                dialogResult = DialogResult.No;
            }

            if (dialogResult == DialogResult.Yes)
            {
                NewTagList.SaveNetToTagList(Program.Net);
            }
        }
コード例 #4
0
 private void butSingleRead_Click(object sender, EventArgs e)
 {
     if (_flagRead != EFlagState.Inhibit)
     {
         _flagRead = EFlagState.Yes;
         string archiveFileName = (chbWriteArchive.Checked) ? tbArchiveFile.Text : null;
         Program.Net.ReadSingle(archiveFileName, true);
         _flagRead = EFlagState.No;
     }
 }
コード例 #5
0
        private void butLoadConfigFromObjectsPTK_Click(object sender, EventArgs e)
        {
            if (MessageBox.Show(@"Загрузить конфигурацию каналов из TagList?", @"Загрузка конфигурации каналов", MessageBoxButtons.YesNo) == DialogResult.Yes)
            {
                ClassLog.AddLog(ELogType.Event, null, "Загрузка конфигурации каналов");
                Application.DoEvents();
                _flagBlockForm = EFlagState.Yes;
                UpdateFormView();

                //ClassTagListTable.LoadChannelConfiguration(Program.Net);
                NewTagList.LoadChannelConfiguration(Program.Net);
                Program.Net.ProgramChannels();
                Program.FmMonitor.ModulesToListView();

                ClassLog.AddLog(ELogType.Event, null, "Загрузка конфигурации каналов завершена");
                _flagBlockForm = EFlagState.No;
                UpdateFormView();
            }
        }
コード例 #6
0
 public void NetChange()
 {
     _flagRead = (Program.Net.Modules.Count != 0) ? EFlagState.No : EFlagState.Inhibit;
     //UpdateFormView();
     ViewReadInhibit();
 }
コード例 #7
0
        private void butScanNet_Click(object sender, EventArgs e)
        {
            if (_flagBlockForm == EFlagState.No)
            {
                if (MessageBox.Show(@"Начать сканирование сети?", @"Сканирование сети", MessageBoxButtons.YesNo) == DialogResult.Yes)
                {
                    ClassLog.AddLog(ELogType.Event, null, "Сканирование сети");

                    byte firstAddress;
                    byte lastAddress;
                    if (!byte.TryParse(tbFirstModuleAddress.Text, NumberStyles.Integer,
                                       CultureInfo.InvariantCulture.NumberFormat, out firstAddress))
                    {
                        firstAddress = 0;
                    }
                    tbFirstModuleAddress.Text = firstAddress.ToString();
                    if (!byte.TryParse(tbLastModuleAddress.Text, NumberStyles.Integer,
                                       CultureInfo.InvariantCulture.NumberFormat, out lastAddress))
                    {
                        lastAddress = 255;
                    }
                    tbLastModuleAddress.Text = lastAddress.ToString();

                    if (firstAddress > lastAddress)
                    {
                        tbLastModuleAddress.Focus();
                        MessageBox.Show(@"Кон. адрес должен быть меньше чем нач. адрес");
                        return;
                    }

                    _flagBlockForm = EFlagState.Yes;
                    UpdateFormView();
                    Program.FmMonitor.ClearModulesTreeView();
                    Program.FmMonitor.ClearSignalListView();

                    //ClassAdamNet.DelegateScanNet dlScanNet = Program.Net.ScanNet;
                    //IAsyncResult asyncResult = dlScanNet.BeginInvoke(firstAddress, lastAddress, UpdateView, null, null);
                    NewNet.DelegateScanNet dlScanNet   = Program.Net.ScanStart;
                    IAsyncResult           asyncResult = dlScanNet.BeginInvoke(firstAddress, lastAddress, UpdateView, null, null);
                    while (!asyncResult.IsCompleted)
                    {
                        Application.DoEvents();
                    }

                    tbCurModuleAddress.Text = null;

                    Program.FmMonitor.NetChange();
                    //ADAMScaner.TagListChange
                    //ADAMScaner.UpdateFormView

                    _flagBlockForm = EFlagState.No;
                    UpdateFormView();
                    ClassLog.AddLog(ELogType.Event, null, "Сканирование сети закончено");
                    MessageBox.Show(@"Сканирование сети закончено");
                }
            }
            else
            {
                Program.Net.ScanStop();
            }
        }