Пример #1
0
 private void btnPrint_Click(object sender, EventArgs e)
 {
     try
     {
         if (this.chkCashBox.Checked)
         {
             Gfunc.OpenCash();
             //    string strMemo = Language.GetString("#0514");
             //    Gattr.Bll.WriteRetailLog("OPD", 0M, strMemo, Gattr.CashierNo, "", 0M, true);
             //    Gattr.Bll.WriteSysLog(Gattr.LogFile, strMemo, strMemo, 1);
         }
         //Gattr.PosPrinter.OpenPrinter(Gattr.PrinterName, Gattr.PrinterPort);
         //Gattr.PosPrinter.PrintOut("\r\n");
         string strOut = "";
         List <t_pos_printer_out> listOut = new List <t_pos_printer_out>();
         for (int i = 0; i < this.listBox.Items.Count; i++)
         {
             if (Gattr.PosPrinter.IsWindowPrinter)
             {
                 t_pos_printer_out item = new t_pos_printer_out
                 {
                     BigFont = false,
                     Text    = this.listBox.Items[i].ToString()
                 };
                 listOut.Add(item);
             }
             else
             {
                 strOut = strOut + this.listBox.Items[i].ToString() + "\n";
             }
         }
         if (Gattr.PosPrinter.IsWindowPrinter)
         {
             Gattr.PosPrinter.PrintOut(listOut);
         }
         else
         {
             //Gattr.PosPrinter.PrintOut(strOut);
             //Gattr.PosPrinter.FooterEmptyLine();
             //Gattr.PosPrinter.PrintCut();
         }
         //Gattr.PosPrinter.ClosePrinter();
         LoggerHelper.Log("MsmkLogger", System.DateTime.Now.ToString() + "【" + Gattr.OperId + "】进行打印对账信息!", LogEnum.SysLog);
     }
     catch (Exception exception)
     {
         MessageBox.Show(exception.Message, Gattr.AppTitle);
     }
 }
Пример #2
0
        //打印机检测
        private void button1_Click(object sender, EventArgs e)
        {
            bool IsOpen = false;

            switch (Port)
            {
            case "并口":
                SendMoneyBox(cboxBK.Text);
                break;

            case "串口":
                System.IO.Ports.SerialPort sPort = new System.IO.Ports.SerialPort();
                sPort.PortName  = cboxCK.Text;
                sPort.BaudRate  = 9600;
                sPort.DataBits  = 8;
                sPort.StopBits  = (StopBits)Enum.Parse(typeof(StopBits), "1");
                sPort.Parity    = (Parity)Enum.Parse(typeof(Parity), "1");
                sPort.Handshake = (Handshake)Enum.Parse(typeof(Handshake), "1");
                IsOpen          = POSUtility.Instance.OpenComPort(ref sPort);
                sPort.Dispose();
                break;

            case "USB":
                IsOpen = POSUtility.Instance.OpenUSBPort(cboxUSB.Text);
                break;

            case "驱动":
                Gfunc.OpenCash();
                break;

            case "网口":
                IsOpen = POSUtility.Instance.OpenNetPort(maskedtboxIP.Text);
                break;
            }
            if (IsOpen)
            {
                try
                {
                    if (Port == "并口")
                    {
                        //开钱箱
                        bool res = POSUtility.Instance.PrintESC(3);
                        if (!res)
                        {
                            MessageBox.Show("开钱箱失败!指令调用返回值:" + res.ToString(), "系统提示");
                            LoggerHelper.Log("MsmkLogger", "开钱箱失败!指令调用返回值:" + res.ToString(), LogEnum.SysLog);
                        }
                        else
                        {
                            LoggerHelper.Log("MsmkLogger", Gattr.OperId + "通过打印设置打开钱箱", LogEnum.SysLog);
                        }
                        //关闭端口
                        POSUtility.Instance.ClosePrintLPT();
                    }
                    else
                    {
                        IntPtr res = POSUtility.POS_KickOutDrawer(0x00, 100, 100);
                        if ((uint)res != POSUtility.Instance.POS_SUCCESS)
                        {
                            MessageBox.Show("开钱箱失败!指令调用返回值:" + res.ToString(), "系统提示");
                            LoggerHelper.Log("MsmkLogger", "开钱箱失败!指令调用返回值:" + res.ToString(), LogEnum.SysLog);
                        }
                        else
                        {
                            LoggerHelper.Log("MsmkLogger", Gattr.OperId + "通过打印设置打开钱箱", LogEnum.SysLog);
                        }
                        //关闭端口
                        POSUtility.Instance.ClosePrinterPort();
                    }
                }
                catch (Exception exception)
                {
                    MessageBox.Show(exception.Message, "系统提示");
                }
            }
            else
            {
                if (Port != "驱动" && Port != "并口")
                {
                    MessageBox.Show("端口打开失败,请检查一下端口选择是否正确!", Gattr.AppTitle);
                }
            }
        }