示例#1
0
 public static bool Open(RfidParameters rfid)
 {
     try {
         if (Connect != null && Connect.IsOpen)
         {
             Close();
         }
         Connect               = new SerialPort();
         Connect.PortName      = rfid.PortName;
         Connect.BaudRate      = rfid.BaudRate;
         Connect.DataBits      = rfid.DataBits;
         Connect.Handshake     = rfid.Handshake;
         Connect.Parity        = rfid.Parity;
         Connect.StopBits      = rfid.StopBits;
         Connect.ReadTimeout   = rfid.ReadTimeout;
         Connect.WriteTimeout  = rfid.WriteTimeout;
         Connect.DataReceived += new SerialDataReceivedEventHandler(Read);
         Connect.Open();
         Save(rfid);
         OnChangeRfid(true);
         return(true);
     } catch {
         OnChangeRfid(false);
         return(false);
     }
 }
示例#2
0
 public static void Save(RfidParameters rfid)
 {
     Properties.Settings.Default.RfidPortName     = rfid.PortName;
     Properties.Settings.Default.RfidBaudRate     = rfid.BaudRate;
     Properties.Settings.Default.RfidDataBits     = rfid.DataBits;
     Properties.Settings.Default.RfidHandshake    = rfid.Handshake;
     Properties.Settings.Default.RfidParity       = rfid.Parity;
     Properties.Settings.Default.RfidStopBits     = rfid.StopBits;
     Properties.Settings.Default.RfidReadTimeout  = rfid.ReadTimeout;
     Properties.Settings.Default.RfidWriteTimeout = rfid.WriteTimeout;
     Properties.Settings.Default.Save();
 }
示例#3
0
        public static bool OpenLast()
        {
            RfidParameters rfid = new RfidParameters()
            {
                PortName     = Properties.Settings.Default.RfidPortName,
                BaudRate     = Properties.Settings.Default.RfidBaudRate,
                DataBits     = Properties.Settings.Default.RfidDataBits,
                Handshake    = Properties.Settings.Default.RfidHandshake,
                Parity       = Properties.Settings.Default.RfidParity,
                StopBits     = Properties.Settings.Default.RfidStopBits,
                ReadTimeout  = Properties.Settings.Default.RfidReadTimeout,
                WriteTimeout = Properties.Settings.Default.RfidWriteTimeout,
            };

            return(Open(rfid));
        }
        private void ReaderOpen()
        {
            int error    = 0;
            int baudRate = 0;

            if (comboBoxPortName.SelectedIndex < 0)
            {
                MessageBox.Show("'PortName' не выбран.", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error);
                error++;
            }
            if (!int.TryParse(comboBoxBaudRate.Text, out baudRate))
            {
                MessageBox.Show("Значение в 'BaudRate' должно быть числом.", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error);
                error++;
            }
            int databits = 0;

            if (!int.TryParse(comboBoxDataBits.Text, out databits))
            {
                MessageBox.Show("Значение в 'DataBits' должно быть числом.", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error);
                error++;
            }
            Handshake handshake   = Convert.Handshake(comboBoxHandshake.Text);
            Parity    parity      = Convert.Parity(comboBoxParity.Text);
            StopBits  stopbits    = Convert.StopBits(comboBoxStopBits.Text);
            int       readtimeout = 0;

            if (!int.TryParse(comboBoxReadTimeout.Text, out readtimeout))
            {
                MessageBox.Show("Значение в 'ReadTime' должно быть числом.", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error);
                error++;
            }
            int writetimeout = 0;

            if (!int.TryParse(comboBoxWriteTimeout.Text, out writetimeout))
            {
                MessageBox.Show("Значение в 'WriteTime' должно быть числом.", "Ошибка ввода", MessageBoxButtons.OK, MessageBoxIcon.Error);
                error++;
            }

            Reader.RfidParameters rfid = new Reader.RfidParameters()
            {
                PortName     = comboBoxPortName.Text,
                BaudRate     = baudRate,
                DataBits     = databits,
                Handshake    = handshake,
                Parity       = parity,
                StopBits     = stopbits,
                ReadTimeout  = readtimeout,
                WriteTimeout = writetimeout,
            };
            if (error == 0)
            {
                if (Reader.Rfid.Open(rfid))
                {
                    this.DialogResult = DialogResult.OK;
                    this.Close();
                }
                else
                {
                    MessageBox.Show("Ошибка при открытии порта. Проверьте выставленные параметры считывателя.", "Ошибка", MessageBoxButtons.OK, MessageBoxIcon.Error);
                }
            }
        }