Exemple #1
0
        private void redLightBtn_Click(object sender, EventArgs e)
        {
            if (!isRedLightStart)
            {
                //必须已经加载模板
                if (currentTemplateName_label.Text == null || currentTemplateName_label.Text.Trim().Length == 0)
                {
                    MessageBox.Show("请先加载模板");
                    return;
                }

                bool res = MarkJcz.StartRed();//开启红光
                if (res)
                {
                    isRedLightStart       = true;
                    redLightBtn.Text      = "停止红光";
                    redLightBtn.BackColor = System.Drawing.Color.Khaki;
                    this.server_state_label.BeginInvoke(UpdateServerStateDelegate, "红光指示中...");
                }
                else
                {
                    MessageBox.Show("启动红光失败");
                    this.server_state_label.BeginInvoke(UpdateServerStateDelegate, "红光启动失败");
                }
            }
            else
            {
                stopRedLight();
            }
        }
Exemple #2
0
        private void loadTemplateBtn_Click(object sender, EventArgs e)
        {
            String path   = @"D:\1.ezd";                         //下面第二个参数为true时可以随便写
            bool   loaded = MarkJcz.LoadEzdFile(ref path, true); //加载模板

            if (loaded)
            {
                //如果printing_text_label上有当前需要打印的内容,那么直接替换模板二维码中的内容
                if (printing_text_label.Text != null && printing_text_label.Text.Trim().Length != 0)
                {
                    MarkJcz.ChangeTextByName("no", printing_text_label.Text.Trim());//模板中的变量名字必须是no
                }

                MarkJcz.ShowPreviewBmp(printingQcode_pictureBox);
                path = path.Substring(path.LastIndexOf(@"\") + 1);
                currentTemplateName_label.Text = path;

                //加载完模板停止红光和标刻
                stopMark();
                stopRedLight();

                this.server_state_label.BeginInvoke(UpdateServerStateDelegate, "加载模板完成");
            }
            else
            {
                this.server_state_label.BeginInvoke(UpdateServerStateDelegate, "加载模板失败");
            }
        }
Exemple #3
0
        //更新显示正在打印的编码,同时更新二维码信息
        public void UpdateLabel(string txt)
        {
            this.printing_text_label.Text = txt;

            if (printing_text_label.Text != null && printing_text_label.Text.Trim().Length != 0)
            {
                MarkJcz.ChangeTextByName("no", printing_text_label.Text.Trim());//模板中的变量名字必须是no
                MarkJcz.ShowPreviewBmp(printingQcode_pictureBox);
            }
        }
Exemple #4
0
 private void stopRedLight()
 {
     if (isRedLightStart)
     {
         MarkJcz.StopRed();//关闭红光
         isRedLightStart       = false;
         redLightBtn.Text      = "红光";
         redLightBtn.BackColor = System.Drawing.Color.Yellow;
         this.server_state_label.BeginInvoke(UpdateServerStateDelegate, "红光已关闭");
     }
 }
Exemple #5
0
        private void Form1_Load(object sender, EventArgs e)
        {
            this.waiting_dataGridView.Columns.Clear();
            dt = new DataTable();
            dt.Columns.Add("编码", System.Type.GetType("System.String"));
            dt.Columns.Add("入队时间", System.Type.GetType("System.String"));
            dt.Columns.Add("状态", System.Type.GetType("System.String"));

            BindingSource bs = new BindingSource();

            bs.DataSource = dt;
            this.waiting_dataGridView.DataSource     = bs;
            waiting_dataGridView.Columns[0].SortMode = DataGridViewColumnSortMode.NotSortable;
            waiting_dataGridView.Columns[1].SortMode = DataGridViewColumnSortMode.NotSortable;
            waiting_dataGridView.Columns[2].SortMode = DataGridViewColumnSortMode.NotSortable;

            //注意第二个参数,现场实际运行时一定要改成false
            var ret = MarkJcz.InitLaser(this.Handle, false);

            //var ret = MarkJcz.InitLaser();
            Console.WriteLine(ret);
            if (ret)
            {
                //初始化成功
                // MarkJcz.ShowDevCfgForm();
            }
            else
            {
                MessageBox.Show("激光器初始化失败");
                System.Environment.Exit(0);
            }

            //实例化委托
            UpdatePrintingDelegate          = new UpdatePrinting(AddUpdatePrintingMethod);
            UpdatePrintingTextLabelDelegate = new UpdatePrintingTextLabel(UpdateLabel);
            UpdateServerStateDelegate       = new UpdateServerState(UpdateServerStateFunc);
            UpdateConnectedStateDelegate    = new UpdateConnectedState(UpdateConnectedStateFunc);

            Console.WriteLine("主线程:" + Thread.CurrentThread.GetHashCode());

            //创建websocket服务器线程
            serverThread = new Thread(new ThreadStart(createServerFunc));
            serverThread.Start();

            //实例化委托
            //webSocketService.updateTxtDelegate = new UpdatePrinting(UpdatePrintingMethod);

            //创建消费者线程(不用,现在采用手工点击事件处理标刻)
            //consumer = new Thread(new ThreadStart(markEzdFunc));
            //consumer.Start();
        }
Exemple #6
0
        //执行激光打码
        public void markEzdFunc()
        {
            string markNum = null;

            if (dt.Rows.Count > 0)
            {
                markNum = printing_text_label.Text;

                if (markNum != null && markNum.Trim().Length != 0)
                {
                    //处理打码操作
                    Thread.Sleep(200);

                    isMarking         = true;
                    markBtn.Text      = "停止标刻";
                    markBtn.BackColor = System.Drawing.Color.Khaki;
                    this.server_state_label.BeginInvoke(UpdateServerStateDelegate, "正在标刻:" + markNum);

                    bool res = MarkJcz.Mark();//此函数一直等待设备加工完毕后才返回
                    Thread.Sleep(100);
                    stopMark();
                    if (res)
                    {
                        //标刻成功完成
                        this.server_state_label.BeginInvoke(UpdateServerStateDelegate, markNum + "标刻完成");
                        DialogResult dr = MessageBox.Show("标刻成功,是否需要重新标刻\n" + markNum + "?", "标刻完成", MessageBoxButtons.OKCancel, MessageBoxIcon.Question);
                        if (dr == DialogResult.OK)
                        {
                            return;
                        }
                        dt.Rows.RemoveAt(0);
                    }
                    else
                    {
                        MessageBox.Show("标刻失败");
                        this.server_state_label.BeginInvoke(UpdateServerStateDelegate, markNum + "标刻失败");
                        MessageBox.Show(MarkJcz.GetLastError());
                        return;
                    }
                    this.waiting_dataGridView.BeginInvoke(UpdatePrintingDelegate, null, null);//刷新正在排队等待打印的字符串的列表
                }

                //Monitor.PulseAll(this.waiting_dataGridView);
            }
            else
            {
                MessageBox.Show("没有要标刻的数据");
                this.printing_text_label.BeginInvoke(UpdatePrintingTextLabelDelegate, "");
                //Monitor.Wait(this.waiting_dataGridView);
            }
        }
Exemple #7
0
        private void button4_Click(object sender, EventArgs e)
        {
            //获取数据库中的文本对象内容
            String val = null;

            MarkJcz.GetTextByName("no", ref val);
            MessageBox.Show(val);

            MarkJcz.ChangeTextByName("no", "123123123123");

            MarkJcz.GetTextByName("no", ref val);
            MessageBox.Show(val);

            MessageBox.Show(MarkJcz.SaveEntLibToFile().ToString());
        }
Exemple #8
0
 private void stopMark()
 {
     if (isMarking)
     {
         //停止标刻
         bool res = MarkJcz.StopMark();
         if (res)
         {
             isMarking         = false;
             markBtn.Text      = "标刻";
             markBtn.BackColor = System.Drawing.Color.Green;
             this.server_state_label.BeginInvoke(UpdateServerStateDelegate, "标刻已停止");
         }
         else
         {
             MessageBox.Show("停止标刻失败");
             this.server_state_label.BeginInvoke(UpdateServerStateDelegate, "标刻停止失败");
         }
     }
 }
Exemple #9
0
 private void closedForm(object sender, FormClosedEventArgs e)
 {
     MarkJcz.Close();
 }