示例#1
0
        private void btnConnect_Click(object sender, System.EventArgs e)
        {
            String result;
            string tempstr;

            this.Cursor = Cursors.WaitCursor;

            try
            {
                if (meReaderInterface == ComInterface.enumTCPIP)
                {
                    mReader.InitOnNetwork(textBox1.Text, Convert.ToInt32(PortUD.Value));
                }

                DisplayText("\r\nConnecting to the reader...\r\n");
                label2.Text = "正在连接......";
                this.Cursor = Cursors.WaitCursor;

                result = mReader.Connect();
                if (!mReader.IsConnected)
                {
                    textReaderTalk.AppendText("\r\nCan't connect\r\n");
                }
                else
                {
                    if (meReaderInterface == ComInterface.enumTCPIP)
                    {
                        DisplayText("\r\nLogging in...\r\n");
                        this.Cursor = Cursors.WaitCursor;
                        if (!mReader.Login(this.UserName.Trim(), this.Password.Trim()))                                         //returns result synchronously
                        {
                            DisplayText("\r\nLogin failed! Calling Disconnect()...\r\n");
                            mReader.Disconnect();
                            label2.Text = "连接失败!";
                            return;
                        }
                        DisplayText("\r\nLogged in - OK!\r\n");
                        tempstr = mReader.SendReceive("set function=programmer", false).Trim();                       //设置Reader为编程状态

                        label2.Text = "登陆成功!编程状态";
                    }
                    DisplayText(result);
                    ManageGUI(true);
                    textReaderTalk.Visible = true;
                }
            }
            catch (Exception ex)
            {
                MessageBox.Show(ex.Message);
            }
            this.Cursor = Cursors.Default;
        }
示例#2
0
        private void treeView1_AfterCheck(object sender, System.Windows.Forms.TreeViewEventArgs e)
        {
            string tag = e.Node.Tag as string;

            if ((tag != null) && (tag != ""))
            {
                if (e.Node.Checked)
                {
                    lock (moCurrentReadersLock)
                    {
                        if (!mClients.ContainsKey(tag)) // configuring reader for the first time
                        {
                            saveReaderState(mStoredStates[tag] as MyStoredReaderState);
                            clsReader reader = null;
                            reader = mClients[tag] as clsReader;
                            if ((reader == null) || (!reader.IsConnected))
                            {
                                MessageBox.Show("Can't connect to the reader.");
                                treeView1.Nodes.Remove(e.Node);
                                lblReadersCount.Text = (--miReadersCount).ToString();
                            }
                            else
                            {
                                this.Cursor = Cursors.WaitCursor;

                                // any of these can throw, especially for older readers
                                try { reader.NotifyAddress = mServers[0].NotificationHost; }
                                catch { }
                                try { reader.TagStreamAddress = mServers[1].NotificationHost; }
                                catch { }
                                try { reader.IOStreamAddress = mServers[2].NotificationHost; }
                                catch { }
                                try { reader.TagListMillis = "off"; }
                                catch { }

                                try { reader.AutoMode = "On"; }
                                catch { }

                                // cusotmize these properties (and any of other related ones) as you desire
                                try { reader.NotifyTime = "42000"; }
                                catch { }
                                try { reader.PersistTime = "42000"; }
                                catch { }
                                try { reader.NotifyFormat = "Text"; }
                                catch { }
                                try { reader.NotifyHeader = "Off"; }
                                catch { }
                                try { reader.TagStreamFormat = "Terse"; }
                                catch { }
                                try { reader.IOStreamFormat = "Text"; }
                                catch { }
                                try { reader.IOStreamKeepAliveTime = "42000"; }
                                catch { }
                                try { reader.TagStreamKeepAliveTime = "42000"; }
                                catch { }
                                try { reader.AutoWaitOutput = "-1"; }
                                catch { }
                                try { reader.AutoWorkOutput = "-1"; }
                                catch { }
                                try { reader.AutoTrueOutput = "-1"; }
                                catch { }
                                try { reader.AutoFalseOutput = "-1"; }
                                catch { }

                                this.Cursor = Cursors.Default;
                            }
                            e.Node.Expand();
                        }
                    }// release lock
                }
                else
                {
                    e.Node.Checked = true;
                }
            }
            else        // Start / Stop automatic messages from the reader
            {
                tag = e.Node.Parent.Tag as String;
                lock (moCurrentReadersLock)
                {
                    if (!mClients.ContainsKey(tag))
                    {
                        e.Node.Parent.Checked = true;
                    }

                    clsReader reader = mClients[tag] as clsReader;
                    if ((reader != null) && !(reader.IsConnected))
                    {
                        connect((mStoredStates[tag] as MyStoredReaderState), ref reader);
                        if (!reader.IsConnected)
                        {
                            MessageBox.Show("Can't connect to the reader.");
                            treeView1.Nodes.Remove(e.Node.Parent);
                            lblReadersCount.Text = (--miReadersCount).ToString();
                            return;
                        }
                    }
                    string cmd       = e.Node.Text + "Mode";
                    string strToSend = "Set " + cmd + " = " + (e.Node.Checked ? "On" : "Off");

                    try { reader.SendReceive(strToSend, false); }
                    catch (Exception ex)
                    {
                        if (e.Node.Checked)
                        {
                            MessageBox.Show(ex.Message);
                            e.Node.Checked = false;
                        }
                    }
                } // release lock
            }
        }