c# 客显(顾客显示器)应用实例

using System;
using System.Collections.Generic;
using System.Text;
using System.IO.Ports;


/// <summary> 
/// 客显  
/// </summary>  
public class CustomerDisplay
{
    #region 成员变量


    public string spPortName;
    private int spBaudRate;
    private StopBits spStopBits;
    private int spDataBits;
    private CustomerDispiayType dispiayType;
    #endregion --成员变量


    #region 属性
    /// <summary>  
    /// 客显发送类型  
    /// </summary>  
    public CustomerDispiayType DispiayType
    {
        get
        {
            return dispiayType;
        }
        set
        {
            dispiayType = value;
        }
    }
    #endregion --属性


    #region 构造函数
    /// <summary>  
    /// 构造函数  
    /// </summary>  
    /// <param name="_spPortName">端口名称(COM1,COM2,COM3...)</param>  
    /// <param name="_spBaudRate">通信波特率(2400,9600....)</param>  
    /// <param name="_spStopBits">停止位</param>  
    /// <param name="_spDataBits">数据位</param>  
    public CustomerDisplay(string _spPortName, int _spBaudRate, string _spStopBits, int _spDataBits)
    {
        this.spBaudRate = _spBaudRate;
        this.spDataBits = _spDataBits;
        this.spPortName = _spPortName;
        this.spStopBits = (StopBits)(Enum.Parse(typeof(StopBits), _spStopBits));
    }
    #endregion --构造函数


    #region Method
    #region 公共方法


    /// <summary>  
    /// 数据信息展现  
    /// </summary>  
    /// <param name="data">发送的数据(清屏可以为null或者空)</param>  
    public void DisplayData(string data)
    {
       

          SerialPort serialPort = new SerialPort();
            serialPort.PortName = spPortName;
            serialPort.BaudRate = spBaudRate;
            serialPort.StopBits = spStopBits;
            serialPort.DataBits = spDataBits;
      
            if (!serialPort.IsOpen)
            {
                serialPort.Open();
            }
            serialPort.BaseStream.Flush();

            //先清屏
            serialPort.Write(((char)12).ToString());
      
            //指示灯
            string str = ((char)27).ToString() + ((char)115).ToString() + (((int)this.DispiayType)).ToString();
            serialPort.Write(str);
         

            //发送数据
            if (!string.IsNullOrEmpty(data))
            {
                serialPort.Write(((char)27).ToString() + ((char)81).ToString() + ((char)65).ToString() + data + ((char)13).ToString());
             
            }

            serialPort.Close();
         

        }

    }


    #endregion --公共方法
    #endregion --Method
}


/// <summary>  
/// 客显类型  
/// </summary>  
public enum CustomerDispiayType
{
    /// <summary>  
    /// 清屏  
    /// </summary>  
    Clear,
    /// <summary>  
    /// 单价  
    /// </summary>  
    Price,
    /// <summary>  
    /// 总计  
    /// </summary>  
    Total,
    /// <summary>  
    /// 收款  
    /// </summary>  
    Recive,
    /// <summary>  
    /// 找零  
    /// </summary>  
    Change

}

调用:

            CustomerDisplay display;
                try
                { 
                      display= new CustomerDisplay(“COM1”,2400,System.IO.Ports.StopBits.One.ToString(), 8);

                        //收款
                        display.DispiayType = CustomerDispiayType.Recive;
                          
                    }
                    display.DisplayData("3.24");


                }
                catch (Exception ex) 
                { 
                    MessageBox.Show(ex.ToString());
                }




  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值